안녕하세요 시더입니다.


오늘의 주제는 LCD 모듈입니다. 제가 맨 처음에 다루었던 부품인데 왜 지금 이야기가 나오냐구요? 


최근에 후배가 도움을 요청했습니다. "LCD 부품 구입한게 작동을 안해요 고장난것 같아요" 저는 늘그렇듯


"처음부터 다시해봐.. 그래도 안되?"라고 답변했죠. 이런식으로 몇번 이야기가 오고가다 보니 이상하더군요.


대부분의 부품 판매하는 곳에서 기본 예제와 사용법을 적어두니 따라하기만 하면 될거고 LCD가 핀이 많아서 그렇지


딱히 어려운게 아닐텐데.. 그래서 테스트를 해봤습니다.



어라.. 저도 안되네요 하하하.. 그렇수도 있지 예전에 사용했던 LCD는 인터페이스 보드를 안써서 제가 핀을 잘못 


꼽았나 싶었습니다. 다시 확인해도 저 상태! 슬슬 긴장되더군요,


일단 인터페이스 보드를 사용하기 때문에 데이터핀은 2개가 됩니다. 그리고 I2C 를 사용하게 되기 때문에 UNO보드


기준으로 아날로그 4(SDA)번 5(SCL)번을 사용합니다. 나머지 2개는 vcc와 gnd구요.


이상하다 싶어서 검색찬스를 사용합니다. 그러다가 문제를 찾았습니다.


http://cafe.naver.com/arduinostory/42043 


에 적혀있는 내용을 요약하면 "인터페이스 보드에 사용하는 칩에 따라 어드레스 주소가 다르다." 라는거죠.


설마 해서 바로 확인을 해봤습니다.



PCF8574AT 네요.. 0x27 쓰면 안되고 0x3f 로 써야합니다. 바로 소스를 수정해서 동작시켜 봅니다.



아! 잘되네요..


문제점은 칩에 따른 주소값이 문제로 판별됬습니다.


PCF8574T 는 LiquidCrystal_I2C lcd(0x27,16,2);

PCF8574AT 는 LiquidCrystal_I2C lcd(0x3f,16,2);


로 사용하면 됩니다. 혹시나 해서 구입했다는 사이트 가봤는데 0x27로 사용해야 한다고 적혀 있더군요. 맙소사


Posted by 시더
,