가전제품이나 전자 장치에서 간단한 정보를 표시하는데 많이 사용되는 것이 바로 액정 표시기 (liquid crystal display, LCD)이다. 크게 문자만을 표시할 수 있는 문자형과 선이나 도형 등 그래픽을 그릴 수 있는 그래픽형으로 나뉜다.

[그림 1] LCD 장치의 예

아두이노의 LiquidCrystal 라이브러리는 텍스트 액정(liquid crystal) 표시장치를 구동하기 위한 라이브러리이다. 이 라이브러리를 이용하기 위해서는 다음과 같이 프로그램 서두에 해당 헤더파일을 인클루드시켜야 한다.


#include <LiquidCrystal.h>

이 헤더파일에는 LiquidCrystal 이라는 클래스가 정의되어 있으며 다음과 같은 공용(public) 멤버함수들이 정의되어 있어서 쉽게 사용할 수 있다.

  • 생성자 : LCD 모듈과 아두이노의 연결 방식에 따라서 생성자를 사용하면 된다. 다음과 같은 네 가지 함수가 오버로드되어 있다.

       ❶ LiquidCrystal(rs, enable, d4, d5, d6, d7)

       ❷ LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)

       ❸ LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)

       ❹ LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)

보통은 핀수를 가장 적게 차지하는 ❶번 방식이 많이 사용된다.  멤버함수는 다음과 같다.


[표 1] LiquidCrystal 클래스의 멤버 함수들

멤버 함수

기능

void begin(row, col)

LCD를 초기화 한다.

void clear()

화면을 지운 후 커서를 처음 자리로 옮긴다.

void home()

화면은 그대로 나둔채로 처서만 (0,0)자리로 옮긴다.

setCursor(col, row)

커서를 (col, row)자리로 옮긴다.

byte write(data)

한 문자를 출력한다.

print(data, BASE)

문자열이나 변수 값을 출력한다.

createChar()

사용자 (그림)문자를 생성한다. (8개까지 가능함)

void cursor()

(밑줄)커서를 표시한다.

void noCursor()

커서를 표시하지 않는다

void blink()

깜박이는 커서를 표시한다.

void noBlink()

커서를 표시하지 않는다.

void display()

내용을 표시한다.

void noDisplay()

내용을 표시하지 않는다.(메모리에 내용은 남아 있음)

scrollDisplayLeft()

표시된 내용을 왼쪽으로 한 칸 이동한다.(회전)

scrollDisplayRight()

표시된 내용을 오른쪽으로 한 칸 이동한다.(회전)

void autoscroll()

기존 내용을 좌로 이동시킨 후 현재 내용을 표시.

noAutoscroll()


void leftToRight()

문자 표시 방향을 왼쪽에서 오른쪽으로 설정한다.

void rightToLeft()

문자 표시 방향을 오른쪽에서 왼쪽으로 설정한다.

여기서 write()함수는 입력을 아스키(ASCII)값으로 받으며 print()함수는 문자열이나 상수(변수)값을 받는 것에 유의하자.



Posted by 살레시오
,