可以使用一个状态变量来记录哪个传感器上次被触发,然后在触发下一个传感器之前检查该状态变量是否符合特定的顺序。以下是一个示例代码:
int pir[3] = {2, 3, 4}; // PIR传感器引脚
int pirState[3] = {LOW, LOW, LOW}; // PIR传感器状态
int lastSensor = -1; // 上一个被触发的传感器
void setup() {
for (int i = 0; i < 3; i++) {
pinMode(pir[i], INPUT);
}
}
void loop() {
for (int i = 0; i < 3; i++) {
int sensor = pir[i];
int state = digitalRead(sensor);
if (state == HIGH && pirState[i] == LOW && lastSensor == i-1) { // 如果当前传感器被触发且之前未被触发,且顺序正确
lastSensor = i;
pirState[i] == HIGH;
// 触发当前传感器,执行相应操作
}
}
}
上一篇:按特定顺序查找消息
下一篇:按特定顺序从S3复制列数据