dh11温湿度传感器 esp32代码
时间: 2024-09-09 07:15:30 浏览: 70
DHT11是一种含有已校准数字信号输出的温湿度传感器。它应用专用的数字模块采集技术和温湿度测量技术,确保产品具有高可靠性和卓越的长期稳定性。ESP32是一款功能强大的微控制器,内置Wi-Fi和蓝牙功能,非常适合物联网(IoT)项目。
以下是一个简单的示例代码,用于在ESP32上读取DHT11传感器的数据:
```c
#include "DHT.h"
#define DHTPIN 4 // 定义DHT11数据线连接的ESP32 GPIO引脚
#define DHTTYPE DHT11 // 定义传感器类型为DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200); // 启动串口通信
dht.begin(); // 启动DHT11传感器
}
void loop() {
// 等待几秒钟之间的读取(DHT11传感器的建议)
delay(2000);
// 读取湿度为浮点数
float humidity = dht.readHumidity();
// 读取温度为摄氏度(Centigrade)
float temperature = dht.readTemperature();
// 检查读取失败的情况,并重试
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// 打印温度和湿度到串口监视器
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("% Temperature: ");
Serial.print(temperature);
Serial.println("°C ");
}
```
这段代码首先包含了DHT库,用于控制DHT11传感器。通过定义数据引脚和传感器类型,初始化DHT对象。在`setup()`函数中启动串口通信并初始化DHT传感器,在`loop()`函数中每隔两秒读取一次温湿度数据,并通过串口打印出来。如果读取失败,会输出错误信息。
在使用这段代码之前,你需要确保已经在Arduino IDE中安装了DHT传感器库,可以通过库管理器搜索并安装。