はじめに
M5Atomで二酸化炭素濃度モニタリングシステムを作ったのでご紹介。
elchikaへの投稿も今回で2回目です。
なんで作ったの?
子供達が冬休みで一日中家でゲームやってます。
そのせいなのか空気がよどんでる気がします
換気の悪い密閉空間では集中力も下がるようですし。
最悪の場合では新型コロナで家庭内クラスターからの一家入院で離散
それらを一挙解決するため二酸化炭素モニタリングを作りたいと思います。
概要
- 二酸化炭素を表示する
- 折角なら温度と湿度も
- 子供でも確認できるように液晶で表示
材料
- M5Atom Matrix
- CJMCU-8118 (HDC1080温湿度センサーとCCS811ガスセンサー)
- SSD1306 (OLED液晶)
CCS811とHDC1080のライブラリはbfaliszek/CJMCU-8118_InfluxDBを使用しています。
SSD1306はAdafruitの奴を使います。
接続はI2Cです。
その他にCCS811のWAKをGPIO21と接続しています。
GNU Lesser General Public License v2.1
#include <M5Atom.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "ClosedCube_HDC1080.h"
#include "ccs811.h"
Adafruit_SSD1306 display(128,64,&Wire,4);
CCS811 ccs811(21);
ClosedCube_HDC1080 hdc1080;
void setup() {
M5.begin(false, false, true);
Serial.begin(115200);
Wire.begin(26,32);
while(!display.begin(SSD1306_SWITCHCAPVCC, 0x3c)){
Serial.println("Error: SSD1306");
for(int i=0;i<=24;i++) M5.dis.drawpix(i,0x00aa00);
delay(1000);
}
hdc1080.begin(0x40);
while(!ccs811.begin()){
Serial.println("Error: ccs811");
for(int i=0;i<=24;i++) M5.dis.drawpix(i,0x00aa00);
delay(1000);
}
ccs811.start(CCS811_MODE_1SEC);
for(int i=0;i<=24;i++) M5.dis.drawpix(i,0x5000aa);
}
void loop() {
uint16_t eco2, etvoc, errstat, raw;
ccs811.set_envdata210((float)hdc1080.readTemperature(), (float)hdc1080.readHumidity());
ccs811.read(&eco2, &etvoc, &errstat, &raw);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.printf("TEMP: %d C\n", (int)hdc1080.readTemperature());
display.printf("HUMI: %d P\n", (int)hdc1080.readHumidity());
display.printf("eCO2: %d\n", (int)eco2);
display.printf("TVOC: %d\n", (int)etvoc);
display.display();
delay(1000);
}
おわりに
これで子供達も二酸化多酸素を何時でも確認できるようになりました!
ちょっとした生活の質が向上します。
あると便利が実現できる電子工作って素晴らしいですね!
投稿者の人気記事
-
miso
さんが
2020/12/28
に
編集
をしました。
(メッセージ: 初版)
-
miso
さんが
2020/12/28
に
編集
をしました。
-
miso
さんが
2020/12/28
に
編集
をしました。
-
miso
さんが
2020/12/28
に
編集
をしました。
-
miso
さんが
2020/12/28
に
編集
をしました。
-
miso
さんが
2020/12/28
に
編集
をしました。
-
miso
さんが
2020/12/29
に
編集
をしました。
ログインしてコメントを投稿する