電子工作taka2Tweet「夜中に目が覚めた時、今何時か知りたい」といわけで、夜中の暗闇でも見えるような自発光式ということで、大型白色マトリックスLEDを使った時計を自作しました。・マトリックスLEDによる自発光式7セグメントLEDでもよかったのですが、60mm角の大型マトリックスLEDを売っていたので、これを採用しました。設置位置を天井近くにするため、時間がずれたりしたら時計合わせが面倒なので、時刻が自動設定されるものに。自動で時刻合わせといえば「電波時計」が定番ですが私の住んでいる所は電波が弱く室内では時間が合いません。いう無線モジュールを使って時間を合わせることにしました。規格にそった無線モジュールで、これを使えば簡単に電子機器に無線通信機能が載せられます。ATtiny2313は17本のI/Oがあるので、そのうち16本をLED駆動に使い、残り一本で表示用データの受け取りに使います。マトリックスLEDとATtiny2313ピン配置を揃えることで、配線の手間を簡略化しました。データ受信に使える線が1本しかないのでI2CやSPIは無理。パリティ無しの、非同期シリアルで受け取ります。LEDは電流制限用抵抗だけを通した直接駆動です。通常のダイナミック点灯では、8ドット単位での点灯制御を行いますが、今回は明るさが要らないですし、ドライブ能力の点から、1灯単位のダイナミック点灯です。8MHzを1024分周した7800Hzの割り込みで1灯ずつ点灯させますので、全体では122Hzで点滅になります。LEDは定格3.2V20mAですので、電流制限抵抗は47Ω×2=94Ω。(5.0V-3.2V)/94Ω=19mAが流れます。これを、同じものを3つ作ります。ATtiny2313を使用。ATtiny2313からは、内蔵USARTでXBeeと通信し、表示用モジュールに対してはソフトウェアでシリアル信号を作り出しています。時間の制御については、自前で計時しつつ時々接続先のPCに時間を問い合わせます。内蔵RC発信器では精度はあまりよくないです。単体で計時させた場合、1日に2~3分ぐらいずれます。そこで1時間に1回時間問い合わせを行っています。電源3.3Vなので、低ドロップ3端子レギュレータで5Vのメイン電源から3.3Vを作っています。小信号用ダイオードでオープンコレクタ的接続(XBee内部でプルアップされているため、Lだけ伝えればよい)という非常に単純なものになっています。組み立て以上5枚の基板を連結させて回路は完成。ケース加工アクリル板と、100均で買ってきた小物入れとを加工してケースを作りました。コメントをキャンセルメールアドレスが公開されることはありません。