LEDで時計を作ってみた

ふと時計が欲しくなったのでPICを使って時計を作ってみました。
ただ普通に7セグメントLEDを使って作るだけじゃ面白くないと思って、いくつか変わった特徴を持つように製作しました。


こんなのができました。


ちょっと変わってる点
・7セグメントLEDは使わず、普通のLEDで数字を構成
・秒表示は2進数
・USB電源で動作
・ボタン類は一切搭載せず、接続されたPCから操作して時計合わせをする


裏面

PICはPIC16F887を使用。クロックには時計ということで正確さを求めるためにKTXO-18Sを使用しています。秋月で購入したのですが今は取り扱ってないようですね。精度についていろいろ疑惑が出ているようですが気にしないことにします^^;


このように制御基板、表示基板、前面パネルという組み合わせになっています。


前面パネルを外した状態。LEDは黄色を70個、赤色を6個使用しています。余談ですが76個のLEDを淡々と植え付ける作業はなかなか辛かったです。この動画には負けますが^^;→初音ミクがねぎを振る電波時計をつくってみた(ニコニコ動画)


前面パネルは透明PET樹脂板、紙、黒スモーク塩化ビニル板の3枚の組み合わせになっています。紙を挟むことでLEDの光が投影され、どの角度からでもはっきり読み取れるようになります。


配線。表示基板はビニル導線で配線、制御基板は最近買ってきたUEWを使ってみました。


ブレッドボードでのテストの様子


基板の広さの制限もあり各数字の間隔をだいぶ狭くしたせいで隣とくっつきすぎてたまに読み辛い数字の組み合わせになるとき(3と8が識別し辛いなど)がありますが、概ねいい感じです。


プログラムは1から全て作りました。
0〜9の表示をするのに7セグメントLEDではその名の通り7セグメントを制御すれば良いのですが、LEDを使った今回の場合セグメントは13個に分割されます。ただ常に点灯し続けるセグメントもあるので、最終的に制御対象は11セグメントとなりました。駆動は250Hzのダイナミック点灯です。


時刻の設定は接続されたPCより1byteの数値を5つ受信することで行ないます。具体的には
時間の10の位→時間の1の位→分の10の位→分の1の位→秒
という具合です。


うちのパソコンは電源を切っていてもUSB給電はされるのでこの時計は常に動き続けています。部屋が暗い時にまぶしくないようにCdSで明るさを感知してLEDの輝度を調整する機能も付けました。

現時点ではPICのプログラムの不具合で計時があまり正確ではありません。1日で2分ほどずれます^^;しかし一定時間ごとにパソコン自動で同期するようになっているので今のところ問題にはなりません。単体で正確なのに越したことはありませんがw
(11/1)補正のためのコードを追加したため、現在はだいぶ正確になりました。


給電と通信をUSBケーブルで行っているので線を1本パソコンと繋いでおくだけです。机の上にちょこっと置いておけるいい時計ができました。


製作費
LED黄色:420円
LED赤色:24円
PIC16F887:200円
抵抗:24円
基板:240円
発振器:200円
トランジスタ:25円
CdS:40円
USB-シリアルモジュール:950円
40pinICソケット:30円
24pinICソケット:70円
外装部品:200円
その他電子部品:100円

                                                                  • -

計2,523円