1. 1602 Character LCD (16×2, LiquidCrystalDisplay 1602 V1)
1602 Character LCD 모듈 정보 : http://cafe.naver.com/mpucafe/2862
1602 Character LCD 배선 및 아두이노 연결 : http://cafe.naver.com/mpucafe/2863
이 모듈만 쓰기에는 핀을 너무 많이 차지하고(8개 정도?) 배선도 복잡해져서 LCD Interface Converter 를 사용했습니다. 이걸 사용하면 I2C 인터페이스를 사용해서 LCD를 제어하게 해주며, 단 4개 선으로 LCD를 조작할 수 있습니다. LCD 와 인터페이스 모듈을 땜질해둡니다.
제품사양
1. 공급전압 : DC 2.5-6V
2.. I2C 프로토콜 지원
3.. 점퍼 스위치가 있어서 LCD의 백라이트을 ON/OFF 제어 가능합니다.
4.. 가변저항 있어서 LCD 명암을 조절할수 있습니다.
5. I2C 주소 초기값 : 0x27
6. 크기: 41.5mm (L) * 19mm (W) * 15.3mm (H)
7. 무게 : 5g
8. PCB 색상: Black
9. I2C 주소 초기값 : 0x27
2. 연결방법
LCD Interface Converter | Arduino Uno Board |
GND | GND |
VCC | 5V |
SDA | A4 (아날로그 4번핀) |
SCL | A5 (아날로그 5번핀) |
3. 코드 (스케치)
먼저 LCD 용 라이브러리를 설치해야 합니다. 아래 링크에서 라이브러리 다운로드 받은 뒤 압축을 풀고 두 개의 폴더를 (아두이노 설치경로 / libraries / ) 여기에 복사해 줍니다. 그리고 아두이노 IDE를 다시 시작하고… 파일 > 예제 > LiquidCrystal_I2C1602V1 > HelloWorld 를 여세요.

//Compatible with the Arduino IDE 1.0 LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x20 for a 16 chars and 2 line display
void setup()
void loop() |
4. 동작방법
LCD에 Hello, world! 가 보이면 성공입니다.
추가로 LCD를 제어하기 위해 다음과 같은 명령어를 사용할 수 있습니다.
lcd.backlight | LCD 백라이트 on |
lcd.nobacklight | LCD 백라이트 off |
lcd.setCursor(3,0) | 커서를 0번째 라인 4번째 문자로 이동 |
lcd.print("xxxxx") | 문자열 xxxxx 를 출력 |
lcd.write(char) | 문자 하나를 현재 커서에 출력하고 커서를 다음 위치로 이동 |
lcd.clear | 화면 삭제 |
아래 링크로 가시면 이 함수들 사용한 예제들을 보실 수 있습니다.
http://arduino-info.wikispaces.com/LCD-Blue-I2C
15 thoughts on “1602 캐릭터 LCD(16×2) 사용법, 예제 소스”
$45 스마트 워치 만들기 ($45 Smart Watch DIY How-To) | Hard Copy Arduino
(2013년 12월 7일 - 5:52 오후)[…] converter를 붙여둬서 4개선만 아래 순서대로 연결하면 됩니다. 상세정보는 [여기를] […]
블루투스를 이용한 아두이노-안드로이드 채팅 | Hard Copy Arduino
(2014년 3월 9일 - 12:20 오후)[…] LCD character 모듈 연결방법 : http://www.hardcopyworld.com/ngine/aduino/index.php/archives/181 […]
송정훈
(2015년 5월 22일 - 10:38 오전)저기 회로도에 lcd 연결을 하려고하는데 scl sda가없는데 어떻게 연결 해야 할까요??
TORTUGA
(2015년 5월 22일 - 4:04 오후)아래 링크에 연결 방법이 상세히 나와 있습니다.
https://learn.adafruit.com/character-lcds/wiring-a-character-lcd
http://cafe.naver.com/mpucafe/2863
아두이노 온도 센서 -> LCD 출력 - ABCD
(2015년 12월 2일 - 3:35 오후)[…] 참고 사이트 (라이브러리 다운) : http://www.hardcopyworld.com/ngine/aduino/index.php/archives/181 […]
남서현
(2016년 7월 22일 - 11:30 오후)안녕하세요? 제가 만들어 주신 튜토리얼을 보고 따라해 봤는 데 LCD에서 Hello World 가 떠야 하는 데 H만 뜨네요. 해결해 주실 수 있을 까요?
익명
(2017년 7월 21일 - 9:30 오전)void printLCD( LiquidCrystal_I2C lcdm , char *str , int row ){
for(int i=0 ; i<strlen(str) ; i++){
lcdm.setCursor(i , row);
lcdm.print(str[i]);
}
}
이런식으로 함수를 만들어 사용하셔요
guest
(2016년 7월 31일 - 7:54 오후)다음 경로의 라이브러리를 이용하면 잘 동작합니다.^^
https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
서종원
(2016년 8월 19일 - 7:25 오후)int cnt = 999;
카운트 변수를 넣어서 변화를 찍어 볼수 있나요
lcd.print(cnt);
이렇게 하면 출력이 될까요 ㅠㅠ
김기범
(2016년 11월 15일 - 8:22 오후)계속해도 lcd에 네모 밖에 안나오는데……
익명
(2017년 3월 26일 - 12:53 오후)i2c scanner를 사용해서 device address를 검색해보세요. 제껀 0x3F가 나오더군요 예제엔 0x27
guest
(2016년 11월 18일 - 10:09 오후)저도 계속해서 lcd 네모밖에 안나오는데
송영택
(2017년 5월 24일 - 3:21 오후)지금 현재 wemos d1 모델을 사용하고 있는 유저 입니다. 위에 언급하신 디스플레이 모듈을 사서 사용하는데 라인을 정확하게 사용하고 제공된 코드도 아래와 같이 사용했는데 문자가 출력이 안되네요 ㄷ.ㄷ 답변해주시면 감사하겠습니다
#include // I2C control library
#include // LCD library
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
lcd.begin(16,2);
lcd.init();
lcd.backlight();
lcd.setCursor(5, 0);
lcd.print(“HELLO”);
lcd.setCursor(5, 1);
lcd.print(“WORLD”);
}
void loop() {
}
아두이노 & clcd – 처리의 블로그
(2017년 5월 25일 - 7:01 오후)[…] 클릭하삼 […]
김진
(2018년 1월 22일 - 9:39 오후)‘class LiquidCrystal_I2C’ has no member named ‘init’ 이렇게 메시지가 뜨는데 어떻게 해결하나요