愛體驗認證

2019年5月3日 星期五

TCweng_DHT22溫溼度感應器教學arduino


DHT22是DHT系列
能力非常好的感應器

分辨率達到 
濕度0.1 %     溫度RH 0.1  ℃
量程范围有 
濕度0 ~ 99.9 %   溫度RH -40 ~ 80℃
至於精度也有不錯的表現  
濕度±2 %RH (25℃)   溫度( ±0.5℃)


接線

" - "或黑線 接負極
" + "或紅線 接正極
最後一個就是訊號線啦
今天我們把訊號線插在2號(D2)的位置


程式部分

首先要先下載DHT的函示庫
這個包含了DHT全系列的感應器函示
https://github.com/adafruit/DHT-sensor-library

到上面連結下載壓縮檔後
添加函示庫到Arduino就可以了

如果不會把函示庫添加到IDE裡的讀者
可以到上一篇文章閱讀




程式的部分y
!!!!注意不要複製到中文的部分喔


#include "DHT.h"

#define DHTPIN 2 // dht22的接腳



//#define DHTTYPE DHT11 // DHT 11

#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

//#define DHTTYPE DHT21 // DHT 21 (AM2301)



DHT dht(DHTPIN, DHTTYPE);



void setup() {

Serial.begin(9600);

Serial.println("DHT test!");



dht.begin();

}



void loop() {



delay(2000);



float h = dht.readHumidity();

float t = dht.readTemperature();

float f = dht.readTemperature(true);





if (isnan(h) || isnan(t) || isnan(f)) {

Serial.println("Failed to read from DHT sensor!");

return;

}



float hif = dht.computeHeatIndex(f, h);

float hic = dht.computeHeatIndex(t, h, false);



Serial.print("Humidity: ");

Serial.print(h);

Serial.print(" %t");

Serial.print("Temperature: ");

Serial.print(t);

Serial.print(" *C ");

Serial.print(f);

Serial.print(" *Ft");

Serial.print("Heat index: ");

Serial.print(hic);

Serial.print(" *C ");

Serial.print(hif);

Serial.println(" *F");

}

沒有留言:

張貼留言