CO2センサであるMH-Z19Cで二酸化炭素濃度の変化をグラフ化し、電子ペーパーに表示してみました。
CO2センサ
このセンサは、NDIRというCO2のガスが光の特定の波長を吸収するという特性を利用して濃度を測定しいます。他のガスの影響を受けにくく、精度の良い測定が可能なところが特徴です。
以前、mbedやM5StickCで、このセンサを使ってCO2の濃度の測定をしたことがあります。
今回は、電子ペーパー時計キットを改造して
このキットのマイコンであるESP32にMH-Z19Cを接続し、電子ペーパーに二酸化炭素濃度のグラフを表示してみたいと思います。
プログラム
測定値の取得
MH-Z19Cから測定値を取得するプログラムは、以前の
にあるプログラムを流用しました。
MH-Z19Cとの接続は、34ピン(センサ→ESP32)と25ピン(ESP32→センサ)を使用しシリアル通信しています。
ラインを描く
ラインを描くプログラムには、ブレゼンハムのアルゴリズムを利用しました。
動作させてみる
部屋に設置して、動作させてみます。グラフは現在から過去15分間のCO2濃度の変化を表示します。二酸化炭素濃度は400ppmから1600ppmまでを表示します。1分毎に表示を更新するようにしました。
試しにヤカンにお湯を沸かしてみます。沸かし始めると、二酸化炭素濃度が上昇しました。次に換気扇を回してみます。するとどんどん低下しています。センサは正常に動作しています。
これは換気扇を回さずに、料理をした時のグラフです。1600ppmを超えてしまっています。料理をすると簡単に1500ppmを超えてしまうことがわかりました。
これは窓を開けて換気扇を回した時のグラフです。綺麗に下がっていき外気と同じ400ppmまで下がっています。換気扇を10分回せば、部屋の空気は外気と入れ替えられることがわかりました。
結構面白い
人が数人いるだけで、みるみるCO2濃度が上昇していくのがわかります。また、窓を開けておくと屋外と同じCO2濃度になるので、空気がいい状態を保持していることもわかります。
CO2センサ面白いですね。
回路を作るのが面倒な方は、このセンサを製造しているWINSEN社のCO2測定器を購入すると、精度がよくていいかもしれません。
コメント