본문 바로가기

Arduino

Arduino + 8x8 Dot matrix - 2 (문자열 스크롤) 아두이노 + 도트매트릭스


Hello World 중에 난이도 갑ㅎㅎ



지난번에 아두이노의 6개의 핀으로 두개의 74HC595 칩을 컨트롤 하던것을 바로 잡아서
세개의 핀으로 컨트롤 하도록 수정했습니다.
원래 이 방법이 직관적이고 올바른(?) 방법입니다. ㅎㅎ

연결은 74HC595의 9번핀(Serial Out) 을 두번째 74HC595의 14번핀(Serial data input)에 연결해주면 됩니다.

그리고 아두이노와 연결되는 11, 12번핀은 공통으로 와이어링 시키면 됩니다.



출처: http://www.arduino.cc/en/Tutorial/ShiftOut
위 그림에서 LED대신에 DotMatrix의 핀이 대응하도록 연결하면 됩니다.

위 동영상의 스케치 입니다.



Arduino.cc 의 Tutorial 에 있는 ShiftOut() 구현함수를 기본으로 작성했습니다.
(아두이노IDE에 기본적으로 제공하는 shiftOut() 함수가 있어서 그걸로 교체 했습니다. 속도에 더 유리합니다.)
시프트 연산 오랜만에 하려니 무척 헷갈리네요.

도트매트릭스는 오래된 기술이므로 스크롤 등에 최적화된 코드가 많이 있을거라 생각됩니다.
제가 만든건 단순 삽질의 산물이므로 개선해야 할 코드들이 있을거에요. ㅎㅎㅎ

dotfont.h 헤더파일의 폰트는 직접 만들어서 공개한 분이 계서서 아래 링크에서 받았습니다.

http://forum.osdev.org/viewtopic.php?f=2&t=22033&start=0&sid=d8da9a564483052518f8d632556c617f


8x8 도트 매트릭스를 그리기 위한 툴들이 있던데요.
이곳은 웹에서 바로 그릴 수 있어서 편하더군요.
http://www.pial.net/post/8x8-Dot-matrix-font-generator-based-on-javascript-and-HTML.aspx


도트매트릭스 회로상에서 개선해야할 부분은 도트마다 밝기가 조금씩 다르게 나오는 점인데
이건 트랜지스터 어레이를 쓰면 된다고 하니 알아봐야 겠습니다.