ゆるく楽しむプログラミング
> トップページ > 電子工作とプログラミング > ガジェット > M5Stackで温湿度・気圧+天気予報表示

M5Stack CORE2で 温湿度・気圧と天気予報を表示

温湿度・気圧センサー M5Stack ENVⅢの計測値と時間経過の変化グラフを【M5Stackで天気予報表示】と合体してみました。

ENVⅢの計測値読み取り機能を合体したらスケッチサイズが大きくなりすぎて M5Stack BASICには入らなくなってしまったのでCORE2専用となりました。
※CORE S3は持っていないので動かせるのかは不明です。



温湿度・気圧センサー ENVⅢ

使用方法は【M5Stack ENVⅢ温湿度・気圧センサー】を参照
CORE2電源投入時にただ細工認識されない場合があります、エラー表示が出た場合はCORE2をリセットしてください。

天気予報表示

M5Stackで天気予報表示】をベースにしているので、天気予報表示自体は全く同じモノです。
天気予報表示の詳細はソチラを参照してください。

天気予報テキスト表示に使用している 漢字フォント表示は【東雲フォントをSDカードに入れてみた】を参照してください。

ArduinoIDEのESP32系マイコンのボードライブラリにはJPEGイメージをBITMAPに展開するオープンスースのライブラリが入っています。
JPEG表示には、このライブラリを使用しています。
 ライブラリ名:TJpgDec - Tiny JPEG Decompressor
 作者:ChaN氏
 ライセンス:BSD
 ソース:http://elm-chan.org/fsw/tjpgd/00index.html
このライブラリの使用方法は Arduino core ESP32 内のライブラリでJPEGファイルをビットマップに変換(デコード)する を参考にしました。

グラフ表示

計測データは19回分 5分毎に計測していますので1時間15分の間の変化表示になります。
TFT画面サイズが小さいので、あまり情報を詰め込んでも見難くなりますので、これくらいで調整しています。
変化を見るための表示なので計測時間内の最大値~最小値が大体良い感じで収まるように補正しています。
温度は季節と地域によるレンジ幅が広いですし、気圧も最大・最小が把握しづらいので 表示レンジを変動。
湿度は変化が小さいので 0~100%に表示レンジを固定しています。

操作

天気予報エリア選択
[ボタンA]でコンフィグモードになり、観測エリアの選択画面になります。

 コンフィグモードでは
 [ボタンA] - 決定
 [ボタンB] - カーソル上 ▲ ※リストの一番上から更に▲を押すと[キャンセル]になります。
 [ボタンC] - カーソル下 ▼
 になります。

天気予報 今日/明日 切り替え
[ボタンB]で天気予報表示を 今日の天気/明日の天気 で切り替えます。

グラフ 表示/非表示 切り替え
[ボタンB]で グラフ表示 / 天気予報テキスト表示 で切り替えます。
※起動時には 天気予報テキスト表示 になっています。

スケッチ

SDカードに入れておくファイルは【M5Stackで天気予報表示】と同じです。


M5Stacl CORE2用スケッチ WeatherForecast_ENV_CORE2.zip

SDカードに配置する 設定ファイル(雛形) / お天気ICON / AreaCode JSONファイル / 東雲フォント WeatherForecast-SD.zip

解説動画