編集履歴一覧に戻る
ttks007のアイコン画像

ttks007 が 2021年01月03日22時08分36秒 に編集

コメント無し

本文の変更

# はじめに  以前から懸案であった,「ソーラーゆらゆら パンダ」を M5StickC から動かしました.せっかくなので,MH-Z19 で CO2 濃度を測定し,基準値より高ければゆらゆら踊って知らせることとしました.また,測定データは定期的に Ambient に送信し,変化を確認できるようにしました.

-

 新型コロナ感染拡大による在宅勤務と子供のオンライン授業で,家族の間のコミュニケーションは増えたのですが,大丈夫とは思っていても閉め切った家の中での生活は不安が伴います.また,なんとなく眠気が襲うことも多く,CO2濃度が上がったからだと言い訳をしたいためもありました.

+

新型コロナ感染拡大による在宅勤務と子供のオンライン授業で,家族の間のコミュニケーションは増えたのですが,大丈夫とは思っていても閉め切った家の中での生活は不安が伴います.また,なんとなく眠気が襲うことも多く,CO2濃度が上がったからだと言い訳をしたいためもありました.

# MH-Z19による測定

-

 MH-Z19B は Amazon 等で入手がしやすく,Ambient のサイトの記事より比較的正しい値で測定できることがわかりました.今回は Amazon で一番安そうなものを購入したのですが,買ってみたら表面の丸い凸状の部分がありませんでした.やや不安ではありますが,使用上は問題なさそうだと感じています.

+

MH-Z19B は Amazon 等で入手がしやすく,Ambient のサイトの記事より比較的正しい値で測定できることがわかりました.今回は Amazon で一番安そうなものを購入したのですが,買ってみたら表面の丸い凸状の部分がありませんでした.やや不安ではありますが,使用上は問題なさそうだと感じています.

