Arduino DHT11溫濕度感應器實習

學習如何學習!

設備與材料

個人電腦 × 1
arduino Uno × 1
DHT11模組 × 1
連接線 若干

實體接線圖

安裝程式庫

DHT11必需安裝程式庫才能使用,否則編譯時會出現錯誤訊息(如下圖)。要如何安裝 DHT所需要的程式庫呢?我們使用 Arduino IDE 內的 “管理程式庫” 來下載所需要的程式。

DHT11必需安裝DHT的程式庫,程式才能正常編譯,否則會出現錯誤訊息
arduino IDE 的 “管理程式庫”

啟動 “管理程式庫” 後右上輸入 “DHT” 後,會自動搜尋到相關的程式庫,按 “安裝” 就可以了。

DHT 程式庫
選 Install all

參考程式

//使用 DHT 程式庫
#include "DHT.h"
//DHT11 輸出腳
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

float h;   //濕度
float t;   //攝氏溫度
float f;   //華氏溫度

void setup() {
    Serial.begin(9600); //設定鮑率為9600
    Serial.println("DHT11 test!");
    dht.begin(); //啟動DHT
}
 
void loop() {
    delay(2000); //每2秒鐘更新一次
    h = dht.readHumidity(); //讀取濕度
    t = dht.readTemperature(); //讀取攝氏溫度
    f = dht.readTemperature(true); //讀取華氏溫度
 
    if (isnan(h) || isnan(t) || isnan(f)) {
        Serial.println("無法從DHT模組讀取資料!");
        return;
    }
    Serial.print("濕度:"); //在序列監控視窗顯示溫度與濕度
    Serial.print(h);
    Serial.print("%\t");
    Serial.print("溫度:");
    Serial.print(t);
    Serial.print("℃ ");
    Serial.print(f);
    Serial.println("℉");
}

使用 arduino IDE內的序列戶監控視窗就可以看到執行結果

執行結果

入門
知識
語法
流程
函式
實習

2 Responses

  1. mcu表示:

    可能是以下兩種問題
    1.硬體接線錯誤!
    2.模組有問題

  2. wilson tsai表示:

    你好:
    我將上述的程式傳送到Arduino,監控視窗會顯示無法從DHT模組讀取資料,f請問要如何解決?

發佈留言