心機一転して再製作。
ディスプレイ基板
過去に製作を開始したものの続きが繋がらずに頓挫したプロジェクトから設計を一新して再度製作を開始しました。
以前はMPUによるダイナミックスキャンを行う設計でしたが、表示部をLED/KEYドライバ・スキャナのHT16K33を用いる事で表示に関して設定するだけでMPUが解放される方針へ変更。
そのためディスプレイ基板にはLEDの電流制限抵抗やセグメントデコーダなどは無く、純粋にマトリクス配線した表示素子だけの実装になりました。時刻設定のキー入力まで任せてしまおうかと画策中。
ROW 0〜7を使って7セグメントLEDとコロン表示を、ROW8〜11を使ってバイナリ表示に割り当てます。COL 0〜7ですが、時分秒表示なので各2桁ずつのCOL 0〜5の6桁を時間表示に振り当て、COL 6・7の残り2桁分をコロン表示に割り当てます。
時刻管理を32.768kHzの水晶発振子を使うのが時計製作の一般的な時刻生成の方法ですが、今回はさらに楽をするためRTCデバイスを使って時間を刻む部分を外部回路で実現します。
RTCには中華の激安ジュールで入手したDS3231搭載のI2C接続モジュールを利用する予定です。
クロックが正確で無くても良くなりますのでArduiono部分は16MHzの水晶発振子を使わず内部発振の8MHzを用いるArduino MiniCoreをファームウェアにしてMPU部分の実装を行います。これで水晶発振子に使っていたPB6(XTAL1)とPB7(XTAL2)が通常のI/O端子として利用できるようになります。
とりあえずATMega328PのArduino MiniCoreメイン基板とHT16K33基板を製作していきます。
・バイナリクロック(その1)この記事
・バイナリクロック(その2)
・バイナリクロック(その3)
・バイナリクロック(その4)
・バイナリクロック(その5)
・バイナリクロック(その6)
・バイナリクロック(その7)
・バイナリクロック(その8)
・バイナリクロック(その9)
・バイナリクロック(その10)
・バイナリクロック(その11)