温湿度気圧センサユニット Ver.3(ENV Ⅲ)
手っ取り早く何かを繋げてみたかったので、
M5Stack用温湿度気圧センサユニット Ver.3(ENV Ⅲ)
をアマゾンで購入しました。動くまで時間がかかるのかと思っていました。
クラスが良くできているので簡単なコードですぐ動きました。部品を単体で買って 作り上げるのに比べ簡単すぎます。
センサーは2つ実装されています。
SHT30は高精度かつ低消費電力のデジタル温湿度センサです。 QMP6988はモバイルアプリケーション向けに設計された絶対気圧センサです。
こんな簡単なコードです。
/*
*******************************************************************************
* M5Stack prototype
* date:2022/7/28
* Author Sadajejeje
*******************************************************************************
*/


#include <M5Core2.h>
#include "UNIT_ENV.h"

SHT3X sht30;//temp, hum sensor
QMP6988 qmp6988;// press sensor


void setup() {
    M5.begin();             // Init M5Core2.
    M5.lcd.setTextSize(3);  // Set the text size
    Wire.begin();  // Wire init, adding the I2C bus.
    qmp6988.init();
}

void loop() {
float tmp, hum,  pres;
char buf[32];

    pres = qmp6988.calcPressure() / 100.0;
    if (sht30.get() == 0) { 
        tmp = sht30.cTemp;
        hum = sht30.humidity;
    } else {
        tmp = 1000, hum = 1000;
    }
    M5.Lcd.setTextDatum(TC_DATUM);//cnentering
    sprintf(buf,"Temp:%0.1f C", tmp);
    M5.Lcd.setTextPadding(120);
    M5.Lcd.drawString(buf, 160, 10, 1);

    sprintf(buf,"Humi:%0.1f %%", hum);
    M5.Lcd.setTextPadding(120);
    M5.Lcd.drawString(buf, 160, 50, 1);

    sprintf(buf,"Pres:%0.1f hPa", pres);
    M5.Lcd.setTextPadding(120);
    M5.Lcd.drawString(buf, 160, 90, 1);

    delay(2000);
}
    

知気象と比べてみました。

大体同じかな?