도트 매트릭스란 지하철 전광판에서 볼수 있는 점점으로 글씨나 그림을 표시하는 전자부품이다.
지하철(요샌 LCD 모니터가 많지만..)에서나, 술집 같은데 광고글씨 지나가는 것이다.
나 같은 경우에는 비트맨이라고 이런걸 만들기도 하고.. -> http://maxpulse.tistory.com/84
외모는 대충 보면 알것이고...
내부 회로는 아래와 같다.
이런 도트 매트릭스의 기본 동작은 아래와 같다.
LED는 발광다이오드이므로 순방향으로 전압이 걸릴때 켜지게 된다. 위 그림에서는 빨간선이 검은선보다 높은 전압이 걸린다면 켜지게 된다.
만약 위 그림과 같이 64개의 다이오드를 켜기위해서는 64개의 MICOM IO 핀이 필요할 수도 있다. 하지만 그것은 매우 번거로운 일이므로 메트릭스를 구현해서 LED를 켜게 된다.
그림을 보면 빨간선 8개와 검은선 8개가 LED들에 연결되어 있다. 빨간선이 5v , 검은선이 0v 라고 하자.(실제 다이오드에 걸리는 전압은 5v가 되면 안되므로 저항등이 필요하지만 여기서는 생략.)
만약 1번 검은색 선에 0v를 연결하고, 2~8번까지 선에 5v를 연결한다고 하자.
그리고 A에만 5v를 연결하고 B-H까지에는 0v를 연결하자. 그러면 어떤 다이오드가 켜지게 될까?
그러면 A1 다이오드만 켜지게 된다.
정리해보면
•8*8의 도트매트릭스에서 켤 줄을 선택한다. 1 ->2 -> 3 -> ..-> 8 ->1 순서대로 0v를 걸어준다.
•각 줄이 선택되면 그줄에 맞는 LED 신호를 A~H 핀에 출력한다.
•1,2번을 반복하면 8*8에 이미지가 완성이 된다.
•이때 눈으로 봤을때 깜빡이는 것이 보이는 것을 막기 위해서는 1초에 20~30번이상 깜빡이게 해야하므로 한줄이 켜지는 시간은 1/(8*20)초 정도가 되도록 해야 하는데...
그럼 대략 5ms 이하에 한번씩 LED를 켜는 줄을 바꿔주어야 한다.
이런 속도를 구현하기 위해서는 인터럽트를 이용하여 LED 줄을 제어하는 코드를 구현해야만 다른 시스템 동작에 영향을 주지 않는다.
그럼 대략 5ms 이하에 한번씩 LED를 켜는 줄을 바꿔주어야 한다.
이런 속도를 구현하기 위해서는 인터럽트를 이용하여 LED 줄을 제어하는 코드를 구현해야만 다른 시스템 동작에 영향을 주지 않는다.
•또한 매우 빠르게 LED가 깜빡이기 때문에 원래 정격보다 조금더 높은 전류가 흐르도록 하는게 좋다.
(LED는 반응 속도가 매우 빠르므로 큰 문제는 되지 않는다.)
중요한 문제는 일반적인 MICOM 포트는 LED 한개정도만을 켤수 있는 전류를 공급할수 있다.
하지만 위 회로를 보면 8개의 LED가 하나의 포트로 연결되어 있음을 알수 있다.
(LED는 반응 속도가 매우 빠르므로 큰 문제는 되지 않는다.)
중요한 문제는 일반적인 MICOM 포트는 LED 한개정도만을 켤수 있는 전류를 공급할수 있다.
하지만 위 회로를 보면 8개의 LED가 하나의 포트로 연결되어 있음을 알수 있다.
만약 저 상태 그대로 MICOM포트에 연결한다면 밝기가 충분하지 않을뿐아니라,
MICOM 포트가 고장날 수 있다.
따라서 TR을 사용하여 전류를 증폭하고 MICOM 포트를 보호하여야 한다.
이런 경우에 일반적으로 ULN2003, 2803 등의 TR 어레이를 사용하여 회로를 구성한다.
MICOM 포트가 고장날 수 있다.
따라서 TR을 사용하여 전류를 증폭하고 MICOM 포트를 보호하여야 한다.
이런 경우에 일반적으로 ULN2003, 2803 등의 TR 어레이를 사용하여 회로를 구성한다.