DHT11 特性:
供電電壓:3.3∼5.5V
濕度測量範圍:20-90%RH,精確度:±5%RH
溫度測量範圍:0∼50℃,精確度:±2℃
反應時間:< 5s
偵測頻率:< 0.5HZ (2秒一次)

Pin 名稱 說明
1 VDD 供電 3-5.5VDC
2 DATA 串列數據資料線
3 NC 空腳,請懸空
4 GND 接地(電元負端)


DHT.h 下載網站 本站下載
Adafruit_Sensor.h 下載網站 本站下載
請依下圖接線



請鍵入下列程式:(以 com 串列訊息室窗觀察)
#include "DHT.h"
DHT dht(2, DHT11);//第 2 之腳接收, 使用 DHT11 模式
void setup() {
     Serial.begin(9600);
     dht.begin();
}
void loop(){
     delay(2000);
     //讀取溫度或濕度大約需要250毫秒!
     float h = dht.readHumidity();//讀取濕度
     float t = dht.readTemperature();//讀取攝氏溫度
     float f = dht.readTemperature(true);//讀取華氏溫度
     if (isnan(h) || isnan(t) || isnan(f)) { // nan 表示 not a number , 表示讀取失敗
          Serial.println("DHT sensor 讀取失敗!");
          return;
     }
     float hif = dht.computeHeatIndex(f, h); //計算華氏溫度指數
     float hic = dht.computeHeatIndex(t, h, false);//計算攝氏溫度指數
     Serial.print("濕度 : ");Serial.print(h);Serial.println(" %");
     Serial.print("攝氏溫度 : ");Serial.print(t);Serial.println(" *C");
     Serial.print("華氏溫度 : ");Serial.print(f);Serial.println(" *F");
     Serial.print("攝氏溫度指標 : ");Serial.print(hic);Serial.println(" *C ");
     Serial.print("華氏溫度指標 : ");Serial.print(hif);Serial.println(" *F ");
     Serial.println("===================================================");
}


#include "DHT.h"
#include 
#include 
#define Addr 0x27

LiquidCrystal_I2C LCD(Addr,16,2);
DHT dht(2, DHT11);//第 2 之腳接收, 使用 DHT11 模式

void setup() {
     Serial.begin(9600);
     LCD.begin();
     dht.begin();
}
void loop(){
     float h = dht.readHumidity();//讀取濕度
     float t = dht.readTemperature();//讀取攝氏溫度
     float f = dht.readTemperature(true);//讀取華氏溫度
     if (isnan(h) || isnan(t) || isnan(f)) { // nan 表示 not a number , 表示讀取失敗
          Serial.println("DHT sensor 讀取失敗!");
          LCD.print("DHT sensor read error!");
          return;
     }
     float hif = dht.computeHeatIndex(f, h); //計算華氏溫度指數
     float hic = dht.computeHeatIndex(t, h, false);//計算攝氏溫度指數
     Serial.print("濕度 : ");Serial.print(h);Serial.println(" %");
     Serial.print("攝氏溫度 : ");Serial.print(t);Serial.println(" *C");
     Serial.print("華氏溫度 : ");Serial.print(f);Serial.println(" *F");
     Serial.print("攝氏溫度指標 : ");Serial.print(hic);Serial.println(" *C ");
     Serial.print("華氏溫度指標 : ");Serial.print(hif);Serial.println(" *F ");
     Serial.println("===================================================");
     LCD.clear();
     LCD.print("H:");LCD.print(h);LCD.print(" %");
     delay(3000);
     LCD.clear();
     LCD.print("T1:");LCD.print(t);LCD.print(" *C");
     LCD.setCursor(0,1);
     LCD.print("T2:");LCD.print(f);LCD.print(" *F");
     delay(3000);
     LCD.clear();
     LCD.print("T3:");LCD.print(hic);LCD.print(" *C");
     LCD.setCursor(0,1);
     LCD.print("T4:");LCD.print(hif);LCD.print(" *F");
     delay(3000);
}