朝の眠気にも影響!? ESP-WROOM-32とCO2センサー(MH-Z19)で二酸化炭素(CO2)を測定してみる!

最終更新日

Comments: 0

こんにちは!

前回はESP-WROOM02でCO2(二酸化炭素)を取得する方法をご紹介しましたが、

今回はESP-WROOM32を使ってご紹介します!

前回の内容⇩

皆さんは日常生活でCO2(二酸化炭素)を気にしたことはありますか?

実はCO2は日常生活において大きな影響を及ぼすんです!

下記がCO2濃度の大まかの基準です。

350~500ppm外気
500~1000ppm一般的な屋内
1000~2000ppm
悪い室内空気環境
2000~2500ppm
眠気を感じてくる人が出てくる
2500~3000ppm
肩こりや頭痛を感じてくる人が出てくる
3000ppm~
集中力などが低下してくる

ちなみに、日本での二酸化炭素濃度の基準値は建築物衛生法によって、

居室内は1,000ppm以下、幼稚園、保育園、学校は1,500ppm以下と定められています。

では、自分の部屋が今どのくらいのCO2濃度(ppm)なのかESP-WROOM32とCO2センサーを使って測定してみましょうというのが前回内容で、

今回もほぼ同じようにご紹介したいと思います!
(開発環境はArduinoIEDを使用します)

今回CO2濃度に使うセンサーはMH-Z19Bというものを使います!

MHZ19B

・MH-Z19BはCO2の濃度を赤外線で測定し、0~5000ppmの範囲で結果を、PWM通信のパルス幅または、

シリアル通信で出力してくれます。

  • サイズ  上の画像を参考に縦が2cm、横金部分が2.6cm、基盤を含めた横が4cm
  • 非分散形赤外線吸収式
  • 電源 4.5〜5.5V
  • 平均電流 20mA
  • インターフェイス UART または PWM 3.3V
  • 動作温度 0~50度
  • プリヒート 3分
  • 温度補正あり。精度は±50ppm + 5%

※今回はシリアル通信で作ります。

(CO2センサーで安価なものはMQ-135などがありますが正直熱を発生するし

精度があまり良くなかったです。)

それでは、早速取得したいと思います!

 

※2023年10月追記

0~5000ppmの範囲で測定できるMH-Z19Bは入手が難しく、現在は400~5000ppmがほとんどとなっています。

 



①「使う部品」

・MH-Z19B

電子工作ステーション 3900円(送料無料)

※MH-Z19Cモデルが秋月電子などで売っておりますが性能が上がっている分、扱いが難しく今回紹介するやり方では動きませんのでMH-Z19Bをご使用ください。

※MH-Z19Bモデルは現時点で、秋月電子などでの取り扱いは無いですので、電子工作ステーションうや楽天やメルカリにて入手することをお勧めします。

・ESP-WROOM-32 (ESP-WROOM-32D)
38pinモデル

電子工作ステーション 1050円(送料無料)(30pinモデル)

電子工作ステーション 1750円(送料無料)(ESP32D)(38pinモデル)

秋月電子 1600円+送料(38Pinモデル)

 

※楽天にて横幅を細くしたバージョンが登場‼

pin番を無くした代わりに細くなっているので、ブレットボードで使いやすくなりました‼

6極ブレットボードではなく定番のブレットボードで使えるようになるのでススメです⇩⇩⇩

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetoothデュアルモード【在庫品】
価格:1150円(税込、送料無料) (2021/10/8時点)

楽天で購入

 

・通信用マイクロUSBケーブルタイプB (家に無ければ)

電子工作ステーション コネクターも含め約800円(送料無料)(着脱式)

秋月電子 120円+送料

ESP-WROOM-32とパソコンを繋ぐためのケーブルです。

100円ショップなどでも販売していますが、スマホ用充電専用タイプだと使えないのでご注意ください。

タイプB通信ケーブル

 

・ブレッドボード 6穴版 EIC-3901ブレットボード

(ESP-WROOM32は幅が広い為6穴版でないと差せません)

電子工作ステーション 495円+送料(500円以上で無料)

 

・ジャンパーワイヤー(オス・メス)(4本)

電子工作ステーション 1セット(10本)100円+送料(500円以上で無料)

 

②「IDEにESP-WROOM32とMH-Z19を使えるようにする」

・Arduino IDEにESP-WROOM32を使えるようにするために、

ライブラリーをインストールする必要があります!

・こちらをご参考に↓

Arduino IDEでESP-WROOM-02(ESP8266)とESP-WROOM-32を使えるようにする!(Windows10)

・MH-Z19を使えるようにするためには、ライブラリーを入れる必要があります!

今回は「MHZ19_uart.h」というものを使わせて頂きますので

ArduinoIDEにこちらのライブラリーを入れてください。

手順は簡単で、こちらからライブラリーをダウンロードして解凍します。

 

・圧縮フォルダーの解凍が終わりましたら「mhz19_uart-master」というフォルダーごと

「libraries」(C:\Users\…..\arduino\libraries)に入れるだけです。

後はArduinoIDEを起動させ、ファイルスケッチ例の中にmhz19_uartがあれば準備完了です。

③「回路」

センサーの裏面にある記載を参考に接続していきましょう‼

MH-Z19B
MH-Z19B接続箇所(接続pin)
Vin5V( + )
GNDGND( – )
TxIO4
RxIO14

接続するとこんな感じです⇩

※画像をクリックすると綺麗に拡大できます。

※Tx、Rxは今回のプログラムに合わせて配置しているだけです。

空いているIOpinがあればそちらにしていただいても問題ありません。



④「いよいよプログラミング」

・ESP-WROOM32を書き込みモードにして下記のプログラムを書き込めば完了です!

ESP-WROOM-32D開発ボードで、書き込みモードのやり方は、

ケーブル差し口左右にある小さなボタンでモードを切り替えます。

右ボタンを押しながら左ボタンをプッシュすると書き込みモードになります!

書き込みモードになるとシリアルモニターにはこんな感じで表示されます⇩

 

5秒ごとにCO2を取得するプログラムです⇩

・ちなみにコード内にさり気なく記載してあります気温取得ですが、

精度は悪く±3度くらいはありました!

※ビルドをした際にエラーが出たら書き込みモードになっていないのが原因の可能性が高いです。

書き込みモードにしてからやり直しましょう。

 

2018/7/21追記

※シリアルモニターに変な暗号が表示されたり、何も表示されない場合、

シリアルモニターの右下にあるbpsが115200bpsになっているか確認してください。

 

※シリアルモニターが選択できない場合、まずツールの中にあります「シリアルポート:COM 」が選択されているか確認してください。

これが選択できない状態だたUSBケーブルが原因の可能性があります。

USBケーブルは必ずデータ通信が可能なものを使用しましょう。

 

⑤「実行結果」

※画像をクリックすれば綺麗に見れます。

 

朝起きの寝室で取得したためCO2濃度が高いですね(;^ω^)

 

・このことから、屋内にいるときはこまめに換気をすることでCO2濃度を下げ、

結果として作業の効率化に繋げることが可能です。

 

ESP-WROOM-02とESP-WROOM-32は全く同じプログラムで

動きますので是非試してみた下さい♪

以上、ご訪問ありがとうございました^^


シェアする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする