
格安でかんたんにCO2はかるよ!(M5Stick-C+SGP30UNIT)
※いちおう有料にしていますが、払わなくてもほぼ読めます※
今回の目標
なるべく楽に、安く、簡単に、の三拍子でCO2をはかるやつ作る!
楽に
はんだ付けしませんw
付属のケーブルで本体とセンサをつなぐだけです。
安く
本体はM5StickCというそこそこ安い子を使います(1,650円)
センサはM5Stack用で1,562 円!
しめて 3,212円!
※今回はしませんけど、もっと安いATOM Lite(968円)を本体にすることもできる筈ですー。
簡単に
スケッチプログラムをコンパイルして突っ込むだけ!
説明も簡単にw
これとこれを買ってきて……
つないで……
プログラムして……
コンパイル&転送して……
実行するだけ!
できた!
楽勝ですね!!
とまあそれだけでは何なので、この段階のプログラムリストを貼っときます。
ソース
#include <M5StickC.h>
#include "Adafruit_SGP30.h"
Adafruit_SGP30 sgp;
void setup() {
M5.begin();
M5.Axp.ScreenBreath(9); // バックライトの明るさ(7-15)
Wire.begin(32, 33, 100000); // ← M5StickCのI2CはSDA-G32、SLC-G33
M5.Lcd.setRotation(1);
M5.Lcd.fillScreen(TFT_BLACK);
M5.Lcd.setTextSize(2);
M5.Lcd.setTextColor(TFT_WHITE);
M5.Lcd.setCursor(0, 0);
//Serial.begin(115200);
Serial.println("SGP30 test");
if (! sgp.begin()){
Serial.println("Sensor not found :(");
while (1);
}
Serial.print("Found SGP30 serial #");
Serial.print(sgp.serialnumber[0], HEX);
Serial.print(sgp.serialnumber[1], HEX);
Serial.println(sgp.serialnumber[2], HEX);
}
void loop() {
unsigned long sec = millis() / 1000;
if (! sgp.IAQmeasure()) {
Serial.println("Measurement failed");
return;
}
Serial.print("TVOC "); Serial.print(sgp.TVOC); Serial.print(" ppb\t");
Serial.print("eCO2 "); Serial.print(sgp.eCO2); Serial.println(" ppm");
M5.Lcd.fillScreen(TFT_BLACK);
M5.Lcd.setCursor(0, 0);
M5.Lcd.print("eCO2:");
M5.Lcd.print(sgp.eCO2);
M5.Lcd.println(" ppm");
M5.Lcd.println("");
M5.Lcd.print("TVOC:");
M5.Lcd.print(sgp.TVOC);
M5.Lcd.println(" ppb");
/*
M5.Lcd.print("Time= ");
M5.Lcd.print(sec);
M5.Lcd.println(" sec");
*/
delay(1000);
}
ギャラリー
ちっちゃくてかわいいので両面テープでくっつけてみましたw
サイズぴったり
こんなかんじですねー。
とりあえず、CO2の値を知りたいだけなら、こんなに楽勝にできちゃいます☆
いままでのM5StackやM5Stickの記事を読まれていた方ならこれ以上の説明は不要じゃないかなと思いますが、これだけじゃわからんっ! って人用と、オマケ情報の蛇足部分をこの後書いておきます(´・ω・)(・ω・`)ネー
蛇足:初期設定からAmbientまで
ここから先は
1,225字
¥ 100
よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費にさせていただきます!感謝!,,Ծ‸Ծ,,