ブログだいちゃん

ブログだいちゃん

趣味のブログ

ブログだいちゃん

ドットマトリックスLED(MAX7219)を使用したウエザーステーションを作成

ドットマトリックスLED(MAX7219)を使用し、時間と気象情報を表示するウエザーステーションを作成してみます。


以前 Oled_SSD1306 を使用したウエザーステーションを作成し4日分の天気を表示させましたが、今回は現在の気象情報のみ表示させます。

表示させる項目は、時間 曜日 日付 気温 湿度 気圧 降水確率 風速 風向き などで横スクロール表示させます。


ケースは3Dプリンターで作成

ケースは以前作成した「ドットマトリックスLEDを使用したアラームクロックの作成」のケースを一部変更して使用します。

f:id:blogdaichan:20210112144830j:plain

case_STL

回路図

配線は簡単で、5本配線するだけです、回路図の MAX7219 は8×8ドットの単体ですが接続は変わりません。
MAX7219への接続は、赤:VCC  黒:GND 黄:DIN  緑:CS 青:CLK です、制作した画像は配線の色が違います。

f:id:blogdaichan:20210111181652j:plainf:id:blogdaichan:20210112144855j:plainf:id:blogdaichan:20210112144858j:plain


プログラム

この動画を参考にしました、コードへのリンクがありますのでダウンロードします。
ダウンロードしたZIPファイルを解凍すると、プログラムコードとライブラリーフォルダーが出来ますのでArduino IDE にそれぞれ入れておきます、Arduino IDE の使い方については割愛します。

コードのテキスト箇所がドイツ語なので英語に翻訳する箇所があります、適宜変更して下さい。

気象情報の取得には「open weather map」を使います、登録してAPIキーを取得する必要があります、取得方法は参考動画で説明されています、私の前の記事にもリンクがあります。

コードの変更箇所

コード変更箇所を上げておきます。

LEDMatrixV2.ino
WiFissid pass Weather Key Weather Lang cityID NTP server TimeChangeRule Timezone などを変更します。
行番号:23・24・27・31・32・36・48・50 です。
日本は夏時間がないので49はコメントアウトします。

f:id:blogdaichan:20210112153726j:plain


time.ino
6行目 1箇所のみ変更します
time_t tTlocal = jST.toLocal(tT);

f:id:blogdaichan:20210112153721j:plain


weather.ino
気象情報を表示する部分がドイツ語になっているので英語に変換しました。

f:id:blogdaichan:20210112153723j:plain

その他LEDに表示されるドイツ語を英語に変換する、電源投入時表示される Connect など。

エラーが出たらチェックするところ

arduino json 関連のエラーが出た場合は
・ スケッチの ライブラリーを管理から arduino json を検索しのバージョンを Ver5.13.5 にダウングレードする。

時計表示のみで気象情報が表示されない場合は
・ ボードマネージャーで ESP8266 を検索し バージョンを Ver2.40 にダウングレードする。

以上が作成した中で出たエラーです。

ケースに組み込み完成させる

ドットマトリックスLEDがケースの中でグラつくようだったらホットグルーで固定します。
マイクロUSBパネルが大きすぎて裏蓋が閉まらないので、バラして必要な長さに切って使用しました。

f:id:blogdaichan:20210112144849j:plainf:id:blogdaichan:20210112144852j:plain


動作動画