ほこりとCO2を検知し部屋を超快適な空間にする‼

最終更新日

Comments: 0

 

こんにちは!

本日はほこりセンサーとCO2センサーを組み合わせて、超快適な部屋にしたいと思います‼

 

イメージとしては、センサーで取得 → 環境が悪かったら窓を空けるです!

窓を空ける作業も自動にしたいところですが、メカ的な問題もあり、今回はとりあえずセンサーで部屋の環境を把握できる装置に仕上げます。

 

※一部はんだ付けをする箇所が御座います。


①「部品」

・ほこりセンサー(DSM501A)

現在はAmazonにも楽天にも秋月にも販売してなく電子工作ステーションなどで入手可能‼

電子工作ステーション 1450円(送料無料)

 

・MH-Z19E (MH-Z19C,Dでも可)

電子工作ステーション 2450円(送料無料)(MH-Z19E)

・ESP-WROOM-32(NodeMCU-32)

電子工作ステーション 1350円(送料無料)(38Pin)

※ESP32には、主に「NodeMCU-32」と「DevKitC V4」の2種類があります。

NodeMCU-32の方は、pin表示を無くした分、横幅が細くなっているので通常のブレットボードに収まります。

そのため、今回はNodeMCU-32を使います。

 

・5V出力昇圧DCDCコンバーター (ESP32から5V(±0.1V)が出力されてない場合)

電子工作ステーション 250円(500円以上購入で送料無料)(pinはんだ済み)

※MHZ19は、5V(±0.1V)を必要とします。ESP32には5V出力はありますが、実際は4.8Vしか出て無く、MHZ19センサーが上手く動作しないことがたまにありますので、

念のためコンバーターを付けておくと確実です。

 

・通信用マイクロUSBケーブルタイプB (家に無ければ)

秋月電子 120円+送料

ESP-WROOM-32とパソコンを繋ぐためのケーブルです。

100円ショップなどでも販売していますが、スマホ用充電専用タイプだと使えないのでご注意ください。

タイプB通信ケーブル

 

・ブレットボード(400穴)

電子工作ステーション 260円+送料(500円以上で無料)(400穴)

 

・ジャンパーワイヤー(オス・オス)(5本)

電子工作ステーション 1セット(10本)110円+送料(500円以上で無料)

 

・ジャンパーワイヤー(オス・メス)(4本)

電子工作ステーション 1セットで100円(送料500円以上で無料)

 

②「配線」

まず、DSM501Aの付属ケーブルをブレッドボードに差せるよう、PINをはんだ付けします。

次はDSM501AとESP32を繋ぐためにブレッドボードに配線していきます!

配線配置は下記に⇩

・DSM501Aのサンプルコード、英語版ですがご参考までに一応載せておきます。

ほこりセンサーの(DSM501A)説明所(英語PDF)

 

ほこりセンサー(DSM501A) ESP32
1(Control1)(黒)
2(Vout2)(赤) 16
3(5V +-0.5V)(白) 5V
4(Vout1)(黄)
5(GND)(茶orオレンジ) GND

次に、センサー裏面にpin名が書いてあるのでそちらを参考に接続しましょう。

※HDピンはゼロキャリブレーション様です。

(ゼロキャリブレーションとは、測定値をリセットして測定値がゼロとなるように調整する作業です。)

やり方は幾つかあるそうですが、一番簡単な方法は下記の様になります。

  1. 400ppmの場所(屋外や喚起された屋内など)で20分程動作させる。
  2. HDピンをGNDに7秒接続する。この瞬間が400ppmとして調整されます。

ゼロキャリブレーションは基本しなくて大丈夫です。数値が大幅におかしいと感じた時に試してみましょう!

 

MH-Z19E ESP32(接続pin)
Tx 4(D4)
Rx 5(D5)

 

MH-Z19E 5V出力昇圧DCDCコンバーター
V1n Vo
GND GND

 

5V出力昇圧DCDCコンバーター ESP32(接続pin)
Vi 5V( + )
GND GND( – )

※上記の画像のMH-Z19センサーBタイプのものです。C,D,Eは白い部分が左側にあります。(配線はかわりません。)

③「開発環境」

Arduino IDE開発環境

Arduino IDEをまだ入れてない方はこちら⇩

Arduino IDEでESP-WROOM-02(ESP8266)とESP-WROOM-32を使えるようにする!(Windows10)

Arduino IDEでNodeMCU-32を使えるようにする

Arduino IDEでNodeMCU-32を使えるようにするやり方⇩

ArduinoIDEでNodeMCU-32を使えるようにする‼

MH-Z19のライブラリー導入

今回はGitHbuで公開されているライブラリ、

「MHZ19_uart.h」というものを使わせて頂きますのでArduinoIDEにこちらのライブラリーを入れてください。

 

手順は簡単で、こちらからライブラリーをダウンロードして解凍します。

 

・解凍が終わりましたら「mhz19_uart-master」というフォルダーごと

「libraries」(C:\Users\…..\arduino\libraries)に入れるだけです。

 

後はArduinoIED起動させ、ファイルスケッチ例の中にmhz19_uartがあれば準備完了です。

 

DSM501Aのライブラリーは必要ないのでこれで以上です。


④「プログラミング」

ESP32をPCと繋ぎ、下記のコードをコピペしビルドします。

 

シリアルポートを開き、右下のところを115200bpsにすれば準備完了です。

 

プログラムの流れとしては、

起動→30秒待機→DSM501Aセンサー取得→CO2センサー(MH-Z19)取得→30秒待機の繰り返しです。

⑤「結果」

30秒に一回センサーの値が表示されますので、まずは気長に待ちます。

CO2センサーも正確な数値を取得するのに1分ほど掛かかります。

 

そうすると下記のように表示されていきます。

 

 

こんな感じになれば成功です‼

 

センサーの前で服を1分ほどぱたぱたしてみたら、下記のように値が跳ね上がりました(笑)

 

これがあれば、部屋に今ほこりが多いのか、CO2濃度が高いのかが確認できます‼

CO2センサーは温度の取得もしてくれますが、精度は優れていないため、おまけ程に見ましょう‼

 

これにて完成、さらにLEDを付けて色で部屋環境を示すようにしたら更に面白いですね^^

 

★CO2濃度の基準⇩

350~500ppm 外気
500~1000ppm 一般的な屋内
1000~2000ppm
悪い室内空気環境
2000~2500ppm
眠気を感じてくる人が出てくる
2500~3000ppm
肩こりや頭痛を感じてくる人が出てくる
3000ppm~
集中力などが低下してくる
※日本での二酸化炭素濃度の基準値は建築物衛生法によって、
居室内は1,000ppm以下、幼稚園、保育園、学校は1,500ppm以下と定められています。

 

★DSM501Aセンサー(ほこりセンサー)の基準⇩
基準は不明ですが、500前後が良い環境だと思ってます。
但し、センサーの可変抵抗値によって変わるので、一概には言えません。

 

※今回は、2個ある可変抵抗値(青い四角いやつ)のメモリを両方とも4に合わせてます。
これらの数値を参考に部屋の快適度を可視化できるかと思います‼

 

以上、ご閲覧ありがとうございました‼

分からないことが御座いましたら、お気軽にコメントください。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする