この記事はtraPアドベントカレンダー2020 26日目の記事です。
こんにちは、19のK_10p16です。この頃冷たい空気が身にしみますが、いかがお過ごしでしょうか。空気といえば、このご時世換気が大事だとよく聞きますよね。厚生労働省によれば、「室内の二酸化炭素濃度を 1000ppm に維持することは、1人あたりの換気量として毎時約30㎥を確保することに相当する」[1]そうです。そういうわけで、今回はグラフで二酸化炭素濃度の推移を見られるCO2計測器を作ることにしました。
材料と作り方
計測器に必要なのはセンサーとモニター(あとそれらを繋ぐ配線)です。まずセンサーはCCS811を使用しました。CO2センサーには他にもっと正確なものもありますが、ある程度の傾向を知るのであればこれで十分わかります。何より安い そしてモニター、およびマイコンにM5Stack Basicを使います。後でわかったんですが、これめっちゃプレイバリュー高いです。いろいろ遊ぶ用にもう1台欲しくなるくらい。
センサーに刺すピンも含めて、材料はこんな感じです。なにげにこれで1万切ってるんですよね。
あとはこれらをハンダとM5Stack付属のジャンパーで繋げればハードは完成です。
さてお次は動かすためのプログラムです。M5StackはArduino環境でのC言語ベースの開発ができます。専用のヘッダファイルが複数必要ですが、CやC++の要領でプログラムを組むことが可能なのです。今回は濃度の数値とグラフ[2]、そしてバッテリー残量を表示させ、手始めに2秒ごとに更新する形にしました。この間隔の場合、M5Stackのモニターは320pxなので全体で11分弱の推移を見ることができます。
実際に測ってみた
作ってみたはいいけど果たして正常に動くかは、動かしてみないと分かりません。そこで以下の実験を行いました。
1. 換気してCO2濃度を外と同じくらい(400ppm)まで下げる
2. 5分間、ストーブとコンロをつけ、一気に濃度を上げる
3. 5分間、家じゅうの窓という窓を開けて換気する
結果は下の写真のようになりました。大まかな推移は十分測れています。しかし値を見るという点では、最初の換気が欠かせないことも分かりました。一旦外気に触れリセットしないと、室内でストーブを焚いていても400ppmあたりを記録することがあったのです。果たしてこのセンサーは正常に動いていたのだろうか・・・?
また上の実験は短時間で行いましたが、普段使うときはそこまで頻繁に値を見るわけでもないので、更新間隔を10秒に伸ばしました。これなら、約50分での変化をひと目で確認できます。
おわりに
2台目作りてえ。 センサーが正常なのか、そもそも計測値が正しいのか、1つだけでは分かりません。結局何を測っていたんだ 2台目があれば、同じ環境で値が一致するか確かめられますし、環境を少し変えて比較だってできます。それよりもM5Stackでいろいろ遊びたい ともあれコスパも結構高いので、市販の濃度計が売り切れて買えないという方は、自分で作るというのもぜひ検討してみてください。
参考ページ
[1]: https://www.mhlw.go.jp/content/000698866.pdf
[2]: https://westgate-lab.hatenablog.com/entry/2020/04/01/224511
明日の担当者は@0214sh7さんです。お楽しみに!