[材料]
Arduino主板 x 1
麵包板 x 1
DHT22溫溼度感測器(白色外框、黑色底座,已內含4.7K電阻) x 1
[DHT22腳位]
GND (-)--> GND
VCC(+) --> 5V
DAT (OUT)-> pin2
DHT22簡介
低成本
3至5V電源和I / O.
轉換期間使用2.5mA最大電流(同時請求數據)
適用於0-100%濕度讀數,精度為2-5%
適用於-40至80°C的溫度讀數±0.5°C精度
採樣率不超過0.5 Hz(每2秒一次)
體尺寸15.1mm x 25mm x 7.7mm
4個引腳,間距為0.1“
Arduino購買模組以後,可以上網下載函式庫(Library)安裝,可以使得我們在撰寫程式上更加的方便,安裝之後也可以引用裡面的函式,可以省去不少麻煩 。
[函式庫]以下兩函式庫皆下載
DHT.h:https://github.com/adafruit/DHT-sensor-library
Adafruit_Sensor.h :https://github.com/adafruit/Adafruit_Sensor
請下載zip檔,並在Arduino的"草稿碼"-->"匯入程式庫 "--> "加入 .ZIP程式庫"選擇下載檔案。
/* Lab9 DHT22 程式碼*/
/* DHT22 接線方式
GND --> GND
VCC --> 5V
DAT --> pin2
*/
#include "DHT.h" // 匯入DHT函式庫
#define DHTPIN 2 // 定義DHT函式庫中,所使用的訊號來源
#define DHTTYPE DHT22 // 定義DHT函式庫中,所使用的感測器
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600); //啟動串列埠連線
Serial.println("DHTxx test!");
/*設定序列埠監控視窗,並輸出文字*/
dht.begin(); //啟動dht
}
void loop() {
delay(2000); // 每次測量間隔
//每次讀取溫度或濕度大約會花 250 milliseconds
float dhtT = dht.readTemperature(); //設定浮點變數dhtT,讀取溫度
float dhtH = dht.readHumidity(); //設定浮點變數dhtH,讀取濕度
Serial.print("Temperature: "); //序列埠監控視窗印出文字
Serial.print(dhtT); //序列埠監控視窗印出dhtT數值
Serial.print(" *C ");
Serial.print("Humidity: ");
Serial.print(dhtH); //序列埠監控視窗印出dhtH數值
Serial.println(" % ");
}