iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0

嗨各位~我今天來使用DHT11溫度與溼度感測器來進行之後實作的先行教學!然後因為我的linkit7697還沒買到所以我會先用Arduino uno板來進行示範>_<

什麼是DHT11?
DHT11 是一個結合濕度計和測溫元件量測週遭空氣環境,將所量測到的溫、濕度資料拆解成為數位訊號,再由感測器接腳將資料送出。使用上很簡單,但是抓取資料時必須要特別注意時間的掌控,而且每筆資料的抓取時間間隔要2秒鐘以上,不能太快。

DHT11 的規格如下:
濕度測量範圍:20~90%;
濕度測量精度:±5%;
溫度測量範圍:0~50℃
溫度測量精度:±2℃
電源供應範圍: 3~5V
頻率不可超過:0.5Hz (每2秒一次)

準備材料:

  • Arduino Uno R3
  • USB 傳輸線
  • DHT11模組
  • 杜邦線

實作介紹:
使用 Arduino UNO R3 開發板連接「DHT11溫溼度模組」讀取DHT11溫溼度模組所測到的溫度、溼度。

安裝 DHT11 程式庫

  • 在 Arduino 整合環境功能表點選 草稿碼 / 匯入程式庫 / 管理程式庫。
  • 在右上方搜尋框輸入「dht11」,下方會列出所有符合條件的程式庫,不同程式庫使用的程式碼並不相同。此處點 選「SimpleDHT」,該項目右下角會出現「安裝」鈕,按「安裝」鈕開始安裝。

接線說明:
https://ithelp.ithome.com.tw/upload/images/20231007/20162144UjNivwvffu.png

程式碼:

#include <SimpleDHT.h> //dht11程式庫

int pinDHT11 = 2; //設定 dht11 接腳
SimpleDHT11 dht11; //建立dht11程式庫物件
 
void setup() {
  Serial.begin(9600); //設定輸出資料視窗的傳輸速率
}

void loop() {
    byte temperature = 0;
    byte humidity = 0;
    int err = SimpleDHTErrSuccess;
    // start working...
    Serial.println("=================================");
    //讀取 dht11 測量值
    if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
       Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000);
       return;
    }
    //顯示 dht11 測量值
    Serial.print("Humidity = ");   
    Serial.print((int)humidity);   
    Serial.print("% , ");   
    Serial.print("Temperature = ");   
    Serial.print((int)temperature);   
    Serial.println("C ");   
 
    delay(3000);  //每3秒顯示一次
}

實作成果:
Yes


以上就是今天的發文,第二十二天介紹了要如何使用溫濕度感測器,今天也是有影片的一天,今天在匯入函式庫的地方卡了很久:(,建議大家去下載1.6.0的Arduino IDE,不然就會跟我一樣卡很久,最後還是希望大家有所收穫,還有謝謝大家耐心的看完全部,希望大家之後可以多包容我的錯誤...
最後,如果你對我的文章有興趣就繼續關注接下來的文章吧!掰掰~/images/emoticon/emoticon46.gif


上一篇
[DAY 21] 練習使用Arduino IDE編寫程式
下一篇
[DAY 23] 使用esp32開發門鎖控制
系列文
智能世界,就在你身邊 - 探索物聯網的魔法30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言