LEDマトリクスで時刻と天気をシンプルに表示 ESP32対応スマートクロック

FabScene(ファブシーン)| テクノロジーの「現場」を記録するメディア

LEDマトリクスで時刻と天気を表示するスマートクロック「ESPTimeCast」の作例がGitHubで公開されている。ESP8266とESP32の両方に対応し、MAX7219 LEDマトリクスを使用してリアルタイムで情報を表示する。

Web設定画面で簡単セットアップ

ESPTimeCastは、8×32のLEDマトリクスディスプレイに現在時刻、曜日、気温、湿度を表示するWiFi対応のスマートクロックプロジェクトだ。ESP8266とESP32の両方で動作し、同じ配線構成で使用できるよう設計されている。

設定はすべてWeb画面から行える。WiFiに接続できない場合は自動的にアクセスポイントモードに切り替わり、ブラウザでアクセスして初期設定が可能だ。

主な設定項目はWiFiの認証情報、OpenWeatherMapのAPIキー、都市名、国コード、タイムゾーン、温度単位(摂氏/華氏/ケルビン)、12時間/24時間表示の切り替えなど。設定はLittleFSに保存され、電源を切っても保持される。

時刻はNTPサーバーから自動同期され、夏時間にも対応している。天気データはOpenWeatherMapから5分ごとに取得し、温度と湿度を表示する。NTPサーバーは初期値のpool.ntp.orgから変更可能で、セカンダリサーバーも設定できる。

表示は時刻モードと天気モードを自動的に切り替える。時刻モードではカスタムアイコンで曜日を表示し、天気モードでは気温を表示する。データ取得に失敗した場合は「no ntp」「no temp」といったエラーメッセージを表示して状態を通知する。

配線はWemos D1 Mini(ESP8266)の場合、GNDをGND、D6をCLK、D7をCS、D8をDIN、3V3をVCCにそれぞれ接続する。ESP32でも同様のピン配置で動作するよう設計されており、どちらのボードでも同じ接続方法で使用できる。

その他の機能として、ディスプレイの明るさ調整(0~15段階)、自動調光、180度回転表示、湿度表示のオン/オフ切り替え、多言語対応の曜日表示、カウントダウンモードなどを搭載している。

ソースコードはGitHubで公開されており、Arduino IDEまたはPlatformIOで開発可能。必要なライブラリはArduinoJson、MD_Parola/MD_MAX72xx、ESPAsyncTCP、ESPAsyncWebServerだ。3Dプリント可能なケースのデータもPrintablesとCults3Dで公開されている。

関連情報

GitHub リポジトリ

関連商品(広告)

技術評論社
¥3,278 (2025/08/02 13:51時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!