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