일단 닥치고 원문부터 읽어보지요.
http://www.suapapa.net/wordpress/?p=109&language=ko
확실히 LCD를 쓰면 남는 포트가 별로 없기에 나중에 기능을 추가할... 지는 모르겠지만 당장 포트가 아슬아슬하므로
기판부터 제작하기로 했습니다.
음? suapapa님이 만든 보드는 데이터선이 4갠데 내꺼는 8개네...
아... 이게 4bit 모드라는거를 이용해서 데이타선을 반으로 줄인다는거구나..
그런데 내꺼는 어떻게 줄이지 OTL
헤더 파일이 4bit 초기화를 시키는 것 같은데 그대로 갖다쓰고 땜질만 맞게 해 주면 되는 것 같기도 하고...
일단은 suapapa 님의 블로그를 참조해서 해 보려고 하는데, 잘 알지도 모르는 Arduino 보드를 간만에 다시 잡았더니
기억이 가물가물해서 일단 arduino 홈페이지 참조해서 기본부터 다시하기로 결정.
LCD 기본 레퍼런스
http://arduino.cc/en/Reference/LiquidCrystalConstructor
Syntax
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7) //4bit |
Example #include <LiquidCrystal.h> |
내가 갖고 있는 LCD의 데이터쉬트를 참조하여 핀 번호를 체크.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
GND |
5V |
Supply Voltage |
RS |
R/W |
E |
DB0 |
DB1 |
DB2 |
DB3 |
DB4 |
DB5 |
DB6 |
DB7 |
Anode (Backlight) |
K (Backlight) |
일단 DB0~DB7까지 모든 선을 다 연결하고 업로드해봤습니다.
그후 DB0~DB3을 빼고 다시 텍스트를 바꿔보니 제대로 나오는군요.
음.... 이거 첨에는 DB0~DB7 부터 무조건 다 연결해야 하는줄 알았는데 그냥 4선만 연결해도 나오는군요..
그렇다면 굳이 74HC595를 사용해야 할 만큼 포트가 모자라진 않는데,,, 이미 시작했으니 계속 진행해봅니다.
일단 LCD가 정상적으로 나오는 것을 확인했으니 suapapa님의 74HC595보드를 투입합니다.
핀이 일자형인 내 LCD 와는 달리, suapapa님은 병렬2열로 된 LCD로 만드셨기 때문에 포트의 위치가 다소 다르네요.
왼쪽의 3.3K 저항과 연결된 GND 핀과 그 아래의 다른 GND핀은 또 무엇인가? 하는 생각에 다시 자료를 뒤져봅니다.
suapapa님이 사용한 CLCD 의 데이터쉬트를 다시 찾아봤는데 핀 순서만 약간 다를 뿐 특별히 다른 문제는 없어 보이고
eagleCAD의 스키메틱을 보니 3.3k 저항은 LCD 콘트라스트를 위한 것이고 LCD의 RW 핀이 GND로 연결되는 것이군요.
재미없고 시간도 오래 걸리는 와이어링 작업이 끝났습니다.
사진에는 595보드의 10핀 커넥터가 실수로 반대로 꽂혀있음.
suapapa 님의 소스를 그대로 복사&붙여넣기 하고 업로드 했더니....
o: In function `__static_initialization_and_destruction_0':
|
에러가 매우 많이 나옵니다.
아... 헤더파일을 복사해놓질 않았;;
다운받은 후 옮기려고 보니.... 어느 폴더로 넣어야 하지? @_@ㅋ;;;;;;;;;;
examples 파일들을 참조하여 hardware\libraries\CLCD595 폴더를 만들고 파일들을 넣은 후 다시 시도해 보았습니다.
Binary sketch size: 4348 bytes (of a 7168 byte maximum)
|
업로드가 되긴 하는데 bitwrite 가 재정의되었다는 경고문이 나온다.
파일 두개에서 이중으로 정의되었다는 예기인 듯 한데...
하여간 업로드되긴 했는데 LCD는 나오질 않으니 문제로군요...
그러다가 3.3K 저항에 연결된 핀(LCD 콘트라스트 조정하는)이 제 LCD에서는 GND에 직결되어야 선명하게 나온다는 것을 생각하고
점퍼를 날려봤습니다.
사각박스가 나오긴 하지만 그래도 글자는 안나오네요....
경고문이 생각나서 CLCD595.cpp 의 해당 부분을 잠시 죽여놓고 다시 업로드 해 본 후
그래도 안되서 wiring.h 의 bitwrite 부분을 죽여놓고 업로드 해봤는데... 그래도 안됩니다.
음.... 이걸 고생하면서 해결할 것인가 아니면 그냥 DB4~DB7 만 연결해서 쓸것인가가 문제로군요...
'Completed > 전기 자전거' 카테고리의 다른 글
설계는 거의 끝났습니다. (0) | 2011.09.18 |
---|---|
자전거 진행상황. (5) | 2011.09.18 |
Arduino 부트로더 심기....실패 (0) | 2011.09.18 |
Arduino를 추가해 볼까... (0) | 2011.09.18 |
충전기 케이스 #3 (0) | 2011.09.18 |