|
| 温湿度気圧センサユニット 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);
}
知気象と比べてみました。 ![]() 大体同じかな? |