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

ttks007 が 2021年01月03日21時57分04秒 に編集

コメント無し

本文の変更

-

1.はじめに  以前から懸案であった,「ソーラーゆらゆら パンダ」を M5StickC から動かした.せっかくなので,MH-Z19 で CO2 濃度を測定し,基準値より高ければゆらゆら踊って知らせることとした.また,測定データは定期的に Ambient に送信し,変化を確認できるようにした.  新型コロナ感染拡大による在宅勤務と子供のオンライン授業で,家族の間のコミュニケーションは増えたが,大丈夫とは思っていても閉め切った家の中での生活は不安が伴.また,なんとなく眠気が襲うことも多く,CO2濃度が上がったからだと言い訳をしたいためもあ

+

# はじめに  以前から懸案であった,「ソーラーゆらゆら パンダ」を M5StickC から動かしました.せっかくなので,MH-Z19 で CO2 濃度を測定し,基準値より高ければゆらゆら踊って知らせることとしました.また,測定データは定期的に Ambient に送信し,変化を確認できるようにしました.  新型コロナ感染拡大による在宅勤務と子供のオンライン授業で,家族の間のコミュニケーションは増えたのですが,大丈夫とは思っていても閉め切った家の中での生活は不安が伴います.また,なんとなく眠気が襲うことも多く,CO2濃度が上がったからだと言い訳をしたいためもありました

-

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

+

# MH-Z19による測定  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

-

どちらも動作するが,パンダをつなぐ関係で(2)を選んだ

+

どちらも動作するのですが,パンダを HAT コネクタ側につなぐ関係で(2)を選びました

-

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

+

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

-

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

+

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

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

-

5.プログラムの構成 (1)setup()

+

# プログラムの構成 ### setup()

 M5SctickC,G26 pin,MH-Z19の初期化に続き,WiFi の初期化,RTC の設定を行う.

-

(2)loop()

+

### loop()

 予め millis() で時刻を取得しておき,RTC での時刻取得,MH-Z19 での CO2 濃度測定を行い,LCD に表示する.続いて,Ambient 送信時刻を過ぎたかチェックし,過ぎていたら送信と次回送信時刻の更新を行う.さらに CO2 濃度が設定されたしきい値を上回っていた場合には G26 pin を 5 秒だけ HIGH にして,PANDA に踊ってもらう.次の測定まで 10 秒待つ.

-

(3)その他  NTPサーバから時刻を取得し,RTC に設定する.RTC への設定は,M5StickC/Basics/RTC や次の記事を参考にして作成した.

+

### その他  NTPサーバから時刻を取得し,RTC に設定する.RTC への設定は,M5StickC/Basics/RTC や次の記事を参考にして作成しました.

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

-

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

+

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

-

使用した部品 M5StickC, MH-Z19, ソーラーゆらゆら パンダ, GROVE - 4ピン-ジャンパメスケーブル, その他

+

# 部品の接続 | 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 | その他