この温度&湿度センサーは、事前に校正されたデジタル出力を提供します。独自の容量性センサー要素が相対湿度を測定し、温度は負の温度係数(NTC)サーミスタによって測定されます。このセンサーは優れた信頼性と長期的な安定性を備えています。ただし、このセンサーは0度以下の温度では動作しないことに注意してください。
https://wiki.seeedstudio.com/ja/Grove-TemperatureAndHumidity_Sensor
M5StickC Plus2 × Grove 温度&湿度センサー(DHT11)簡単資料(直挿し)
1) 準備
- M5StickC Plus2
- Grove – 温度&湿度センサー(DHT11)
- Groveケーブル
2) 接続
- Grove端子にそのまま挿す(これだけ)
- 信号線は GPIO32 / GPIO33 側(Groveの2本の信号線)を使います Lang-ship
注意:Grove電源は 5V で、信号入力は基本 3.3Vまで扱い(“動くけど雑にやると事故る”系) Lang-ship
3) センサーの仕様(授業で言う最低限)
- 温度:0〜50℃(※0℃未満は動かない) wiki.seeedstudio.com
- 湿度:20〜90%RH、精度 ±5%RH 程度 wiki.seeedstudio.com
- 取得周期は2秒に1回(連打しても意味ない) wiki.seeedstudio.com
4) Arduino IDE:ライブラリ
ライブラリマネージャで入れる:
DHTesp(ESP32で楽。これ推奨)
5) 最小サンプルコード(画面表示+シリアル)
#include <M5Unified.h>
#include <DHTesp.h>
const int DHT_PIN = 33; // Grove端子
DHTesp dht;
unsigned long lastMs = 0;
void setup() {
M5.begin();
M5.Display.setTextSize(2);
// DHT11として初期化
dht.setup(DHT_PIN, DHTesp::DHT11);
}
void loop() {
// DHT11は2秒周期推奨(速すぎると値が壊れる) :contentReference[oaicite:5]{index=5}
if (millis() - lastMs < 2000) return;
lastMs = millis();
TempAndHumidity th = dht.getTempAndHumidity();
// 取得失敗チェック
if (isnan(th.temperature) || isnan(th.humidity)) {
M5.Display.setCursor(0, 0);
M5.Display.println("DHT ERROR ");
return;
}
// 画面表示
M5.Display.setCursor(0, 0);
M5.Display.printf("Temp: %.1fC \n", th.temperature);
M5.Display.printf("Humi: %.1f%%\n", th.humidity);
// シリアル(必要なら)
Serial.printf("Temp=%.1fC Humi=%.1f%%\n", th.temperature, th.humidity);
}
6) 動かないときの即チェック(ここだけ)
- 0℃未満の環境:そもそも動かない wiki.seeedstudio.com
- 取得間隔を 2秒以上にしてるか wiki.seeedstudio.com
- ピンを 32→33 に変えて試す(Groveのもう片側)
