7セグ時計をつくってみる-2

回路設計中

うちにある安価なマイコンは、PIC16F84とその後継の628A/648A/818/819、多ピンの877A、AVRのTINY2313Aの低電圧バージョンとarduino UNOのメインプロセッサのmega328である。
他にトラ技の基板もあるけど、一番しょぼいH8ですら時計にはちょっとハイスペック過ぎるので使わない。


で、そのうち時計用のサブクロックが使えるのは628A以降のPIC。
819はA/Dコンバータなど不要な機能が入ってるので、必然的に628Aか648Aになる。違いはメモリとフラッシュの量だけ。
こいつをメインクロックは内蔵4Mhz、時計はサブクロックの32Khzで動かす。
AVRの場合、時計にするなら高速で正確な窓付きで調整のできる水晶発信器を使い、タイマー2あたりで思いっきり分周かける。めっさ高価なんで無理。
意外にも、そんなところに弱点が。AVR残念。むむむ。


部品箱を引っ掻き回したところ、暗いアノードコモンの7セグがでてきたので、それを使うことにしてみる。コロンやアラームインジケータにする普通の3φLEDは、高輝度のものしかないので、その部分だけ抵抗大目にいれてます。
0.5Fの電気二十層コンデンサは、瞬断対策のバックアップ電源として利用。
検出回路はPICの入力専用のピンにつながってます。ここはST入力なので、ダイオード2本で済ませず、まじめにTrいれてます。で、電源断を検出したらLEDをすべて消して、1分おきに5回ブザーならします。


なぜそんな機能が必要かというと、PC周りやテレビ周りの構成を変えるときや、掃除をするときにコンセントを抜きますが、それをやるとまたいちいち時刻設定をする必要があります。
めんどくさい。
...というのは、こじつけに過ぎず単にスーパーキャパシタを搭載したハイパークロックを作ってみたいだけです。
ベーゴマに対するベイブレードみたいなもんです*1
しかし、コンデンサ買ったの6年前。充電能力はあるのか?
まあやってみよう。


スイッチ4本の部分は、真ん中の:の表示の時に入力に切り替えて、状態を読み込みます。
カソードコモンのときは、どうにもならなかったところが、アノードコモンだとらくらくです。
なんか致命的なミスがありそうな気がしないでもないけど、やってみないことには身につかない。


あとはICSPで書き込みができるように、適切にダイオード入れたりなど修正かけて終了。
修正できないなら、ジャンパピンで切り離すくらいはやってみよう。



時計は毎日使うものだから。
部品を新たに買い足さないなら作っても損はしないさ。

*1:違うか…