#はじめに
LEDマトリクスモジュールを使って、マルチデジタル時計を作りました。
##日付表示・温湿度表示
タッチセンサーで右のネジ部を1回タッチで日付、2回タッチで温湿度表示。
##時報
サンプルにパックマンがあったので時報で使ってみました。
インベーダーもあります。ソース内でお好みの方で。
#仕様
- デジタル時計
- 日付表示
- 温湿度表示
- タッチセンサー切り替え
- アニメーション
#ハードウェア
- ESP-WROOM-32 DevKit(Amazon)
- マトリクスモジュール(Amazon)
- 温湿度センサーモジュール(AM2320:秋月電子)
- ユニバーサル基板、ワイヤー、金具等、入れ物
- 母艦(Windows10)
#配線
ハンダ付けは必要ありません。パーツをワイヤーで繋ぐだけ。
ESP32(GPIO) | MaxtriModule |
---|---|
5V | VCC |
27 | CLK |
12 | DIN |
14 | CS |
ESP32のGPIOのピンの特にこだわりはありません。配線したときに並んでいるものを使うために上記のようにしただけです。 |
ESP32(GPIO) | Touch sensors |
---|---|
T4 | ワイヤーで外出し |
ESP32はタッチセンサーを装備しています。どのタッチセンサーピンを使っても構いませんが、位置によっては干渉を起こすかもしれませんので、色々試してみてからお使いください。 |
ESP32(GPIO) | AM2320 |
---|---|
3.3V | VDD |
26 | SDA |
GND | GND |
GND | SCL |
温湿度センサーAM2320 ですが、single bus 方式で使いましたので、SCL は GND に繋いでいます。 |
左端にあるのが AM2320 、右端にあるネジがタッチセンサーです。
#ケースと格納
ケースはかなり悩んで色々買ってしまいました。
結局ダイソーのクリアケースに落ち着きました。こいうのってセンスが出るんですよね・・・。
配線をちゃんとして自作ケースを作った方が早いんじゃないかと悩みました。
#MAX7219用ライブラリ
いよいよ本題です。このLEDMatrixのドライバとして使われているのが MAX7219 です。
そして MAX7219 の制御用にライブラリが公開されています。
MD_MAX7219:https://github.com/MajicDesigns/MD_MAX72XX
これを利用したアニメーションライブラリが MD_Parola です。
MD_Parola:https://github.com/MajicDesigns/MD_Parola
今回はこれらを使いました。
#ソース
こちらに置いておきます。
https://github.com/nori-dev-akg/LED-Matrix-MultiClock
#最後に
実際には下のように使っています。
次回はせっかくのESP32なので通知メッセージを流したりできるように改修します。
またLEDの色が赤でないものを購入したいと思います。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F203949%2F4ba7d734-3673-a58f-4176-b60de15bb71d.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=1841cbaaae45c14be5dba6990821daad)