ESP32 Arduino開發(fā) DHT11傳感器
參考:CSDN博客
1. 安裝程序庫
- 打開庫管理工具
工具 -> 管理庫...
- 查找所需要的程序庫
安裝DHT sensor library
2. 編寫相關(guān)程序
2.1. 引入頭文件
#include <DHT.h>
#include <DHT_U.h>
2.2. 創(chuàng)建DHT對象
DHT對象創(chuàng)建的函數(shù)需要兩個參數(shù),一個是用于獲取數(shù)據(jù)的引腳號,一個是傳感器的類型(可選DHT11、DHT21、DHT22)。
所以在創(chuàng)建對象之前,通過宏定義的方式對于所需要的兩個參數(shù)進(jìn)行定義。文章來源:http://www.zghlxwxcb.cn/news/detail-776945.html
#define DHTPIN 4 // 設(shè)置獲取數(shù)據(jù)的引腳
#define DHTTYPE DHT11 // 選擇DHT11
DHT dht(DHTPIN, DHTTYPE); // 創(chuàng)建一個DHT對象
2.3. 傳感器初始化
在setup()函數(shù)中調(diào)用DHT對象的begin函數(shù)進(jìn)行初始化文章來源地址http://www.zghlxwxcb.cn/news/detail-776945.html
void setup() {
dht.begin(); // 初始化DHT11
}
2.4. 讀取傳感器數(shù)據(jù)
// 讀取傳感器數(shù)據(jù)
float h = dht.readHumidity(); // 讀取濕度
float t = dht.readTemperature(); // 讀取溫度
// 判斷數(shù)據(jù)是否成功讀取
if (isnan(h) || isnan(t)) {
Serial.println("DHT11數(shù)據(jù)讀取失敗");
return;
}
// 串口打印
Serial.print ("濕度: ");
Serial.print (h);
Serial.print ("% | ");
Serial.print ("溫度度: ");
Serial.print (t);
Serial.println ("℃");
3. 完整的代碼例程
#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin(); // 初始化DHT11
}
void loop() {
// 暫停2秒,讀取數(shù)據(jù)官方說明需要250毫秒
delay(2000);
// 讀取傳感器數(shù)據(jù)
float h = dht.readHumidity(); // 讀取濕度
float t = dht.readTemperature(); // 讀取溫度
// 判斷數(shù)據(jù)是否成功讀取
if (isnan(h) || isnan(t)) {
Serial.println("DHT11數(shù)據(jù)讀取失敗");
return;
}
// 串口打印
Serial.print ("濕度: ");
Serial.print (h);
Serial.print ("% | ");
Serial.print ("溫度度: ");
Serial.print (t);
Serial.println ("℃");
}
到了這里,關(guān)于ESP32 Arduino開發(fā) DHT11傳感器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!