arduino 多个输出超时报警代码
时间: 2023-05-31 14:06:52 浏览: 102
以下是一个使用Arduino的多个输出进行超时报警的示例代码:
```
//定义输出引脚
int led1 = 2;
int led2 = 3;
int buzzer = 4;
//定义超时时间
int timeout = 5000; //5秒
//定义时间戳
unsigned long timestamp1 = 0;
unsigned long timestamp2 = 0;
void setup() {
//初始化引脚
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
//检测超时1
if (digitalRead(led1) == HIGH) {
if (millis() - timestamp1 > timeout) {
//超时报警
digitalWrite(buzzer, HIGH);
}
} else {
//重置时间戳1
timestamp1 = millis();
digitalWrite(buzzer, LOW);
}
//检测超时2
if (digitalRead(led2) == HIGH) {
if (millis() - timestamp2 > timeout) {
//超时报警
digitalWrite(buzzer, HIGH);
}
} else {
//重置时间戳2
timestamp2 = millis();
digitalWrite(buzzer, LOW);
}
}
```
该代码通过使用两个LED和一个蜂鸣器来模拟两个输出状态,并使用时间戳来检测超时。如果一个输出状态保持超过5秒钟,蜂鸣器将会响起。请注意,如果两个输出状态同时超时,蜂鸣器也会响起。您可以根据需要进行修改。
阅读全文