8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

世界で一番、プログラマっぽいCO2モニタを作る

Last updated at Posted at 2021-08-31

はじめに

プログラマが愛してやまないOctocatをCO2モニタにしてみました。
カフェであなたがプログラマだとアピールできる、世界で最高のデバイスです!

左がVer.1で、足に埋め込んだ5LED(光ファイバー経由)の色と点灯でCO2を表示。
右がVer.2で、5x5 LEDマトリクスに数字でRound(CO2ppm / 100)を表示。
CO2センサのVer1とVer2

Wifi経由でWebブラウザから24時間の履歴が見れます。

graph

最近、コロナ対策の換気の目安としてCO2センサが注目を浴びるようになってきました。
二酸化炭素は集中力にも影響するのでプログラマにも大事な問題ですね!

精度が高いと言われるNDIR式のCO2センサが安価(2480円)に買えるようになっており、
電子工作界隈で流行っているようです。

子供の夏休みのMicro:bit自由研究に触発されて
大人も自由研究してみることにしました。

写真で右側に写っているVer.2の回路図やArduinoのコードを公開します。

部品と回路図

回路図

回路図

ケース(Octocat)加工

ケース加工

USB-Cでソフトの書き換えができるようにUSB-Cを外向きにして配置します。
ジャンパケーブルを4本、端子を90度に曲げてM5Stackに差し込み、UVレジンで固めます。
ケーブルは熱収縮チューブでまとめて、Octocatの顎に開けた穴に通します。

CO2センサは、頭の後ろを少し切り抜いて、ピンソケットを埋め込み、装着します。
DCDCコンバーターは、頭の中に埋め込みます。
DCジャックは頭に差し込んで、内側からナットで固定します。

Octocatフィギュアはクラフトナイフで簡単に切り裂けます。
手術するような気持ちですが、バッサリといきましょう。

ソフトウェア

ソースコードはこちらです。
https://github.com/komasayuki/co2-monitor

Arduino IDEは依存ライブラリなどが渡しにくいのでPlatformIOを使います。Macな人は

% brew install platformio

でインストールできます。Macじゃない人はPlatformIO公式サイトからどうぞ。

リポジトリからソースコードを持ってきたら
まず、自分のWiFi設定を書き込むためのファイルを作成します。

% cp ./src/config_CHANGE_ME_.h ./src/config.h

./src/config.hのSSIDとPASSWORDを自宅のWiFiの情報に書き換えてください。

#define WIFI_SSID ("xxxxxx")
#define WIFI_PASSWORD ("yyyyyyyyyyyy")

あとはビルドして、M5Stack Atom Matrixに書き込みしましょう。

# build
% platformio run

# upload to M5Stack Atom Matrix
% platformio run -t upload

CO2の読み方と使い方

LEDマトリクスに Round(CO2ppm / 100) の値が表示されます。
表示は4~19まで表示できます。
4-7が緑色
8-9が黄色
10-19が赤色
で表示されます。

2000ppmを超えている場合は真っ赤な四角が表示されます。

config.hで指定したmDNS名でブラウザからアクセスして、24時間のCO2遷移を確認できます。
デフォルトでは http://octocat.local です。

MH-Z19Cはオートキャリブレーション機能を持っていますが、停止しています。
完成したら、CO2センサの手動キャリブレーションをしましょう。

外に持っていってCO2グラフを見ながら値が下がり切るのを待ちます。数分かかります。
http://octocat.local/calibrate
をブラウザで一度開くと、その値を400ppmとしてセンサがキャリブレーションされます。

M5Stack Atom MatrixのLEDマトリクスはボタンにもなっています。
ボタンを押し続けるとWifiをON/OFFします。

気温表示はこのセンサーの隠し機能で、非常に不正確です。

最後に

Ver.1はNeoPixel LEDx5でモジュールを作って、Octocatの足に光ファイバーを通す涙ぐましい苦労をしたのに、発光が微妙でした・・・

スクリーンショット 2021-08-31 14.13.26.png

3インチのOctocatフィギュアは単三電池よりちょっと大きいぐらいです。
M5Stack Atom Matrixは小さくて、LEDマトリクス内蔵で、
USB-Cからソフトを書き換えできてとても使いやすいです。

有機EL液晶は24時間稼働で使っていると焼けてくるかと思うので
LEDマトリクスなら長く使えることを期待しています。

スクリーンショット 2021-08-31 14.14.34.png

なお、Octocatは種族名で、Monalisaが個体名です。知ってましたか?

8
11
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?