はじめに
ESP-WROOM32を使ってCO2濃度を計測してみます。
CO2センサーは、MH-Z19を使います。
CO2濃度データは、ESP-WROOM32からWi-Fiで飛ばして、パソコンから参照できるようにします。
ここでは、ESP-WROOM32をアクセスポイントとして使います。
ESP-WROOM32には、 技術適合基準(技適) マークがついているので、問題なく無線通信ができます。
技適マークがないと電波法違反の可能性がありますので、注意が必要です。
CO2センサーMH-Z19のライブラリのダウンロード
CO2の計測プログラムには、こちらのライブラリを利用させていただきました。
回路を接続する
MH-Z19の出力は、UARTとPWMがありますが、ここでは、UARTを使います。
ESP-WROOM32側は16Pin,17Pinを使用して通信することにします。
MH-Z19 | ESP-WROOM32 |
Txd | GPIO16 |
Rxd | GPIO17 |
V+ | 5V |
V- | GND |
プログラムをつくる
スケッチ例のWiFiAccessPointをベースとして作ります。
まず、Arduino IDEの[ファイル]-[スケッチ例]-[WiFi]からWiFiAccessPointを選択します。
このプログラムにMH-Z19のライブラリMHZ19.hをインクルードします。
計測してみる
プログラムをコンパイルして実行してみます。
シリアルモニタに出力されるAPのIPアドレスをメモしておいて、パソコンのWi-FI一覧を見てみます。
設定したSSIDの名前が表示されているはずです。ここでは、「tsunelab」でプログラムを作成しているので、tsunelabに接続します。パスワードは、tsunelabpassです。
接続が完了したら、ブラウザを立ち上げて、メモしておいたIPアドレスを入力します。
ESP-WROOM32から送信されたCO2データが表示されます。
CO2濃度のレベルです。
CO2濃度[ppm] | レベル |
350~450 | 外気レベル |
450~700 | 室内レベル |
700~1000 | 不快レベル |
1000~2000 | 眠気レベル |
計測時は、不快レベルでした。
このセンサーは、仕様にPreheat time3分とあるので、電源投入から安定するまで3分程度は必要です。電源投入時は、濃度値が大きく出ますが、徐々に下がっていって安定します。
まとめ
ESP-WROOM32のWi-Fiアクセスポイントを使ってMH-Z19センサーからCO2濃度値を取得して、パソコンからデータを参照してみました。
窓を開けて計測すると濃度値が下がっていくので、換気度合いの見える化ができそうです。
コメント