[아두이노 강좌] 11. LCD 디스플레이 연결하기

본 게시글에서는 character LCD 디스플레이를 결선하고 사용하는 방법에 대하여 설명하도록 하겠습니다.

overview.jpg

사용되는 디스플레이는 LED 백라이트가 있으며, 두개열에 16개의 문자를 표시할 수 있습니다. 본 강좌에서는 LCD 라이브러리를 사용하는 아두이노 예제 프로그램을 실행하여 보고 다음 강좌에서는 센서를 이용하여 온도나 조도를 LCD에 표시하여 보도록 하겠습니다.

브레드보드 레이아웃

LCD 디스플레이는 동작을 위해서 6개의 아두이노 핀이 필요하며 6개의 핀은 모두 디지털 출력으로 셋팅되어야 합니다. 5v와 GND 연결은 당연히 필요하겠죠.

fritzing.jpg

위의 그림과 같이 결선합니다. 포텐셔미터가 하나 연결되어 있는데, 이 포텐셔미터는 LCD의 constrast를 조절하는데 사용이 됩니다.

LCD에 핀 납땜하기

LCD가 납땜이 되어 있지 않다면 납땜을 합니다.

soldering.jpg

아두이노 코드

아두이노 IDE는 LCD 라이브러리를 사용한 예제코드를 가지고 있습니다. IDE에서 Examples --> Liquid Crystal --> HelloWorld 를 찾아 보십시오.

이 예제는 우리가 사용하는 핀과 다른 핀을 LCD용으로 사용하므로 코드를 수정하여 주어야 합니다. 이 부분은 사용하고자 하는 LCD의 종류에 따라 다를 수 있으므로 LCD 데이터 쉬트를 참고하여 고쳐주어야 합니다.

예제에서 아래의 코드를 찾아서,

  1. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

아래와 같이 변경합니다:

  1. LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

코드를 아두이노에 업로드하면, 다음과 같이 'hello, world'가 디스플레이 되는 것을 볼 수 있습니다.

에제 코드에서 첫번째로 나오는 것은 아래의 코드입니다.

  1. #include <LiquidCrystal.h>

이 코드는 아두이노에 LCD라이브러리를 사용할 것이라고 알려주는 코드입니다. 다음에 나오는 코드는 우리가 수정한 코드로 아두이노와 LCD가 어떤 핀으로 연결되었는지를 알려주는 역활을 합니다.

  1. LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

함수에 넘겨주는 파라메터는 다음과 같습니다.

디스플레이 핀이름 디스플레이 핀번호 아두이노 핀
RS 4 7
E 6 8
D4 11 9
D5 12 10
D6 13 11
D7 14 12
이 예제를 업로드하고 글자가 나오지 않는다면 포텐셔미터를 조절하여 글자가 표시될때까지 명암을 조절하십시오.

setup함수에서는 다음의 두개의 명령이 있습니다.

  1. lcd.begin(16, 2);
  2. lcd.print("hello, world!");

첫번째 줄은 디스플레이가 가진 행과 열 정보를 LCD라이브러리에 알려주는 코드이며, 두번째 줄은 "hello, world"를 LCD에 디스플레이하라는 코드입니다.

loop함수에는 두개의 명령이 있습니다.

  1. lcd.setCursor(0, 1);
  2. lcd.print(millis()/1000);

첫번째 명령은 다음 텍스트가 위치할 커서를 설정하는 명령입니다. 여기서는 행이 0, 열이 1이 되겠네요. 두번째 줄은 밀리세컨드의 숫자를 출력합니다.

Comments