今年の夏も暑い日が続くとのことで、熱中症の予防をテーマとして、「熱中症予防表示器」の製作に取り組みました。
熱中症予防に利用できる指標として、暑さ指数:WBGT(Wet Bulb Globe Temperature)を活用することにしました。評価ボードは画面も大きく視認性が良いためWBGT値によて画面全体の色が変化するようにすることで、警告状況が一目でわかるようにしました。
暑さ指数(WBGT)は気温と相対湿度から簡易的に推定することができることから、WBGT値をあらかじめプログラム内に配列で定義しておき、温湿度センサーで測定した温度と湿度の組み合わせからWBGT値を配列要素から取り出して開発ボードのLCD上に表示しています。
熱中症の危険度は、数値だけではなく、LCD画面全体の色を変化させることで視覚的に認知しやすくしています。
TouchGFXを使用したディスプレイの表示設計は、textAreaなどの必要な素材を配置するだけでよく、直感的で分かり易いです。
今回は、一つのスクリーンのみを使用して作品を仕上げましたが、今後、TouchGFXとSTM32CubeIDEを使いこなしてスキルアップできれば、dynamicGraphを2画面目に描画するなど、複数のスクリーンを扱うシステム作りにも挑戦してみたいと思います。
【使用したデバイス】
【システム構成】
ENV II ユニットとSTM32開発ボードのコネクタと接続し、I2C通信で温度と湿度を計測
暑さ指数はプログラムに配列として定義しておき、計測した温度と湿度から決定
【画面デザイン】*
TouchGFXのUIコンポーネント"textArea"を使用して、温度・湿度・暑さ指数の数値を画面にレイアウト
画面全体の色を暑さ指数によって変化させることで、熱中症警戒度が一目でわかる
温度と湿度の表示下部には、測定値を時系列グラフで描画
UIコンポーネント"dynamicGraph"を使用することで、簡単に時系列で温度・湿度のデータを表示