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(' %');
}

代码解释

  1. 导入 DHT 库: #include <DHT.h> 将 DHT 库包含到项目中。
  2. 定义引脚和传感器类型: #define DHTPIN D4 指定 DHT11 连接到 ESP8266 的引脚,#define DHTTYPE DHT11 指定 DHT 传感器类型。
  3. 创建 DHT 对象: DHT dht(DHTPIN, DHTTYPE); 创建一个 DHT 对象,并传递引脚和传感器类型。
  4. 初始化串口和传感器:setup() 函数中,Serial.begin(9600); 初始化串口通信,dht.begin(); 初始化 DHT 传感器。
  5. 读取数据:loop() 函数中,delay(2000); 延迟 2 秒,dht.readTemperature();dht.readHumidity(); 分别读取温度和湿度值。
  6. 输出数据: 使用 Serial.print()Serial.println() 在串口输出温度和湿度值。

注意事项

  • DHT11 的读取速度较慢,因此需要在读取之间添加足够的延迟时间。
  • 如果读取频率过高,可能会导致传感器数据不准确或无法读取数据。

原文地址: https://www.cveoy.top/t/topic/mvgh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录