以下是使用DHT11湿度传感器的基本示例,通过Arduino读取湿度和温度值:
#include <DHT.h>
// 定义DHT传感器的引脚和类型
#define DHTPIN 2 // 连接到Arduino的D2引脚
#define DHTTYPE DHT11 // 使用DHT11型号的传感器
// 创建DHT对象
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHT11 Humidity and Temperature Sensor Test");
// 初始化DHT传感器
dht.begin();
}
void loop() {
// 延时2秒钟,以降低读取频率
delay(2000);
// 读取湿度值
float humidity = dht.readHumidity();
// 读取温度值(摄氏度)
float temperatureC = dht.readTemperature();
// 检查是否成功读取湿度和温度
if (isnan(humidity) || isnan(temperatureC)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// 打印湿度和温度值到串口监视器
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("%\t");
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println("°C");
}
在这个例子中:
- 使用了DHT库,该库可通过Arduino IDE的库管理器安装。
- DHTPIN 定义了连接到Arduino的DHT传感器的引脚。在这个例子中,连接到D2引脚。
- DHTTYPE 定义了传感器的型号,这里使用的是DHT11。如果你使用的是DHT22,可以将其更改为 DHT22。
- dht.begin() 初始化DHT传感器。
- 在loop函数中,通过dht.readHumidity() 和 dht.readTemperature() 读取湿度和温度值。
- 使用Serial.print 将读取的值打印到串口监视器。
请注意,DHT传感器在读取之间需要一些时间来恢复,因此在每次读取之后建议添加适当的延时。此外,DHT传感器对电源的稳定性要求较高,确保传感器连接正确,引脚没有接错,供电电压稳定。
转载请注明出处:http://www.pingtaimeng.com/article/detail/10999/Arduino