M5StickC Plus と MH-Z19C センサで CO2 濃度を可視化してみた
この記事は Rakuten Rakuma Advent Calendar 2022 の 17 日目の記事です。
マイコン初心者が CO2 センサの MH-Z19C で計測した値を M5StickC Plus で表示するまでの内容となります。
この手の記事は検索すると割と出てくるものですが、前提や諸条件が自分の手元の環境と微妙に違ったりしてそれなりに苦労したので誰かの助けになればと思い記事にしました。
きっかけ
かねてからラズパイに興味はあったものの今まで手をつけてこなかったのですが、ちょうどプラモが完成したタイミングでアドベントカレンダーをやりますという話を聞いたのでいい機会だしラズパイで遊んで記事書くかと軽い気持ちで手を上げました。
HG ゲシュペンスト完成 pic.twitter.com/PE3m951ZFV
— カニカニカニバル (@ka_nipan) 2022年11月4日
ラズパイ手に入らん
いざラズパイ買おうとするとどこも品切れ。。。
ポチれるサイトを見つけてポチって見たら後々メールで入荷予定は 1 年後とのこと。
ラズパイ買えるじゃんと思ってポチったら入荷予定は来年の9月ってメール来た…
— カニカニカニバル (@ka_nipan) 2022年11月6日
M5Stick なるものを見つけた
元々家の二酸化炭素濃度計測したいなーと思っていてそれをラズパイでやってみたいと思ってたのでそれっぽいワードで色々検索していたら M5StickC Plus と MH-Z19C で CO2 濃度を測ってみたという記事に流れ着いたのでこれ幸いと飛びついたわけです。
環境
CO2 濃度を表示するまでに苦労して色々なサイトに書いてあることを試行錯誤したので最終的な環境を書き残します
開発環境
必要なブツ
M5StickC Plus
MH-Z19C
これ系のブツはフェイク品が結構あるらしいですがここのサイトで買えば良いらしいです
ピン配列交換ケーブル
M5StickC Plus と MH-Z19C をつなぐやつ
ソースコード
ソースはほぼ こちらのサイト をまるっと使わせていただきましたが一応 github に上げておきました。
色々あってできた
CO2 センサーから数値取ってこれた!
— カニカニカニバル (@ka_nipan) 2022年12月6日
苦労したわ pic.twitter.com/hHla95ZiAX
CO2 センサから値を取ってきて表示するまでできたのでとりあえずのゴールは出来ました。
追記
ここまで書いた後 Twitter 経由で CO2 HAT の作成者様からアドバイスいただきました。
CO2 HAT とは
当初 MH-Z19C と M5StickC Plus をつなぐものとして CO2 HAT なるものを使っていました。
ただ合体させるだけで良いのでめっちゃ楽だしケーブルで繋ぐよりスッキリします。
しかし、使い方が書かれたブログ の通りに進めていくと VSCode 上で M5STACK DEVICE のファイルリストが見えるらしいのですが何も見えず途中で挫折し PlatformIO 拡張機能を使う方法にシフトしました。
その後アドバイスいただけたおかげで CO2 HAT でも CO2 濃度を表示させることができました。こちらオススメです。
あ、いけました!
— カニカニカニバル (@ka_nipan) 2022年12月13日
ありがとうございます!! pic.twitter.com/cSVNsnq5mr
先ほど紹介したソースコードからピン番号が変わります。
このピン番号というか回路図あたりが全然理解できてない初心者丸出し具合が出てます。。。
#define RX_PIN 36 // Rx pin which the MHZ19 Tx pin is attached to #define TX_PIN 0 // Tx pin which the MHZ19 Rx pin is attached to