環境モニタを作ろう with ESP32 DEV Module 〜 No7. 二酸化炭素を計測しよう MH-Z14A

ここまででできたこと

  1. 環境モニタを作ろう with ESP32 DEV Module 〜 No1. まずは動かして見よう
  2. 環境モニタを作ろう with ESP32 DEV Module 〜 No2. 温度湿度センサーをつけよう
  3. 環境モニタを作ろう with ESP32 DEV Module 〜 No3. wifiに接続して、https通信を試してみよう
  4. 環境モニタを作ろう with ESP32 DEV Module 〜 No4. 温度と湿度データをクラウドに入れたい!AWS-IoTを使ってみよう #aws-iot
  5. 環境モニタを作ろう with ESP32 DEV Module 〜 No5. ESP32からAWS-IoTへデータをPublish #aws-iot
  6. 環境モニタを作ろう with ESP32 DEV Module 〜 No6. AWS-IoTからDynamoDBへ #aws-iot

DynamoDBまでセンサーのデータが格納できることがわかったので、他のセンサーも取り付けていきましょう。

温度湿度センサーに加えて、今回は二酸化炭素濃度を測るセンサーをつけてみましょう。

MH-Z14A NDIR赤外線二酸化炭素センサモジュール

今回はこれを使います

仕様書はこちらです。

MH-Z14 Intelligent Infrared Gas Module User’s Manual

二酸化炭素センサとESP32 DEV Moduleをつなげます

ESP32 DEV Moduleと二酸化炭素センサの接続は以下のようにしています

ESP32    MH-Z14A
GND 1(黒)
5V 2(赤)
IO17 3(青)
IO16 4(緑)

ハードウェアシリアル通信を使います

温湿度センサーの時は、I2Cという規格のシリアル通信を使いましたが、今回の二酸化炭素センサは、ハードウェアシリアル通信を使います。

ESP32には、ハードウェアシリアル通信については、UART0, UART1, UART2 の3系統あります。UART1は、パソコンと通信するのに使っているので、今回は、UART2(IO16,IO17)を使います。

二酸化炭素センサから値を取得します

ハードウェアシリアル通信で、UART2を使うよという宣言をsetupの中でします。

loopで二酸化炭素の値を取りに行きます

コマンドを生成して、実行して値を取り出して計算して出力します!

二酸化炭素の濃度は?

シリアルモニターで確認して見ましょう。

二酸化炭素の濃度はppmです。だいたい400ppmあたりですね。

厚生労働省の建築物環境衛生管理基準について、のサイトに空気環境の基準があり、

二酸化炭素の含有率 100万分の1000以下(=1000 ppm以下)

とされているので、ここの環境は基準を下回っているので、よし!ですね。

センサーに息を吹きかけてみると値が上がるのがわかるかと思います。

これで、二酸化炭素の濃度は測れるようになったので、次は一酸化炭素濃度を測れるようにしてみましょう!