DHT系列溫溼度感測器
目前共有DHT11,DHT21和DHT22三種
且三種都為溫溼度複合的雙功能感應器
至於感測精度上當然就有差啦
從11開始精度往上遞增
當然價格也會落高一些
不過這個差距大改就是幾十元
所以TC覺得如果有精度上的需求
直接買21或22型號的會好一些
會感受到蠻大的差距
那就進入今天的正題
DHT11溫溼度感測器的製作
以下為感測器基本資訊
1. 供電電壓:3.3〜5.5V
2. 測量範圍:濕度20-90%RH
3. 溫度0〜50℃
4. 測量精度:濕度+ -5%RH
---------------------------------------------
接線
至於接腳的部分就要看你的板子了
有一個" - "號的就是負極
有一個" + "號的就是負極
最後一個就是訊號線啦
今天我們把訊號線插在2號(D2)的位置
------------------------------------------------
匯入程式庫
草稿碼->匯入程式庫->管理程式庫
打開後搜尋DHT.h
(如下圖)
找到上圖第二個
下載之後關掉就完成了
------------------------------------------------
底下是程式的部分
記得要選取序列埠跟板子的型號喔
上傳之後就能成功運作了!!!
#include "DHT.h"
#define dhtPin 2 //DHT11訊號線位置
#define dhtType DHT11 //選用DHT11 (另有21,22功能)
#define dhtPin 2 //DHT11訊號線位置
#define dhtType DHT11 //選用DHT11 (另有21,22功能)
DHT dht(dhtPin, dhtType); // 定義DHT感測器
void setup() {
Serial.begin(9600);//設定鮑率9600
dht.begin();//啟動DHT
Serial.begin(9600);//設定鮑率9600
dht.begin();//啟動DHT
}
void loop() {
float h = dht.readHumidity();//讀取濕度
float t = dht.readTemperature();//讀取攝氏溫度
float f = dht.readTemperature(true);//讀取華氏溫度
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("傳感器讀取錯誤!");
return;
}
float h = dht.readHumidity();//讀取濕度
float t = dht.readTemperature();//讀取攝氏溫度
float f = dht.readTemperature(true);//讀取華氏溫度
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("傳感器讀取錯誤!");
return;
}
Serial.print("濕度: ");
Serial.println(h);
Serial.println(" %");
Serial.print("攝氏溫度: ");
Serial.print(t);
Serial.print(" *C");
Serial.print("華氏溫度: ");
Serial.print(f);
Serial.print(" *F");
delay(1000); //延時1秒
}
請問可以寫一篇dht22的文章嗎
回覆刪除這兩天會發文章喔~
刪除