🌡

温湿度センサの使い方

2023/01/01に公開

部品

https://akizukidenshi.com/catalog/g/gM-07003/

こちらの部品のプルアップ抵抗が元からついているタイプを利用した。それがついていない場合は自分でなんとかしないといけないらしい。

配線

足を上にしたとき左から GND VDD DATA の順になっている。DATA はどこでもいいが D7 に繋ぐ。

ライブラリ

低レベル層を自分で書くのは難しそうだったのでこちらのライブラリを使わせてもらう。

https://github.com/adafruit/DHT-sensor-library

温度を取得する例

#include <DHT.h>

DHT dht(7, DHT11);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  delay(2000);

  float temperature = dht.readTemperature();
  if (!isnan(temperature)) {
    Serial.println(temperature);
  }
}

新しいデータが取れるまで最短2秒かかるので毎回2秒待っている。

湿度を取得する例

float humidity = dht.readHumidity();
if (!isnan(humidity)) {
  Serial.println(humidity);
}

温度と同じようにすればライブラリのおかげで簡単に取得できる。

2秒間隔を無視して取得するとどうなる?

項目
消費電流 0.3mA(測定時)、60μA(スタンバイ時)

同じ値が返ってくるだけでエラーにはならない。しかしスペックを見ると測定時だけ消費電力が上がるのが気になった。だとすると直近2秒間は守った方がよさそう。

応用

植物の栽培に活かせそうだがどうやってパーツを土に埋めるだろうと思ったら同じパーツを載せた土壌専用モジュールもあるらしい。

https://ja.aliexpress.com/i/33052608123.html

参考

https://github.com/adafruit/DHT-sensor-library/blob/master/examples/DHTtester/DHTtester.ino
https://burariweb.info/electronic-work/arduino-learning/arduino-temperature-humidity-sensor-dht11.html
https://rb-station.com/blogs/article/dht11-arduino-sensor

Discussion