编写Arduino程序连接LED、蜂鸣器、DHT11温湿度传感器、火焰传感器、MQ2烟雾传感器使当烟雾浓度大于366、火焰传感器浓度大于450、温度大于60时蜂鸣器发出报警LED灯亮
时间: 2023-07-10 10:04:16 浏览: 110
以下是一个示例代码,仅供参考:
```C++
#include <DHT.h> // 导入 DHT 库
#define DHTPIN 2 // 温湿度传感器连接的引脚
#define DHTTYPE DHT11 // 传感器类型
DHT dht(DHTPIN, DHTTYPE); // 初始化 DHT 对象
#define flamePin A0 // 火焰传感器连接的模拟引脚
#define smokePin A1 // 烟雾传感器连接的模拟引脚
#define buzzerPin 8 // 蜂鸣器连接的数字引脚
#define ledPin 13 // LED 灯连接的数字引脚
void setup() {
pinMode(buzzerPin, OUTPUT); // 设置蜂鸣器引脚为输出模式
pinMode(ledPin, OUTPUT); // 设置 LED 引脚为输出模式
Serial.begin(9600); // 初始化串口
dht.begin(); // 初始化 DHT11 传感器
}
void loop() {
float temperature = dht.readTemperature(); // 读取温度值
float humidity = dht.readHumidity(); // 读取湿度值
int flameValue = analogRead(flamePin); // 读取火焰传感器数值
int smokeValue = analogRead(smokePin); // 读取烟雾传感器数值
if (smokeValue > 366 || flameValue > 450 || temperature > 60) {
digitalWrite(buzzerPin, HIGH); // 开启蜂鸣器
digitalWrite(ledPin, HIGH); // 点亮 LED 灯
} else {
digitalWrite(buzzerPin, LOW); // 关闭蜂鸣器
digitalWrite(ledPin, LOW); // 熄灭 LED 灯
}
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.print("%, Flame: ");
Serial.print(flameValue);
Serial.print(", Smoke: ");
Serial.println(smokeValue);
delay(1000); // 延时 1 秒
}
```
需要注意的是,以上代码仅供参考,实际应用中还需要根据具体传感器的特性进行调整和优化。同时,需要根据实际需要选择合适的传感器和部件。
阅读全文