32 lines
		
	
	
		
			769 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			769 B
		
	
	
	
		
			C
		
	
	
	
	
	
 | 
						||
#ifndef DHT11CONTROL_H
 | 
						||
#define DHT11CONTROL_H
 | 
						||
 | 
						||
#include "DHT.h"
 | 
						||
 | 
						||
/// 传感器数据引脚定义(对应ESP32 GPIO13)
 | 
						||
#define DHTPIN 13
 | 
						||
/// 传感器类型定义
 | 
						||
#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 |