ESP8266 使用 Arduino IDE 控制 DHT11 传感器
ESP8266 使用 Arduino IDE 控制 DHT11 传感器
以下是用 Arduino IDE 在 ESP8266 上调用 DHT11 传感器的代码示例:
#include <DHT.h> // 导入 DHT 库
#define DHTPIN D4 // DHT11 连接到 ESP8266 的引脚
#define DHTTYPE DHT11 // DHT 传感器类型
DHT dht(DHTPIN, DHTTYPE); // 创建 DHT 对象
void setup() {
Serial.begin(9600); // 初始化串口
dht.begin(); // 初始化 DHT 传感器
}
void loop() {
delay(2000); // 延迟 2 秒
float temperature = dht.readTemperature(); // 读取温度值
float humidity = dht.readHumidity(); // 读取湿度值
Serial.print('Temperature: '); // 输出温度值
Serial.print(temperature);
Serial.print(' °C Humidity: '); // 输出湿度值
Serial.print(humidity);
Serial.println(' %');
}
代码解释
- 导入 DHT 库:
#include <DHT.h>将 DHT 库包含到项目中。 - 定义引脚和传感器类型:
#define DHTPIN D4指定 DHT11 连接到 ESP8266 的引脚,#define DHTTYPE DHT11指定 DHT 传感器类型。 - 创建 DHT 对象:
DHT dht(DHTPIN, DHTTYPE);创建一个 DHT 对象,并传递引脚和传感器类型。 - 初始化串口和传感器: 在
setup()函数中,Serial.begin(9600);初始化串口通信,dht.begin();初始化 DHT 传感器。 - 读取数据: 在
loop()函数中,delay(2000);延迟 2 秒,dht.readTemperature();和dht.readHumidity();分别读取温度和湿度值。 - 输出数据: 使用
Serial.print()和Serial.println()在串口输出温度和湿度值。
注意事项
- DHT11 的读取速度较慢,因此需要在读取之间添加足够的延迟时间。
- 如果读取频率过高,可能会导致传感器数据不准确或无法读取数据。
原文地址: https://www.cveoy.top/t/topic/mvgh 著作权归作者所有。请勿转载和采集!