そろそろ梅雨も開けて本格的な暑さの季節になりますが、熱中症の可能性を数値で表現するためにWBGT(WET BULB GLOVE TEMPERATURE)という指数があります。
簡易的には温度と湿度で数値化できるので、市販のセンサーを使って実現してみます。
M5stack basic/M5Stack用温湿度気圧センサユニット Ver.3(ENV Ⅲ)、いずれもスイッチサイエンスから購入しました。センサユニットは基板剥き出しではなくてケースに収められているので、そのままでも持ち運びできるので便利です。
M5stack basicはv2.6になってUSB-シリアル変換の素子が変わっていて、新しいドライバをインストールしないと既存のOSではサポートされていないので、
を参考にインストールしましょう。VScode環境ではドライバインストールの他に、platformio.iniの設定に該当のシリアルポートを設定追加しないと動作しませんでした。
センサユニットにはgloveケーブルも添付されているので、接続も加工なしで簡単です。インターフェースも標準のi2cになっています。
センサユニットを使うためには、ライブラリが必要ですがソースプログラムを持ってこないといけません。以下からダウンロードしてソースプログラムのディレクトリに展開しました。
https://github.com/m5stack/UNIT_ENV
また、サンプルコードは、
から持ってきました。
WBGTテーブルから数値に変換して、バッテリー残量も表示する様にしたコード(heat_alarm.cpp)は以下のリンクです。
https://github.com/chateight/PlatformIO/tree/master/heat_alarm/src