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 를 여세요.
[wpdm_file id=14]
//Compatible with the Arduino IDE 1.0 //Library version:1.1 #include <Wire.h> // I2C control library #include <LiquidCrystal_I2C.h> // LCD library LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x20 for a 16 chars and 2 line display void setup() // Print a message to the LCD. 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 | 화면 삭제 |
아래 링크로 가시면 이 함수들 사용한 예제들을 보실 수 있습니다.
[…] converter를 붙여둬서 4개선만 아래 순서대로 연결하면 됩니다. 상세정보는 [여기를] […]
[…] LCD character 모듈 연결방법 : http://www.hardcopyworld.com/ngine/aduino/index.php/archives/181 […]
저기 회로도에 lcd 연결을 하려고하는데 scl sda가없는데 어떻게 연결 해야 할까요??
아래 링크에 연결 방법이 상세히 나와 있습니다.
https://learn.adafruit.com/character-lcds/wiring-a-character-lcd
http://cafe.naver.com/mpucafe/2863
[…] 참고 사이트 (라이브러리 다운) : http://www.hardcopyworld.com/ngine/aduino/index.php/archives/181 […]
안녕하세요? 제가 만들어 주신 튜토리얼을 보고 따라해 봤는 데 LCD에서 Hello World 가 떠야 하는 데 H만 뜨네요. 해결해 주실 수 있을 까요?
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]);
}
}
이런식으로 함수를 만들어 사용하셔요
다음 경로의 라이브러리를 이용하면 잘 동작합니다.^^
https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
int cnt = 999;
카운트 변수를 넣어서 변화를 찍어 볼수 있나요
lcd.print(cnt);
이렇게 하면 출력이 될까요 ㅠㅠ
계속해도 lcd에 네모 밖에 안나오는데……
i2c scanner를 사용해서 device address를 검색해보세요. 제껀 0x3F가 나오더군요 예제엔 0x27
저도 계속해서 lcd 네모밖에 안나오는데
지금 현재 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() {
}
[…] 클릭하삼 […]
‘class LiquidCrystal_I2C’ has no member named ‘init’ 이렇게 메시지가 뜨는데 어떻게 해결하나요