能否在上述程序中加入蜂鸣器和LED的报警程序
时间: 2024-02-22 09:56:00 浏览: 63
当然可以,在上述程序的温度和湿度报警部分,您可以加入蜂鸣器和LED的报警程序。以下是一个示例程序:
```
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int tempThreshold = 25;
int humThreshold = 60;
int buzzerPin = 8;
int ledPin = 13;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
delay(2000);
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" *C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
if (temperature > tempThreshold) {
Serial.println("Temperature Alarm!");
digitalWrite(ledPin, HIGH); // 点亮LED
tone(buzzerPin, 1000); // 发出蜂鸣声
delay(1000);
noTone(buzzerPin); // 停止蜂鸣
digitalWrite(ledPin, LOW); // 熄灭LED
}
if (humidity > humThreshold) {
Serial.println("Humidity Alarm!");
digitalWrite(ledPin, HIGH); // 点亮LED
tone(buzzerPin, 1000); // 发出蜂鸣声
delay(1000);
noTone(buzzerPin); // 停止蜂鸣
digitalWrite(ledPin, LOW); // 熄灭LED
}
}
```
在上述程序中,我们通过调用`digitalWrite()`函数控制LED的亮灭,通过调用`tone()`和`noTone()`函数控制蜂鸣器的发声和停止。在温度或湿度超过阈值时,程序会点亮LED、发出蜂鸣声,然后等待1秒钟后停止蜂鸣和熄灭LED。您可以根据需要修改蜂鸣器和LED的引脚号码。
阅读全文