본문 바로가기

[아두이노+랩뷰 컴파일러 ]I2C를 활용한 케릭터 LCD 활용하기

반응형

 시간이나 온습도 등등을 표시하기에 알맞기 때문에 캐릭터 LCD를 많이 사용한다. 연결하는 방법은 여러 디지털출력 채널로 연결하는 방법도 있지만 연결방식이 복잡하고 단선이 생기거나 하면 어디가 잘못됬는지 찾기도 어려워서 I2C 통신으로 연결해 보기로 한다.


[준비물]

아두이노

캐릭터 LCD(1602A LCD)

캐릭터용 I2C 어댑터(PCF8574AT)

점퍼케이블 4개


[연결방법]

16X2 LCD는 원래 아래와 같은 모양이다.


 그런데 Fritzing에 I2C 어댑터는 샘플이 없어서 I2C 통신으로 하는 디스플레이를 OLED를 예로 들었다.아두이노와 LCD간에 
파워핀과  I2C 통신 pin을 연결해주면 된다. 참고로 아두이노보드마다 I2C 핀이 다른데 Uno는  A4 (SDA), A5 (SCL)/ Mega, 20 (SDA), 21 (SCL) 이다.



 참고로 캐릭터 LCD와 I2C 어뎁터의 납땜은 아래 그림과 같이 연결했다.




[블럭다이어그램]

 1단계에서 초기화하는 방법이 포인트다. I2C주소 및 LCD의 특성을 확인해야한다. I2C주소는 기본으로 되어 있는 주소를 사용하면 되고, LCD는 SPEC SHEET를 확인해서 Enable핀, RW(읽기/쓰기 선택), RS(명령/데이터 레지스터 선택), D4~D7핀(LCD를 4-bit 모드로 Data I/O로 사용)을 입력하면 된다. PCF8574AT의 주소 X3F 이고 E,R/W,R/S핀은 2,1,0 이고 D4~D7번핀은 (4,5,6,7)이다.



[프런트패널]

대부분의 I2C LCD주소는 0x3F (63) or 0x27 (39)이다. 데이터시트를 확인해야한다.  


1. 해당 LCD의 문자수를 설정(columns) 

2. 해당 LCD의 라인수를 설정(rows)

3.  Arduino Compatible Compiler for LabVIEW에서 이 예제를 불러왔을 경우, Compile and Download를 클릭하면 된다. 그렇지 않을 경우 Tools>Arduino Compatible Compiler for LabVIEW in LabVIEW를 클릭하면 팝업창이 뜨고 거기서 Compile and Download를 클릭하면 된다.

4. LCD에 제대로된 값이 써지는지 확인




[동작모습]

정상적으로 연결 및 컴파일 되었으면 아래 그림과 같이 디스플레이된다.LCD에 적혀있는 핀번호가 LCD초기화에 사용되는 번호가 일치하지 않아서 LCD를 켜는데 애를 먹었다. I2C모듈과 LCD의 데이터시트를 꼭 확인해보고 똑같이 했는데도 안되면 구글을 통해 같은 구성으로 성공한 사람이 있는지 검색해보는 것도 하나의 방법인 것 같다.



*아두이노 코드 참고

https://github.com/tronixlabsAU/LCDbackpack/blob/master/PCF8574backpack.ino

반응형
-->