コンパイル書き込み実行およびボタン操作方法
では、前項のスケッチをコンパイル書き込み実行してみてください。
display_bme280_i2c.h: fatal error: bme280.h: No such file or directory
が出る場合、インストールした私の自作ライブラリのSensorフォルダの中の以下の2つのファイルを削除してみてください。
Windows 10 の場合、以下のパスになります。
C:\Users\__user_name__\Documents\Arduino\libraries\ESP32_mgo_tec-master\src\ESP32_mgo_tec_bV1\Sensor
削除するファイルは以下の2つです。
display_bme280_i2c.h
display_bme280_i2c.cpp
(2018/09/24)
M5Stack 起動または再起動直後は、ガスセンサの値が不安定です。
10分以上ウォームアップ運転してからAmbient へ送信するなりした方が良いと思います。
M5Stack の LCD ディスプレイ表示の意味は以下の様な感じです。
そして、ボタンスイッチは下図の様な感じです。
ボタンスイッチの役割は以下の通りです。
【ボタンA】
瞬時押しと長押しでグラフの最大、最小値を切り替えます。
押すと下図の様に3秒間表示されますが、グラフ再描画時間になったら、自動的に最大最小値表示は消えます。
【ボタンB】
瞬時押し → アラーム音発生設定切り替え。
長押し → Ambient 送信設定切り替え。
Ambient へのデータ送信は3分毎に設定しています。
アラームは、WiFi接続時、Ambient接続時に一時停止します。
【ボタンC】
BME680 センサ値取得時間間隔切り替え。
瞬時押しのみ。
3秒毎(デフォルト)
↓
6秒毎
↓
12秒毎
↓
36秒毎
↓
1分12秒毎
↓
4分48秒毎
キッチン(台所)で測定してみる
警告音を発する閾値の設定や、最大値最小値の設定は、いろいろな場所や有機溶剤でテストして、自分の一番良い設定に変更すれば良いと思います。
私のパソコン部屋ではエアコンが効いていて、一応クリーンな部屋です。
ガスセンサの値が90000 ohm を超えることもしばしばで、安定しています。
エアコンを使うと空気清浄されているのか分かりませんが、ガスセンサの値が良好です。
ですが、台所へ行くと蒸し暑く、ガスセンサの値が 40000 を下回る状況です。
特にガスが漏れているわけではありませんが、道路の排ガスを検知しているものと思われます。
下図をご覧ください。
これは換気扇を回している場合です。
台所が蒸して熱いため、「熱中症警告」が出ることがしばしばあります。
上図の様に、コンロに点火してスープを温めると、水蒸気で湿度が上がりますが、ガスセンサはあまり反応しません。
上図の反応はスープの蒸気による反応だと思います。
実際は水を温めても殆ど反応ありませんでした。
これは恐らく完全燃焼しているという証拠でもあると思います。
では、換気扇を止めて測ってみるとこんな感じになります。
手振れで画像がボケていてスミマセン。
エアコンの入ったクリーンルームからキッチン(台所)に移動すると、急激にガスセンサの値が下がります。
一定値に落ち着いたら、換気扇が停止したままガスコンロを点火してみました。
見にくくて申し訳ないのですが、上図のように、0~-3分のところでは、湿度はピークを示していますが、ガスセンサの方は殆どピークらしき波形は出ませんでした。
やはり、コンロは正常で、不完全燃焼やガス漏れはしていないようです。
とりあえず、自己判断でヨシとします。
(※心配な方は必ず専門業者に測定してもらって下さい。これはあくまで自己流簡易測定です)
一度、不完全燃焼させてピークが出るかどうか見たいと思う欲求が出ますが、危険なのでやめておきます。
良い子は絶対やらないようにしてください。
編集後記
いかがでしょうか。
ガスセンサはグラフにして「見える化」するとやっぱり良いですね。
普段、あまりセンサ報知器を使うことはありませんが、お年寄りがいる家庭などはこのセンサ報知器は使えるような気がします。
お年寄りは熱中症に気付きにくかったり、台所でうっかり不完全燃焼なんてあるかもしれません。
とすると、こういうものを作って台所に置いておくのも悪くないかも知れません。
もちろん、本当にそういう危険性があるのなら、大手メーカーの信頼ある既製品を使った方が良いですけどね。
また、今回、Ambient へ3分毎にデータを送っていますが、ガスセンサの素早い検知を Ambient で見たい場合には、時間間隔を小さくしても良いかも知れません。
Ambient は最少6秒毎だったかな?
各自確認してみてください。
その場合、WIFI_OFFにしない方が良いです。
今回はここまでです。
次回はこれにもっといろいろな機能を追加してみようと思っています。
ではまた・・・。
コメント
mgo-tec 様
「 M5Stack で、ガス・気圧・温度湿度センサ BME680 を使ってみた」をクリアしていたので、本テキストが出るのを心待ちにしていました。
Arduino – ESP32 と ESP32_mgo_tec を最新版にし、スケッチをコンパイルすると、次のようなエラーメッセージとなります。
error : expected ‘ , ‘ or ‘ ; ‘ before ‘ int32_t’
int32_t threshold = 10000;
error : ‘ threshold’ was not declared in this scope
}else if( now_av > threshold ){
閾値が宣言されていないとのメッセージのようですが、対応の仕方が解りません、ご教示の程お願いいたします。
juchangさん
いつもいつも試していただき、そして指摘してくださって、ありがとうございます。
すみません、今気づきました。
その前の223行の文、
とのころの最後のセミコロンが抜けておりました。
大変失礼しました。
私のチェックが甘かったです。
ほんと申し訳ありませんでした。
m(_ _)m
なお、juchangさんが要望されていた、SSD1351ライブラリのESP32化は、あまり進んでおりません。
ESP8266のものをそのままESP32に移行できるように考えていましたが、いろいろ仕様が異なっていて、しばらく時間がかかります。
私もいろいろとごった返していて、作業もあまり進めない状況です。
気長にお待ちいただければと思います。
m(_ _)m
mgo-tec 様
早速アドバイスをいただきありがとうございます。
無事、動作確認致しました。
次のテキストを楽しみにお待ちしております。
度々すみませんでした。
m(_ _)m
mgo-tec 様
My5Stack(仮称)を作ってみました。
3Dプリンターでケースを作り、ボタンを配置してみました。
是非とも mgo-tec さんに見ていただきたく、ご承諾いただけましたら写真を送る方法( E-mail とか)をお知らせいただけると幸いです。
さて、リクエストの第二弾です。
「 M5Stack と BME680 でガス報知器…」を、ILI9341 LCD で表示させてみたいのですがブザーの接続が解りません。
プログラムのリニューアル発表をお待ちいたしております。
juchangさん
いつもお世話になっております。
3Dプリンターケース、面白そうですね。
ぜひ、見させていただきたいと思います。
ただ、このコメント欄でのメールアドレス表記は、スパムの餌食になるので、こちらの記事の Amazon ギフトカード支援用のアドレスへ送って頂ければと思います。
また、ブザーは別途アンプ回路とスピーカーが必要になります。
M5Stack には予めマウントされています。
残念ながらこのブログでは、しばらく音声出力回路を作る予定はございません。
ネットには、スピーカーから音を鳴らす方法がもの凄い沢山あるので、そこを参考にして頂ければと思います。
お力になれず、申し訳ございません。
いつか、ものすごく余裕ができたら取り組んでみたいと思います。
m(_ _)m
コメント失礼いたします。
後継であるM5Stack Core2でもこちらの記事にあるソースコードを用いて同様のものを作成することができるのでしょうか?ご教示の程よろしくお願いいたします。
donko さん
記事をご覧いただき、ありがとうございます。
2件、同じ内容のコメント投稿があったので、おそらく同一人物と思われたので、1件目は削除させていただきました。
M5Stack Core2 は実機を持っておらず、今は新たに買うこともできないので検証することができませんが、まずお聞きしたいのは、液晶ディスプレイに表示はできますか?