LCD

LCD

이 문서에서는 LCD를 사용하여 회로를 구성하는 방법을 다룬다.

LCD란

LCD는 Liquid Crystal Display의 약자로 액정표시장치를 말한다. 액정이란 액체처럼 유체의 성질을 가지면서 고체처럼 광학적 성질을 가지는 물질로 전기적 신호를 가해 원하는 방향으로 배열하여 빛을 투과시키거나 차단시킬 수 있다.

LCD는 다음의 특징을 가진다.

  • 얇다.

  • 가볍다

  • 소비전력이 적다

  • 시야각이 제한적이다

이 문서에서는 I2C LCD 모듈을 사용한다.

LCD 라이브러리 추가

LCD는 기본적으로 제공되는 라이브러리로 이용할 수 없다. 설치를 위해 아래 링크를 클릭하여 라이브러리 제공 사이트로 이동한다.

라이브러리 저장소

Download ZIP 을 눌러 다운로드를 수행한다.

스케치 메뉴의 라이브러리 포함하기에 있는 Zip 라이브러리 추가를 실행하여 다운로드한 압축파일을 지정하면 해당 라이브러리를 이용할 수 있다.

결선도

GND to GND
VCC to 5V
SDA to A4
SCL to A5

샘플 코드(스캐닝)

LCD의 연결 주소를 알아내기 위해 다음 코드를 실행한다.

#include <Wire.h>
 
void setup() {
  Serial.begin (9600);
 
  while (!Serial){}
 
  Serial.println ();
  Serial.println ("I2C scanner. Scanning ...");
  byte count = 0;
 
  Wire.begin();
  for (byte i = 1; i < 120; i++) {
    Wire.beginTransmission (i);
    if (Wire.endTransmission () == 0) {
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);
      Serial.println (")");
      count++;
      delay (10);  // maybe unneeded?
    } // end of good response
  } // end of for loop
  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");
}  // end of setup
 
void loop() {}

컴파일

Ctrl+R 또는 스케치 메뉴의 확인/컴파일을 눌러 컴파일을 진행한다.

업로드

Ctrl+U 또는 스케치 메뉴의 업로드를 눌러 업로드를 진행한다.

실행 결과

시리얼 창에 다음과 같이 주소 스캔의 결과가 나타난다.

I2C scanner. Scanning ...
Found address: 39 (0x27)
Done.
Found 1 device(s).

샘플 코드(출력)

간단한 출력을 수행하는 코드를 작성한다.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
  // initialize the LCD
  lcd.begin();

  // Turn on the blacklight and print a message.
  lcd.backlight();
  lcd.print("Hello, world!");
}

void loop()
{
  // Do nothing here...
}

컴파일

Ctrl+R 또는 스케치 메뉴의 확인/컴파일을 눌러 컴파일을 진행한다.

업로드

Ctrl+U 또는 스케치 메뉴의 업로드를 눌러 업로드를 진행한다.

실행 결과

LCD 화면에 Hello, world!가 출력되는 것을 확인할 수 있다. 보이지 않을 경우 후면에 있는 가변저항을 십자 드라이버로 조절하여 밝기를 변화시킨다.

LCD 제어 명령

LCD를 제어하기 위하여 제공하는 라이브러리의 명령은 다음과 같다. 공식 문서 보기

lcd.begin

LCD 모듈 초기화 및 크기 지정 명령

lcd.begin(폭, 높이);

lcd.print

LCD에 글자를 출력하는 명령

lcd.print(값);

lcd.init

LCD 초기화 명령

lcd.init();

lcd.backlight

LCD의 백라이트를 키는 명령

lcd.backlight();

lcd.noBacklight

LCD의 백라이트를 끄는 명령

lcd.noBacklight();

lcd.display

LCD에 표시된 내용을 보이는 명령

lcd.display();

lcd.noDisplay

LCD에 표시된 내용을 숨기는 명령

lcd.noDisplay();

lcd.cursor

LCD에 커서를 표시

lcd.cursor();

lcd.noCursor

LCD에 표시된 커서를 제거

lcd.noCursor();

lcd.setCursor

LCD의 특정 좌표로 커서 이동

lcd.setCursor(x위치, y위치);

lcd.home

LCD를 (0, 0)좌표로 이동

lcd.home();

lcd.clear

LCD의 모든 내용을 지우고 커서를 (0, 0) 위치로 이동

lcd.clear();

Last updated