아두이노 기본실습 7 - 1602 텍스트 LCD실험

1602 텍스트 LCD는 16줄 2라인의 영문텍스트를 표시가능한 LCD로서 일반적으로 가장 많이 사용됩니다. 최초의 1602 LCD는 HD44780컨트롤러를 사용하였으나 현재는 많은 호환칩들이 개발되어 동일한 기능의 LCD를 저렴한 가격으로 사용가능하게 되었습니다.

여기서는 아두이노보드를 사용하여 LCD에 텍스트를 표시하는 실험을 합니다.

아래는 일반적인 1602 텍스트 LCD 모습입니다.

 

1602 LCD의 동작전압은 4.5~5.5V이며 구동전류는 2mA정도입니다. 아래는 1602 LCD 핀설명입니다.

1602 LCD 핀설명

VSS와 VDD핀은 전원공급핀입니다. VSS에 GND를 VDD에 5V를 공급해주면됩니다.

3번 V0핀은 LCD의 contrast(대비)를 조절하는 핀입니다. 일반적으로 10K옴이나 5K옴 가변저항을 연결하여 가변하여 글자가 선명해지도록 조절하면 됩니다. 가변저항이 없는 경우 1K옴정도를 사용하여 테스트합니다. LCD의 제조사에 따라 contrast가 달라질 수 있으므로 가변저항을 사용하시는 것이 좋습니다.

RS핀은 DB0-DB7까지의 데이터핀의 용도를 정합니다. HIGH일 경우 데이터를 읽고 쓰는 용도로 사용하며 LOW일 경우는 명령어를 쓰거나 상태를 읽어오는 용도로 사용되게 됩니다.

R/W핀은 데이터핀의 읽기 또는 쓰기 모드를 결정합니다.

6번 E핀은 데이터를 주기위한 신호핀입니다. DB0-DB7핀은 데이터를 읽고 쓰는 핀이며 15번 16번 핀은 백라이트(옵션) 전원핀입니다.

아두이노에서는 LCD 사용을 위한 라이브러리를 제공하므로 위의 컨트롤로직을 직접 구현하지 않고도 쉽게 LCD에 텍스트를 표시할 수 있습니다.

결선방법

본 실험을 위해서는 먼저 1602 LCD를 16핀 수컷해더로 납땜을 해야 합니다. 아두이노 우노보드와의 결선은 VSS와 VDD를 GND와 5V에 연결하고 V0핀은 1K옴 저항 또는 10K 가변저항을 연결하는 저항의 반대편은 GND와 연결합니다.

R/W 5번핀은 GND에 바로 연결하고 RS, E, DB4, DB5, DB6, DB7은 아두이노 우노보드의 7, 8, 9, 10, 11, 12번핀에 각각 연결합니다.

백라이트가 있는 모델의 경우 15번핀은 5V에 16번핀은 GND에 연결하시면 됩니다.

 

 

소스코드

아래는 소스코드입니다. 아두이노 IDE에 붙여넣기 하여 컴파일하고 업로드해봅니다.

// 아두이노 1602 텍스트LCD 실험
#include <LiquidCrystal.h>

LiquidCrystal lcd(7,8,9,10,11,12);//RS,E,DB4,DB5,DB6,DB7

void setup()
{
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.write("WWW.SCIPIA.CO.KR");
  lcd.setCursor(0,1);
  lcd.write("LCD1602 TEST OK!");
}

void loop()
{
}

아두이노 프로그램에서 스케치->라이브러리 가져오기 메뉴가 있습니다. 여기에서 사용하고자 하는 라이브러리를 선택하면 자동으로 해당하는 라이브러리의 include 문을 추가해줍니다.

 

아래는 실제 실행화면입니다.