ホーム > 家族のギャラリー > PIC電子工作 > 「密」の見える化、CO2濃度計

2021.3.27

「密」の見える化、CO2濃度計

「密」の可視化で話題になったCO2濃度計を作ってみた。

動画



CO2濃度計

CO2センサ

利用するCO2センサはMH-Z19C、UARTとPWMで測定値を読むことができ、今回はUARTを利用。

マイコンはSeeeduino XIAO、小さいのとUSB TypeCで繋がるのがよい。信号配線はRX/TXの2本のみ、センサの電源は5VだがUARTのレベルは3.3VなのでXIAOと直接繋げる。

キャリブレーション機能があるが今回は使ってない。屋外(400ppm位)に1時間放置したのち、キャリブレーションを行うと400ppmに設定されるらしい。

CO2濃度計

センサの動作確認

試しに取得した測定値をArduinoIDEのシリアルプロッタで表示してみた。結構感度がよい。

なお、電源投入後の1分間程度はセンサのプレヒート時間ということで、正しい値は取得できず0ppmや500ppmとなる。

CO2濃度計

カラー液晶表示

手元にあったカラーグラフィック液晶(128x160)を繋いでみた。CO2濃度に応じて背景色が変わる。厚労省の推奨は1,000ppm未満らしいので、1,000ppm未満は緑色、2,500ppm未満は黄色、それ以上は赤にしてみた。なお、このセンサが測定できる最大値は5,000ppm。

CO2濃度計

CO2濃度推移表示

グラフィック液晶なので、測定した結果をグラフ表示する機能も作ってみた。直近1H,2H,6H,12H,24Hの5通り表示できる。

液晶の解像度が低いので表示する際に、解像度に合わせた時間の平均値で表示。 また、縦軸は最大値に応じて1,000ppm単位に自動調整。

CO2濃度計

回路

プログラムが大体OKになったので、改めて回路図を書いた(拡大図)。間違いがあるかも知れません。無保証です。

タッチセンサは表示画面を切り替えるために使用。47Ωの抵抗は液晶ディスプレイのバックライトが明るすぎたので入れてみた。無くても大丈夫。

CO2濃度計

スケッチ

ArduinoIDEのスケッチです。

タイマ割込みで時間をカウントして10秒ごとに測定。測定データは28時間分保存しており、推移のグラフ描画に使用。

グラフィック液晶への表示をトライ&エラーで座標値などを決めたので座標数値が直接埋め込まれていてキレイではありません。バグがあるかも知れません、無保証です。著作権は留保しますが、改造などはご自由にどうぞ。

CO2濃度計

ケース作り

3D-CAD Fusion 360でケースの設計を行い3Dプリンタでケースを印刷。こんな小さいものでも4時間程度かかった。フィラメントはPLA樹脂を使用。

CO2濃度計

部品一式

ケース、液晶ディスプレイ、CO2センサ、タッチセンサ、XIAO(すでにケースに取付済)。

CO2濃度計

配線

配線は基板を使わず、ワイヤラッピングによる空中配線。ラッピングワイヤを各部品のピンヘッダに巻きつけたのち、動作確認中。

CO2濃度計

組み立て

CO2センサとタッチセンサは両面テープで貼り付け。液晶ディスプレイはホットボンドで基板の四隅を固定。 XIAOはケースの所定の場所にはめ込んだら動かなかったのでそのまま。

CO2濃度計

正面

多少、3Dプリンタの積層痕があるがまあまあ。表示画面のデザインはこのあと少し変更。

CO2濃度計

側面

見やすくするためディスプレイ面は斜めにしてある。

CO2濃度計

裏側

CO2センサのセンスする部分は穴を開けてある。内部でゆっくりLEDが点滅している。

XIAOのUSB TypeCコネクタに直接ケーブルを差し込んで給電。プログラムの書き換えもここからできる。

CO2濃度計

推移グラフ

タッチセンサにタッチすることで以下の順に表示モードが切り替わる。

数値による濃度と温度表示、リング内に濃度表示、過去の推移1H、2H、6H、12H、24H

以下、ブログ記事

以上


from Metal Woods(c) 2021