刺すだけ簡単! M5Stackで環境監視システムをつくる!(Co2・TVOC・温度・湿度・気圧)
まいどM5Stackで空気の測定をいろいろしているわたくしなわけです。
で、また例によってカタログをぺらぺら見ていたら、公式センサーのGROVEにはHUBという複数のセンサーを同居させるユニットがあることを発見!
拡張ハブユニットみっけ!
https://www.switch-science.com/catalog/5696/
↑こんなんですね~。
3つまでセンサーを同居できる模様。じゃ、これを使ってENV-IIユニットとCO2センサーを両方接続したら、いろいろ測れていいじゃない♪
とゆーかんじのやつを今回作ってみようとおもいます。
センサ
今回使うセンサは
これと、
これの2本。それと最初に用意した拡張ハブユニットです。
今回の本体はFIRE!
センサーがバラバラになるのも嫌んだし、LEGOの穴が各センサーについてるので今回はLEGOでやってみよう~って思いまして、
↑このM5StackFIREというやつをチョイス。LEGOと簡単につなげられるベースが付いていて、磁石でくっついてくれます。
さらに、よく見ると、このFIREというやつ、GROVEのポートが3つもついてるじゃないですか!
これ使えば、こんな風 ↓ にできて、HUBなんてもともといらないんじゃん?
なんて、思っていた時がワタシにもありました><
ダメでした🙅
これ、できません><
詳しくは ↑ こちら参照。
M5GO / M5Stack FIRE
GROVE端子数:3
・PORT A:I2C
ポート詳細:SCL(G22), SDA(G21), 5V, GND
・PORT B:I/O
ポート詳細:ADC(G36), DAC(G26), 5V, GND
・PORT C:UART2
ポート詳細:RXD2(G16), TXD2(G17), 5V, GND
このように、おんなじ形のGROVEポートなのだけれど、3つとも違う役目なのです><
今回使ってるセンサはどちらもI2C接続なので、PORT Aです。電源コネクタのそばの赤い口じゃないといけません。
そちらにHUBをつけて、HUBから2つのセンサを接続する形になりますネ。
↑こういうふうにすればOK
※なので、LEGOをつかわないならM5StackFIREである必要はありません。
I2C接続って?
I2Cって何かっていうのは
こちら参照。
今回使うセンサは
・TVOC/eCO2 ガスセンサユニット(SGP30)
→I2Cアドレス 0x58
・M5Stack用環境センサユニットENV II
SHT30(高精度デジタル温湿度センサ)
→I2Cアドレス 0x44
BMP280 (絶対大気圧センサ)
→I2Cアドレス 0x76
こんなかんじ。0xなんとかってところがI2Cアドレス。これが被ってると通信が喧嘩してしまうのでダメなんですが、それぞれ違うので大丈夫です♪
でもって、いままで何の説明もなくすっ飛ばしていましたが
GROVEシステムについて
全般的な説明は
↑こちら参照。
詳しいのはあんまり日本語の説明ってないんですよねー><
そもそも、
↑が本家のページなんですけど、右上の
で日本語にしようとしたら
ぎゃーす><
ないじゃんおー><
英語のページを頑張って読むか、自動翻訳で読んだ方がよいようです><
↑で接続方式の詳細ナドが出ています。だいたいいろんなものがつながるんですが、
・Digital
・Analog
・UART
・I2C
とそれぞれ別種類なので注意が必要。とのこと。
※M5Stack系はDigitalとAnalogは同じI/Oってコネクタになってるようです。それと、公式とケーブルの色が違うんだって(!)このあたり要注意ですね!><
ここらへんがちゃんとわかっていないと、さっき張った
こんなかんじのことをしてしまうので危険が危ないそうです><
(このセンサは平気ですけれども、場合によってはモジュールや本体を壊してしまうので超要注意だそうー><)
LEGOる!
FIREさんはLEGOの穴があるので
こうして
こんなかんじにしてみました(^^)v☆
なんかかっこいい!☆
プログラムる!
スケッチプログラムは、公式でだしてくれているサンプルの
ファイルー>スケッチ例ー>M5Stackー>Unitー>ENVII_SHT30_BMP280
と、
ファイルー>スケッチ例ー>M5Stackー>Unitー>TVOC_SGP30
を合体!
せっかくなので、気温やCO2濃度が高まると色がかわるようにしたり、Ambientにも出力するようにしてみました☆
↑動かしてみたところ☆
CO2濃度が高くなると大きい字のeCO2の行事が黄色くなったり赤くなったりします。
M5StackFIREには本体の左右にカラーLEDがついていたりするので、そこの色で表現するようにしてもよいかもですねー♪
プログラムソースは、また長くなるので、漏洩がコワイ(風評被害)GitHubにいれときました。
↑こちら参照ー☆
Ambientさんの出力結果
2つのセンサユニットで5つの値をひろってくるので、これまたAmbientさんが得意なところ。こんなんが簡単にできちゃうのはうれしいですねー♪
まとめ
とゆーわけで、今回はハードウェアはコネクタをつないでLEGOで形を作るだけで、プログラムもサンプルを合体させるだけの簡単電子工作でしたが、簡単なくせにかなーり実用的な形になったんじゃないかなと思うのでアリマス☆
これだけで、けっこうしっかりしたセンサーシステム(っていってもいい?w)が作れてしまうのは驚きですねー。
ただまあGROVEとかI2Cとか知らないとわけわからなくなるので、そのあたりはぐぐる先生にお伺いをたてないといけないかんじですが、分からない事を調べながらやれば初心者でも簡単にできちゃいます。
お部屋の空気の汚れ具合を測定する電子工作、ひきこもり推奨の今こそ、みなさんでやってみるとよいかと思います。可視化たのしいですw
※コーヒー淹れるとTVOCめっちゃあがりますね!><