ESP-WROOM32でCO2を計測してみる

ESP-WROOM32

はじめに

ESP-WROOM32を使ってCO2濃度を計測してみます。

CO2センサーは、MH-Z19を使います。

https://www.amazon.co.jp/Lanfy-%E3%83%A9%E3%83%B3%E3%83%95%E3%82%A3%E3%83%BC-MH-Z19-0-5000PPM-CO2%E5%AE%A4%E5%86%85%E7%A9%BA%E6%B0%97%E8%B3%AA%E3%83%A2%E3%83%8B%E3%82%BF%E7%94%A8%E8%B5%A4%E5%A4%96%E7%B7%9ACO2%E3%82%BB%E3%83%B3%E3%82%B5UART-PWM/dp/B07B3VGGNL

CO2濃度データは、ESP-WROOM32からWi-Fiで飛ばして、パソコンから参照できるようにします。

ここでは、ESP-WROOM32をアクセスポイントとして使います。

ESP-WROOM32には、 技術適合基準(技適) マークがついているので、問題なく無線通信ができます。

技適マークがないと電波法違反の可能性がありますので、注意が必要です。

総務省 電波利用ホームページ|電波監視|技適マークのQ&A

CO2センサーMH-Z19のライブラリのダウンロード

CO2の計測プログラムには、こちらのライブラリを利用させていただきました。

GitHub - WifWaf/MH-Z19: For Arduino Boards (&ESP32). Additional Examples/Commands., Hardware/Software Serial
For Arduino Boards (&ESP32). Additional Examples/Commands., Hardware/Software Serial - WifWaf/MH-Z19

回路を接続する

MH-Z19の出力は、UARTとPWMがありますが、ここでは、UARTを使います。

ESP-WROOM32側は16Pin,17Pinを使用して通信することにします。

MH-Z19ESP-WROOM32
TxdGPIO16
RxdGPIO17
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濃度値を取得して、パソコンからデータを参照してみました。

窓を開けて計測すると濃度値が下がっていくので、換気度合いの見える化ができそうです。

コメント

タイトルとURLをコピーしました