[3D프린터개발산업기사 실기] 아두이노 I2C LCD 문자 출력
2019. 8. 21. 12:12ㆍ공대남편/3D프린터개발산업기사
지난 실기 시험에서 1602 I2C LCD가 사용되었다고 하여, 이를 기준으로 작성하였습니다.
※ 1602 I2C LCD : 16행 2열의 문자를 출력할 수 있고, I2C 통신을 할 수 있는 LCD.
※ LiquidCrystal_I2C 라이브러리 사용
회로 구성
LCD 후면을 보면 I2C 모듈(검은색 보드)이 부착되어 있는 것을 볼 수 있다. I2C 모듈이 부착된 LCD는 2개 핀(SDA,SCL)만 이용해서 문자를 출력할 수 있다.
회로는 다음과 같이 구성한다. 아두이노 보드의 종류에 따라서 연결하는 핀 번호가 다르니 유의한다. (실기에서 사용하는 Mega를 기준으로 작성하였다.)
LCD | 아두이노(Mega) |
GND | GND |
VCC | 5V |
SDA | D20 (SDA) |
SCL | D21 (SCL) |
코드 작성
LCD에 문자를 출력하기 위해서는 LiquidCrystal_I2C.h 라이브러리를 추가하여 사용할 수 있다. 해당 라이브러리는 [스케치] → [라이브러리 포함하기] → [라이브러리 관리]에 들어가서 LiquidCrystal I2C를 검색하여 설치한다. (Frank de Brabander가 만든 것 사용)
우선 가장 기본이 되는 "Hello World!"를 출력해보자. 코드는 다음과 같이 작성하여 업로드 한다.
#include <LiquidCrystal_I2C.h> //라이브러리 추가
LiquidCrystal_I2C lcd(0x27,16,2); //0x27은 I2C 주소, 16열, 2행 설정
void setup() {
lcd.init(); //LCD 초기화
lcd.backlight(); //백라이트를 켠다
lcd.print("Hello World!"); //문구 출력
}
void loop() {
}
2번째 줄에 "lcd"라는 이름의 객체를 생성해 주었다. 변수는 I2C주소, 열 개수, 행 개수를 입력해야 하는데, I2C 주소는 일반적으로 0x27 또는 0x3F를 사용한다.
이번에는 여러 줄에 반복되는 문구를 출력해보자. 코드는 다음과 같이 작성하여 업로드한다.
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
lcd.init();
lcd.backlight();
lcd.print("Hello World!"); //초기 문구 출력
delay(1000);
}
void loop() {
lcd.clear(); //화면 전체 삭제
delay(1000);
lcd.setCursor(0,0); //1열,1행 위치로 이동
lcd.print("Techcouple"); //반복 문구 출력
delay(1000);
lcd.setCursor(0,1); //1열, 2행 위치로 이동
lcd.print("LCD Test..."); //반복 문구 출력
delay(1000);
}
'공대남편 > 3D프린터개발산업기사' 카테고리의 다른 글
[3D프린터개발산업기사 실기] 로터리 엔코더 스위치 사용하기 (0) | 2019.08.26 |
---|---|
[3D프린터개발산업기사 실기] 스위치와 디바운싱 (0) | 2019.08.23 |
[3D프린터개발산업기사 실기] 시험 개요 (0) | 2019.08.21 |
[3D프린터개발산업기사 필기] 3D프린터 교정 및 유지보수 (0) | 2019.08.20 |
[3D프린터개발산업기사 필기] 3D프린터 프로그램 (0) | 2019.08.19 |