LESSON 031
デジタル温度湿度センサーで温度を測る
○ DHT11は湿度測定と温度測定をデジタル信号で出力する温度湿度センサです。
-
-
-
- 温湿度センサモジュール
DHT11の仕様
動作電圧 DC 3.3V~5.5V
温度センサ NTCサーミスタ
精度 ±2℃(@25℃)
湿度センサ 有機ポリマー
精度 ±5% RH(@25℃)
- NTCサーミスタとは、温度の変化により抵抗値が変化するサーミスタ(セラミックスの抵抗体)を用いて温度を測定します。
- 感湿材料(有機ポリマー)の吸湿/脱湿によって変化する抵抗を用いて湿度を測定します。
- DHT11の測定の出力信号は40bit構成の同期クロックが含まれたシリアルデータを出力します。
DHT11の出力信号は下記の様な信号になります。このサイクルは1秒程度掛かります。
40bitの信号は下記の様の出力させます。
湿度(High)- 湿度(Low)- 温度(High)- 温度(Low)- パリティビットの順番
- 温湿度センサモジュール
-
-
○ 温度・湿度センサー DHT11 の信号配置
① DHT11 本体
ワイヤーが20m以下の場合はプルアップ抵抗 5kΩ程度推奨
① DHT11 本体
ワイヤーが20m以下の場合はプルアップ抵抗 5kΩ程度推奨
② DHT11 のモジュール 版
-
-
-
-
製造メーカーによってピン配置は異なります。
-
-
-
目 次
-
- 構成部品
- 配線図
- スケッチ
- 結果
- まとめ
構成部品
Arduino
USBケーブル
DHT11
ジャンパー線
配線図
GPIO 2 ⇒ DHT11 ー OUT
5V ⇒ DHT11 ー 5V
GND ⇒ DHT11 ー GND
GPIO 2 ⇒ DHT11 ー OUT
5V ⇒ DHT11 ー 5V
GND ⇒ DHT11 ー GND
スケッチ《 test026》
#include "DHT.h"
const int DHT_data = 2;
float Humi,Temp;
#define DHTTYPE DHT11
DHT dht(DHT_data, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
delay(1000);
Humi = dht.readHumidity();
Temp = dht.readTemperature();
Serial.print("湿度: ");
Serial.print(Humi);
Serial.print("% 温度: ");
Serial.print(Temp);
Serial.println("°C ");
}
リンク
#include “DHT.h”
DHTとの通信を可能にするライブラリで,温度・湿度結果を2進数から10進数で返します。
#define DHTTYPE DHTxx
DHTセンサの設定
DHT 変数(DHTの出力ピン, DHTTYPE);
DHT変数の設定
- void setup()
変数.begin();
DHT変数の初期化
- void loop()
dht.readHumidity();
湿度の読込み
dht.readTemperature();
温度の読込み
結果
まとめ
○ DHT11は温度センサ 精度 ±2℃ 湿度センサ 精度 ±5%RH のため、精度はあまり良くないが、一つ上のDHT22の方が温度 精度 ±0.5℃。湿度 精度 ±2%RHは高くなそりに伴いそりに伴い値段も高額になります。
○ Arduino を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。