愛體驗認證

2019年4月19日 星期五

TCweng_DHT11溫溼度感測器教學-Arduino

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功能)  
DHT dht(dhtPin, dhtType); // 定義DHT感測器

void setup() {
  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;
  }

  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秒

}

2 則留言: