MH-Z19D(二酸化炭素センサー)を使ってみた‼(ESP32編)
こんにちは‼
CO2を測定するための定番センサー「MH-Z19」シリーズの最新モデルが出たので、今回はそれを使いCO2を測定してみたいと思います。
MH-Z19シリーズは、MH-Z19Aから始まり、B、Cと出て、今年2021年にMH-Z19Dという最新モデルが2021年半ばぐらいに登場しました‼
果たして性能は上がっているのか、いじってみたいと思います♪
★使用例
・部屋のCO2濃度の測定
・ハウス植物のCO2濃度測定
①「比較」
製品モデル | MH-Z19A | MH-Z19B | MH-Z19C | MH-Z19D/MH-Z19E |
対象ガス | CO2 | CO2 | CO2 | CO2 |
動作電圧 | 3.6V~5.5V | 4.5V~5.5V | 5V(+-0.1V) | 5V(+-0.1V) |
平均電流 | <18mA | <20mA | <40mA | <40mA |
インターフェイスレベル | 3.3V (と互換性5v) | 3.3V (と互換性5v) | 3.3V (と互換性5v) | 3.3V (と互換性5v) |
測定範囲 | 0~5000ppm | 0~5000ppm | 400~5000ppm | 400~5000ppm |
出力信号 | UART/PWM | UART/PWM | UART/PWM | UART/PWM |
予熱時間 | 3分 | 3分 | 1分 | 1分 |
再sponse時間 | t90<90秒 | t90<120s | t90<120s | t90<120s |
動作温度 | 0~50℃ | 0~50℃ | -10~50℃ | -10~50℃ |
重量 | 10g | 5g | 5g | 5g |
寿命 | 5年 | 5年 | 10年 | 10年 |
見ての通り、今のところCタイプとDタイプの違いが判りません(;^ω^)
もしかしたら仕様は同じで、工場によってモデル名が変わっただけかもしれません。
※MH-Z19Eは、MH-Z19Dと使用は同じです。(工場の都合でモデル名が変わりました。)
②「部品」
・MH-Z19D (MH-Z19E)
電子工作ステーション 2450円(送料無料)(MH-Z19E)
※MH-Z19Eは、MH-Z19Dと使用は同じです。(工場によってモデル名が変わるそうです)
・ESP-WROOM-32
電子工作ステーション 1090円(送料無料)(30pinモデル)
秋月電子 1230円+送料(38Pinモデル)
※楽天にて横幅を細くしたバージョンが登場‼
pin番を無くした代わりに細くなっているので、ブレットボードで使いやすくなりました‼
6極ブレットボードではなく定番のブレットボードで使えるようになるのでススメです⇩⇩⇩
電子工作ステーション 1350円(送料無料) (NodeMCU-32)
・5V出力昇圧DCDCコンバーター
電子工作ステーション 250円(500円以上購入で送料無料)(pinはんだ済み)
秋月電子 300円+送料(pinはんだ未接続)
・通信用マイクロUSBケーブルタイプB (家に無ければ)
電子工作ステーション 990円(送料無料)
ESP-WROOM-32とパソコンを繋ぐためのケーブルです。
スマホ用充電専用タイプだと使えないのでご注意ください。
・ブレットボード(6穴版)
6穴版 EIC-3901(秋月電子:280円)
・ジャンパーワイヤー (オス・オス)
電子工作ステーション 1セットで100円(送料500円以上で無料)
(ESP32と5V出力昇圧DCDCコンバーターを繋ぐために使用)
・ジャンパーワイヤー(オス・メス)
電子工作ステーション 1セットで100円(送料500円以上で無料)
(ESP32と5V出力昇圧DCDCコンバーターとMH-Z19Dを繋ぐために使用)
③「回路図」
秋月電子のDCDCコンバータをご使用の場合は、まずpinをコンバータにはんだ付けしましょう。
次に、センサー裏面にpin名が書いてあるのでそちらを参考に接続しましょう。
MH-Z19D | ESP32(接続pin) |
Tx | 4(D4) |
Rx | 5(D5) |
MH-Z19D | 5V出力昇圧DCDCコンバーター(秋月電子) |
V1n | O (OUT) |
GND | G (GND( – )) |
5V出力昇圧DCDCコンバーター(秋月電子) | ESP32(接続pin) |
I (IN(ハンだの箇所が四角い方)) | 5V( + ) |
G (GND( – )) | GND( – ) |
秋月電子のDCDCコンバータの使用例。
※各部品は上記の図と形が違う場合があるので、差し間違えに注意を。
※CO2センサーのHDピンはゼロキャリブレーション様です。
(ゼロキャリブレーションとは、測定値をリセットして測定値がゼロとなるように調整する作業です。)
やり方は幾つかあるそうですが、一番簡単な方法は下記の様になります。
- 400ppmの場所(屋外や喚起された屋内など)で20分程動作させる。
- HDピンをGNDに7秒接続する。この瞬間が400ppmとして調整されます。
ゼロキャリブレーションは基本しなくて大丈夫です。数値が大幅におかしいと感じた時に試してみましょう!
④「開発環境」
・いよいよプログラミングですが、その前にMHZ19をArduinoIDEで使えるようにするため、今回はGitHbuで公開されているライブラリ、
「MHZ19_uart.h」というものを使わせて頂きますので、ArduinoIDEにこちらのライブラリーを入れてください。
手順は簡単で、こちらからライブラリーをダウンロードして解凍します。
・解凍が終わりましたら「mhz19_uart-master」というフォルダーごと
「libraries」(C:\Users\…..\arduino\libraries)に入れるだけです。
後はArduinoIED起動させ、ファイルスケッチ例の中にmhz19_uartがあれば準備完了です。
⑤「プログラミング」
プログラミはMH-Z19Bなどと同じプログラムで動きました‼
MH-Z19Cタイプでも同じ回路、同じプログラムで動くと思われます。(未確認)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
/*---------------------------------------------------------- MH-Z19 CO2センサーサンプルプログラム ----------------------------------------------------------*/ #include <MHZ19_uart.h> const int rx_pin = 4; //Serial rx pin no const int tx_pin = 5; //Serial tx pin no MHZ19_uart mhz19; /*---------------------------------------------------------- MH-Z19 CO2 sensor setup ----------------------------------------------------------*/ void setup() { Serial.begin(115200); mhz19.begin(rx_pin, tx_pin); mhz19.setAutoCalibration(false); Serial.print("MH-Z19 now warming up... status:"); Serial.println(mhz19.getStatus()); delay(500); } /*---------------------------------------------------------- MH-Z19 CO2 sensor loop ----------------------------------------------------------*/ void loop() { int co2ppm = mhz19.getPPM(); int temp = mhz19.getTemperature(); //CO2濃度出力 Serial.print("co2: "); Serial.println(co2ppm); //気温出力(おまけ機能ですが精度は悪いです) Serial.print("temp: "); Serial.println(temp); delay(5000); } |
ちゃんと通電すると、まずセンサーの白い布部分がオレンジ色にゆっくり点滅します。
シリアルモニターを開き、
みたいな表示がされれば成功です‼
1分ほどするとco2の数値が変わり、正確な値になっていきます‼
窓前回なので空気が良いです‼
※tempは大よその気温です。
⑥「結果」
窓全開なのでとても空気が良いです‼
食後の臭い息をやってみた⇩
臭過ぎたのか、5000を超え測定不能状態(笑)
※実際は、臭いは関係ないと思われます。
こんな感じで、結果がすぐ出ると楽しいですね♪
数値の基準は、こちらの票をご参考に⇩
CO2濃度の大まかの基準です。
350~500ppm | 外気 |
500~1000ppm | 一般的な屋内 |
1000~2000ppm |
悪い室内空気環境
|
2000~2500ppm |
眠気を感じてくる人が出てくる
|
2500~3000ppm |
肩こりや頭痛を感じてくる人が出てくる
|
3000ppm~ |
集中力などが低下してくる
|
ちなみに、日本での二酸化炭素濃度の基準値は建築物衛生法によって、
居室内は1,000ppm以下、幼稚園、保育園、学校は1,500ppm以下と定められています。
是非、これでより良い環境を作り、人生エンジョイしていきましょう♪
以上、ご閲覧ありがとうございました♪