センサーについての比較はこちらのサイトを参考にしています. 「[CO2センサー、空気品質センサーの測定値を比較する(Ambient Data)](https://ambidata.io/samples/temphumid/airqualitysensors/)」

-

 M5StickC に接続し,Arduino IDE で開発しています.J.Dempsey 氏の MH-Z19 ライブラリをインストールし,UARTで接続してデータを読み込みます.M5StickC への接続は2種類試しました.

+

M5StickC に接続し,Arduino IDE で開発しています.J.Dempsey 氏の MH-Z19 ライブラリをインストールし,UARTで接続してデータを読み込みます.M5StickC への接続は2種類試しました.

(1) HATコネクタ側:G0(RX), G26(TX), 5V, GND (2) GROVE互換コネクタ側:G32(RX), G33(TX), 5V, GND どちらも動作するのですが,パンダを HAT コネクタ側につなぐ関係で(2)を選びました. # Ambeint へのデータ送信

-

 Ambient Data 製の Ambient ESP32 ESP8266 lib をインストールし,Ambeint.io へ10分に一度データを送信するように設定しました.以前 ENV HAT で利用した際は,本体の発熱の影響を避けるために,送信後 Deep Sleep モードへ移行するようにしていましたが,MH-Z19 は長時間使っていないと安定しないとのことだったので,常時稼働するようにしました.

+

Ambient Data 製の Ambient ESP32 ESP8266 lib をインストールし,Ambeint.io へ10分に一度データを送信するように設定しました.以前 ENV HAT で利用した際は,本体の発熱の影響を避けるために,送信後 Deep Sleep モードへ移行するようにしていましたが,MH-Z19 は長時間使っていないと安定しないとのことだったので,常時稼働するようにしました.

# パンダの分解

-

 ソーラーゆらゆらシリーズはいろいろありますが,今回はパンダを利用することにしました.白黒のパンダが揺れると視認性が良く気が付きやすいのと,普段あまり活躍していないことから分解するのに抵抗が無いからです.  細いマイナスドライバを使い,裏蓋を丁寧にこじ開けます.内部には太陽電池(VIMUN SC-3012-2A),電解コンデンサ(220μF, 10A)のついた小さなモールド基盤,細い線を巻いたコイルがあるので,丁寧に外します.  太陽電池のマイナス側に接続されているケーブルにマークをつけ,接続されているケーブルを太陽電池に近い側で切り離します.基盤に配線をはんだ付けしても構いません.太陽電池を取り外した穴からケーブルを外に出し,元通りに組み立てます.  太陽電池の出力を測定したところ 1.2V 程度だったので,まず,切り離した回路に 1.5V 電池を接続し,パンダが動くことを確認しました.その後,M5StickC で簡単なサンプルプログラムを作成し,+ 側を G26 に,- 側を GND に接続し,G26 をデジタル出力としてパンダが動作することを確認しました.

+

ソーラーゆらゆらシリーズはいろいろありますが,今回はパンダを利用することにしました.白黒のパンダが揺れると視認性が良く気が付きやすいのと,普段あまり活躍していないことから分解するのに抵抗が無いからです. 細いマイナスドライバを使い,裏蓋を丁寧にこじ開けます.内部には太陽電池(VIMUN SC-3012-2A),電解コンデンサ(220μF, 10A)のついた小さなモールド基盤,細い線を巻いたコイルがあるので,丁寧に外します.

![パンダの足元](https://camo.elchika.com/b2bcd70c14ba15dd1232e90528e39ee34c348cff/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62666239643264622d303231662d346233612d383036302d3930313131646335373938662f32376438613139302d333338652d343231372d626337362d643933623563393131643539/) ![太陽電池,基盤,コイル](https://camo.elchika.com/8e172c192835715163cdafcb06a4ca9165e82793/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62666239643264622d303231662d346233612d383036302d3930313131646335373938662f62613762613933322d386336392d346439342d613839392d343031383633333538646663/)

+

太陽電池のマイナス側に接続されているケーブルにマークをつけ,接続されているケーブルを太陽電池に近い側で切り離します.基盤に配線をはんだ付けしても構いません.太陽電池を取り外した穴からケーブルを外に出し,元通りに組み立てます.

+

太陽電池の出力を測定したところ 1.2V 程度だったので,まず,切り離した回路に 1.5V 電池を接続し,パンダが動くことを確認しました.その後,M5StickC で簡単なサンプルプログラムを作成し,+ 側を G26 に,- 側を GND に接続し,G26 をデジタル出力としてパンダが動作することを確認しました.

# プログラムの構成

-

### setup()  M5SctickC,G26 pin,MH-Z19の初期化に続き,WiFi の初期化RTC の設定を行う. ### loop()  予め millis() で時刻を取得しておき,RTC での時刻取得,MH-Z19 での CO2 濃度測定を行い,LCD に表示する.続いて,Ambient 送信時刻を過ぎたかチェックし,過ぎていたら送信次回送信時刻更新を行う.さらに CO2 濃度が設定されたしきい値を上回っていた場合には G26 pin を 5 秒だけ HIGH にして,PANDA に踊ってもらう次の測定まで 10 秒待つ ### その他  NTPサーバから時刻を取得し,RTC に設定する.RTC への設定は,M5StickC/Basics/RTC や次の記事を参考にして作成しました.

+

## setup() 1. M5SctickC,G26 pin,MH-Z19の初期化 2. WiFi の初期化 3. RTC の設定 ## loop() 1. 予め millis() で時刻を取得しておき,RTC での時刻取得,MH-Z19 での CO2 濃度測定を行い,LCD に表示 2. 続いて,Ambient 送信時刻を過ぎたかチェックし,過ぎていたら送信次回送信時刻更新 3. さらに CO2 濃度が設定されたしきい値を上回っていた場合には G26 pin を 5 秒だけ HIGH にして,PANDA に踊ってもらう 4. 次の測定まで 10 秒待つ ## その他 - NTPサーバから時刻を取得し,RTC に設定する.RTC への設定は,M5StickC/Basics/RTC や次の記事を参考にして作成しました.

「[M5StickCのRTCをNTPサーバーからセットする (Lang-ship)](https://lang-ship.com/blog/work/m5stickc-rtc-ntp/)」 # 完成して

-

 普段室内ではあまり動かなかったパンダが,強制的にでも動くようになり良かったです(何故かペンギンや招き猫は室内でも結構動いているのです).計測したリビングの CO2 濃度については,夜間に下がり続けた後,朝食の準備で一気に上がることがわかりました,また,値が安定するためには1日くらいは必要に思えるのですが,室外でキャリブレーションをかけてから使用する方法,オートキャリブレーションモードを利用する方法があるようなので,使いやすい方法がないか検討してみたいと思っています.

+

ふだん室内ではあまり動かなかったパンダが,強制的にでも動くようになり良かったです(何故かペンギンや招き猫は室内でも結構動いているのです).計測したリビングの CO2 濃度については,夜間に下がり続けた後,朝食の準備で一気に上がることがわかりました,また,値が安定するためには1日くらいは必要に思えるのですが,室外でキャリブレーションをかけてから使用する方法,オートキャリブレーションモードを利用する方法があるようなので,使いやすい方法がないか検討してみたいと思っています.

# 部品の接続 | M5StickC | 外部 |

-

|:---:|:---|

+

|:---|:---|

|HY2.0 黒: GND| MH-Z19 青 : V-| |HY2.0 赤: 5V| MH-Z19 緑 : V+| |HY2.0 白: G32(RX)|MH-Z19 黒 : TX| |HY2.0 黃: G33(TX)|MH-Z19 黃 :RX| | GND | パンダ - | | G26 | パンダ + |

-

色はケーブル

+

使用したケーブルの色を書いています

# 使用した部品 | 部品 | 入手先 |

-

|:---:|:---|

+

|:---|:---|

| M5StickC | Switch Science | | MH-Z19 | Amazon | | ソーラーゆらゆら パンダ | ダイソー| | GROVE - 4ピン-ジャンパメスケーブル|Switch Science |

-

その他

+

その他,ジャンパーケーブルなど