湿度传感器用于测量环境中的湿度水平。常见的湿度传感器之一是DHT系列传感器,特别是DHT11和DHT22。

以下是使用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.zyzy.cn/article/detail/10999/Arduino