ESP32と32×8フルカラーLEDでデジタル壁時計をつくる

「夜中に目が覚めた時、もう一寝入りするか、そろそろ起きるか、知りたくなりますね。身動きせずにねぼけた目を開けるだけで時刻がわかる大きなデジタル時計が欲しいと思いました。日中は明るくカラフルで楽しい表示でも、暗くなったらまぶしくない明るさで落ち着いた色で表示してくれる時計があったらいいですね。」

2年前に作った「手作りの大型7セグメントフルカラー表示器を使った置き時計」はその後もブレッドボードのまま動作を続けています。壁に掛けられるようにリメークしようかと思いましたが、大きなサイズのフルカラーLEDマトリックスが3699円で売っていたので、これを使った方が楽にできると思って新しく作ることにしました。

OLYMPUS DIGITAL CAMERA

構成
(1) ESP32でWiFi LANに接続し、NTPで時刻を定期的に取得する。
(2) ESP32でTimeライブラリを使い、NTP時刻で定期的に校正しながら1秒ごとに時刻を得る。
(3) ESP32でFastLEDライブラリを使い、32×8 LEDマトリックスを制御する。
(4) 時刻表示用数字フォントはComic San MS Bold Italic 96pointをベースにして8×7のグレースケールフォントを自作する。

部品リスト
(1) ESP32(MH-ET LIVE ESP32 MiniKit):AliExpressで$6ぐらいで購入できます。
(2) フルカラーLEDマトリックス(32×8 10mmピッチ):Quimat Arduino用RGB LED パネル…..

配線
ESP32 MiniKit-J2-6pin(5V) —– LED Matrix 5V
ESP32 MiniKit-J2-8pin(GND) —– LED Matrix GND
ESP32 MiniKit-J2-10pin(IO16) —– LED Matrix Din

OLYMPUS DIGITAL CAMERA

Arduino IDEへの追加
ESP32ボードの追加 「Arduinoで遊ぶページ」などを調べてください。
FastLEDライブラリの追加 「ArduinoでNeopixel操作」などを調べてください。

Arduinoプログラム
青色で1秒ごとに時刻を表示するプログラムです。
– NTPサーバーに300秒ごとにアクセスしますが、loop()関数の if(SecCount>=xxxx)で自由に変更してください。
– FastLEDライブラリは高度な色指定ができますので自由に改造してください。
– フォントデータは、3次元配列 NumFont[10][FontHeight][FontWidth]です。好きなフォントに改造してください。

 

OLYMPUS DIGITAL CAMERA