Digital Wall Clock (1st trial)

寝室用に明るさを抑えた壁掛けデジタル時計を作りました。

ESP8266(ESPr Developer)でRTCから時刻を読んで、7セグメント表示器風にフルカラーLEDを28個配置して時刻を表示します。せっかくのフルカラーLEDなのでランダムに表示の色を変更します。1日1回NTPサーバーにアクセスして時刻を校正します。照度センサーで室内の明るさをモニターして暗くなったらLEDも暗くします。

ESP8266は時分の表示が終わると、電力削減のため50秒間Deepsleepします。NTPサーバーにアクセスする直前はWiFi ONで起動し、それ以外はWiFi OFFで起動します。

LEDの信号線は15ピン、照度センサーは20kΩと10kΩで分圧してTOUTピン、RTC(DS1302)は3ワイヤーという通信なので CLKを12ピン、DATを13ピン、RSTを14ピンに接続しました。Deepsleep後の起動用に16ピンをRESETに接続します。

筐体は5mm厚のMDFをレーザーカッターで切り抜きます。セグメントの中央にLEDを配置して表面に経木(紙のように薄い板)を貼りました。セグメント内での光の均一性にもう一工夫必要です。

 

 

2017.1.21

“Digital Wall Clock (1st trial)” への 4 件のフィードバック

  1. こんにちは 電子工作に興味がありデジタル時計を作ってみたいと思い探したところ このホームページに辿り着きました。材料等は理解出来るのですが配線が判りません。すみませんが教えていただけないでしょうか?

    1. haruichiさん こんにちは、
      配線の説明が大雑把で申し訳ないです。
      フルカラーLEDで大型の表示器を作るというのがこの記事の一つのポイントで、夜中に目が覚めて寝ぼけた目でも時刻がわかるのがセールスポイントです。フルカラーLEDは電源とグランドと1本の信号線で多数のLEDの制御ができるのがメリットです。2枚目の写真のように全てのLEDを数珠つなぎにハンダ付けをします。LEDにはDIとDOがありますので信号がDIから入ってDOから次のLEDのDIに接続しています。
      Arduinoでリアルタイムクロック(RTC)を使うのはよく記事を目にしますのでその辺の配線は「arduino rtc ds1302」などで検索して試してみてください。ただし、この記事で使ったds1302は精度が悪くて一晩で2分ぐらいずれていました。夜中の2分ぐらいは全然問題ないのですが、現在はGPSで正確な表示になるように変更しています。
      GPSは正確で良いのですが、電力消費が大きいのが難点です。精度の良いRTCを注文しているところですので届いたらまたRTCで試してみようと思います。

      haruichiさんも自作の時計の制作楽しんでください。

  2. kojiさん お返事ありがとうございます。Arduinoを使って制作したいと思います。
    もう一つ質問なのですが LED28個となっていますが 間のコロン?(:)は このコードには無いのでしょうか?

    1. haruichiさん、
      HHとMMの間に:を入れてHH:MMにしようと思って、板にはコロンの穴を開けたのですが、コロンがなくても分かるのでやめました。コードはforループでHHMMの4桁を一気に処理していますが、HH部分とMM部分を分けて間にコロンの処理を挟むのがオーソドックスなやり方でしょうね。このコードを残すなら、配線でコロンを頭に持ってくるとか、お尻に持ってくるとかもありかもしれません。コロンを単色の普通のLEDにして別のDigital OUTで点滅するのもありかもしれませんが、色を変えたくなるかもしれないし、、、。
      コロンを1秒間隔で点滅すると本物っぽくって良いですよね。数字の下にLEDを5個つけて10秒ごとに点灯させるとバーグラフのようになって面白いかもしれませんね。
      何れにしても配線はいつ終わるんだろうと思いながら地道に続けるしかないので頑張ってください。プリント基板があれば楽だろうなと思うと、思います。

コメントは受け付けていません。