가전제품이나 전자 장치에서 간단한 정보를 표시하는데 많이 사용되는 것이 바로 액정 표시기 (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()함수는 문자열이나 상수(변수)값을 받는 것에 유의하자.
'하드웨어 > 아두이노' 카테고리의 다른 글
아두이노의 디지털 핀 두 개와 저항 하나로 터치 센서 구현 (1) | 2015.05.29 |
---|---|
아두이노의 LiquidCrystal 라이브러리 예제들 (1) | 2015.05.29 |
아두이노 servo 라이브러리로 서보 모터 제어하기 (0) | 2015.05.29 |
아두이노 라이브러리의 분류 (0) | 2015.05.29 |
아두이노 아날로그 출력(PWM) 주파수 바꾸기 (1) | 2015.05.29 |