アレルギー体質の人、ペットを飼っている人などの中には、ハウスダストを気にしている人も多いのではないかと思います。
今回は、M5StickCとダストセンサを使って、ハウスダストの量を測定できないか、試してみます。
今回使うのは、スイッチサイエンスで購入した「GROVE – ダストセンサ」です。
このセンサは、大気中の1μm以上の粒子状物質の濃度を測ることができます。ちなみに、PM2.5は2.5μm、スギ花粉は30〜40μmの大きさとのことです。
粒子状物質の濃度に比例したLowパルスを出力します。
空気の品質管理、喫煙感知、クリーンルームの管理などに使えるようです。
なお、使用する際には、直立状態にしておかなければならないそうです。また、最初に3分程度の予熱時間が必要です。
ダストセンサを、M5StickCのGROVEポートにつなぎます。
M5StickCのGROVEポートは、電源:5V、信号:3.3Vです。ダストセンサは5V駆動なので、本来は信号を3.3Vに降圧しないといけないのかもしれませんが、今回はM5StickCに直結しました。
ダストセンサで測定したホコリの量を、AmbientというWebサービスに送信して、Ambientでグラフ表示してみます。
スケッチは以下のとおりです。
ダストセンサでホコリの量を測定する部分は、ダストセンサ使用例(http://www.howmuchsnow.com/arduino/airquality/grovedust/)のスケッチを、Ambientにデータを送信する部分は、先日作成したスケッチ(記事は こちら)を流用しました。
#include <M5StickC.h> #include "Ambient.h" WiFiClient client; Ambient ambient; const char* ssid = "XXXXXXXX"; const char* password = "XXXXXXXX"; unsigned int channelId = XXXXX; const char* writeKey = "XXXXXXXX"; int interval = 60000; int pin = 33; unsigned long sendTime; void setup() { M5.begin(); M5.Lcd.setRotation(1); M5.Lcd.setCursor(0, 0, 2); WiFi.begin(ssid, password); while(WiFi.status()!=WL_CONNECTED) { delay(500); M5.Lcd.print("."); } M5.Lcd.print("\r\nWiFi connected\r\nIP address: "); M5.Lcd.println(WiFi.localIP()); ambient.begin(channelId, writeKey, &client); pinMode(pin, INPUT); sendTime = millis(); } unsigned long lowpulseoccupancy = 0; void loop() { unsigned long duration = pulseIn(pin, LOW); lowpulseoccupancy = lowpulseoccupancy + duration; unsigned long currentTime = millis(); if(currentTime-sendTime >= interval || currentTime < sendTime) { float ratio = lowpulseoccupancy / (interval*10.0); float value = 1.1*pow(ratio,3 ) - 3.8*pow(ratio, 2) + 520*ratio + 0.62; ambient.set(1, value); ambient.send(); M5.Lcd.fillScreen(BLACK); M5.Lcd.setCursor(0, 0, 2); M5.Lcd.println(value); sendTime = currentTime; lowpulseoccupancy = 0; } }
センサから取り込んだ信号のLow期間の比率を測定します。測定した値をホコリの量に補正し、1分毎にAmbientに送信します。
センサを我が家のダイニングに設置した時の結果は、以下のとおりです。
夜間は低いレベルになっていますが、昼間はレベルが上がり、人の活動が多いタイミングで大幅に上昇しています。
なお、私がM5Stack、M5StickCの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。
ごく基本的なところから、かなり複雑なスケッチや、ネットワーク接続など、比較的高度なものまで、つまづかずに読み進めていけるような構成になっており、大変わかりやすい本です。
このサイトで書いている、M5Stackシリーズ(M5Stack、M5StickCなど)に関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。
他のM5Stackシリーズの記事にも興味のある方は「さとやまノート」をご覧ください。