用温湿度传感器写一个监测温湿度的系统代码
时间: 2024-05-01 14:16:05 浏览: 9
好的,这里提供一个使用 DHT11 温湿度传感器的系统代码,基于 Arduino 平台:
```
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN 2 // 定义 DHT11 数字引脚为 2
#define DHTTYPE DHT11 // 定义 DHT11 类型
DHT_Unified dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
sensor_t sensor;
dht.temperature().getSensor(&sensor);
dht.humidity().getSensor(&sensor);
}
void loop() {
delay(2000);
sensors_event_t event;
dht.temperature().getEvent(&event);
if (isnan(event.temperature)) {
Serial.println("Error reading temperature!");
} else {
Serial.print("Temperature: ");
Serial.print(event.temperature);
Serial.println(" °C");
}
dht.humidity().getEvent(&event);
if (isnan(event.relative_humidity)) {
Serial.println("Error reading humidity!");
} else {
Serial.print("Humidity: ");
Serial.print(event.relative_humidity);
Serial.println(" %");
}
}
```
解释一下代码:
首先引入了 Adafruit_Sensor.h 和 DHT 库,然后定义了 DHT11 数字引脚为 2,类型为 DHT11。在 setup 函数中初始化了串口、DHT11 传感器,获取了传感器信息。在 loop 函数中,通过 getEvent 函数获取温湿度数据,并打印输出。其中,使用 isnan 函数判断获取的数据是否为非数值,防止出现异常情况。
希望这段代码能够帮到你。