M5StickC と MH-Z19B を使って、二酸化炭素濃度計を作りました

ネットの情報をもとに、M5StickC とMH-Z19B (CO2センサー)を使って二酸化炭素濃度計を作りました。 作ったといっても、M5StickC と MH-Z19B をつないで、さくっとプログラミングしただけ。簡単でした。

一年ぐらい運用していますが、なかなか便利です。 P_20200525_095646_vHDR_Auto.jpg

グラフ表示モードも作ったので、こんな風に直近の濃度の変化もわかります。 P_20200525_095559_vHDR_Auto.jpg

ソースコードはこちら https://gist.github.com/YujiSoftware/9274366a93f1ac7f9208bd4abf096527

実装した機能

  • 現在の二酸化炭素濃度を表示
  • 過去1時間ぐらいの二酸化炭素濃度の推移をグラフで表示
  • 1,200ppm 1を超えたときは、LED 点滅してお知らせ
  • 画面表示のオン・オフ

用意したもの

  • M5StickC(1,980円)
  • CO2センサー MH-Z19B2 (2,019円)
  • ジャンプワイヤ

MH-Z19B は AliExpress で買いました。 買うときに、取り付けが簡単かなと思って「MH-Z19B with Cable」を選んだのですが、これはおススメしません。というのも、このピンと M5StickC をつなぐようなケーブルというのはない3らしく、コネクタとコンタクトピンを買ってきてケーブルを自作する羽目になりました。部品が細かくて、とてもめんどくさかったです…。

「MH-Z19B with Pin」ならば、オス-メスのジャンプワイヤ でつなぐだけだと思うので、こちらの方がよさそうです。

作り方

M5StickC と MH-Z19B のピンを以下の組み合わせでつなぎます。

M5StickC MH-Z19B
G36 Tx
G26 Rx
5V Vin
GND GND

あとは、Arduino IDE で冒頭のソースコードを M5StickC に流し込んで完成です。

感想

市販の二酸化炭素計と違って、自分で好きなようにプログラミングできるのが面白いです。

M5StickC なら、いろいろな機能(LED、LCD画面、ボタン、WiFiBluetooth、バッテリー など)が All in One で載っているので、難易度もかなり低いです。 みなさんにも、ぜひおススメです。


  1. 1,200ppm を超えると眠気を感じるといわれています。

  2. 後継機 MH-Z19C が出ているそうです。

  3. マルツ秋葉原本店で聞いて「ない」と言われました。