From 42135322be84019e5db8eef173bf0e59d364c79e Mon Sep 17 00:00:00 2001 From: spdis Date: Fri, 9 May 2025 00:35:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DHT11控制头文件 --- DHT11control.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 DHT11control.h diff --git a/DHT11control.h b/DHT11control.h new file mode 100644 index 0000000..8e44225 --- /dev/null +++ b/DHT11control.h @@ -0,0 +1,32 @@ + +#ifndef DHT11CONTROL_H +#define DHT11CONTROL_H + +#include "DHT.h" + +/// 传感器数据引脚定义(对应ESP32 GPIO5) +#define DHTPIN 5 +/// 传感器类型定义 +#define DHTTYPE DHT11 + +// 初始化DHT传感器对象 +DHT dht(DHTPIN, DHTTYPE); + +inline float* getTempAndHumidity() { + static float data[2]; // 静态数组保存温湿度数据 + float humidity = dht.readHumidity(); + float temperature = dht.readTemperature(); + + // 传感器数据有效性检查 + if (isnan(humidity) || isnan(temperature)) { + Serial.println("Failed to read from DHT sensor!"); + data[0] = -999; // 温度错误码 + data[1] = -999; // 湿度错误码 + } else { + data[0] = temperature; + data[1] = humidity; + } + return data; +} + +#endif \ No newline at end of file