NodeMcu读取DHT11/DHT22/SHTC3温湿度数据教程

5星 · 超过95%的资源 15 下载量 84 浏览量 更新于2024-08-31 收藏 327KB PDF 举报
本文主要介绍了如何使用NodeMcu开发板读取DHT11、DHT22和SHTC3这三种不同型号的温湿度传感器数据,并将这些数据发送到串口。作者提供了使用第三方库和不使用库的两种方法进行数据读取。 对于DHT11传感器,它是一种具有预校准数字信号输出的温湿度传感器,适用于对精度要求不高的场合。其湿度精度为±5%RH,温度精度为±2℃,湿度测量范围为20%-90%RH,温度范围为0-50℃。由于其较低的精度,但价格相对便宜,所以被广泛应用。DHT11采用单总线通信方式,工作电压为3.35V。 使用DHT库读取DHT11数据,首先需要安装DHT sensor library,可以在ESP8266开发环境搭建教程中找到安装步骤。以下是一个使用该库的简单示例代码: ```cpp #include <DHT.h> // 引入DHT库 DHT dht(D1, DHT11); // 设置Data引脚连接的IO口和传感器类型 void setup() { Serial.begin(115200); // 初始化串口波特率为115200 dht.begin(); // 初始化DHT库 } void loop() { delay(1000); // 每隔1秒读取一次数据 float RH = dht.readHumidity(); // 读取湿度 float T = dht.readTemperature(); // 读取温度 Serial.print("Humidity:"); // 打印湿度 Serial.print(RH); Serial.print("%"); Serial.print("Temperature:"); Serial.print(T); Serial.println("C"); Serial.println("https://blog.zeruns.tech"); } ``` 如果不使用库,你需要根据DHT11的数据手册(链接在文章中给出)自行编写读取数据的程序,这涉及到对单总线通信协议的理解和实现,相对复杂一些。 DHT22和SHTC3传感器虽然未在摘要中提供详细信息,但通常它们比DHT11提供更高的精度和更宽的工作范围。DHT22(也称为AM2302)的湿度精度为±2%RH,温度精度为±0.5℃,而SHTC3是更高级的传感器,通常提供更高精度和更低功耗,适合对环境监控有较高要求的应用。 通过这个教程,读者可以学习如何利用NodeMcu与各种温湿度传感器交互,无论是选择使用方便的库还是自定义代码,都能帮助实现数据采集和传输。这对于智能家居、环境监测等项目非常有用。