以前、ブレッドボードに作成したUSBマトリクスLEDディスプレイをブレッドボードに実装してみた。
|
左がUSB-UART変換モジュール、中央にマトリクスLED、右にAtmega8、上部にISPコネクタ |
|
基板ウラ面 |
動作風景
感想など
どう考えても結線がクロスするので最初から細めの耐熱ワイヤを使って繋いでいったのだけど、
Atmega8のポートとマトリクスLEDの端子をもう少し考慮して、
マトリクスLEDの端子間にAtmega8を配置すればもっと綺麗に配線できた気がする。。。
プログラムは以前作成したものを使ったが、なぜだか特定のビットパターンをUSARTで受信すると暴走するので
少し直した(簡単なパターン送信Rubyスクリプトも追加)。
直した点は
- USART_RXC_vectの中でフレームエラーをチェックしてる部分を削除
- UCSRBの送信フラグTXENを0に
フレームエラーが一度発生した際にUDRを読み込まずに延々とフレームエラーで割り込みがかかり続けたのではないかと想像。
次はプログラムを修正して待機モードを作成しようかと、
- 待機モード中は幾何パターンとかビットマンとかライフゲームとか適当に表示
- USART受信したらしばらく受信パターン表示
- 最終受信から適当な時間経過したら待機モード移行