我是arduino的新手,我在这里遇到了一些问题。我买了两个移动PIR传感器,当有人经过传感器前面时逻辑值为HIGH,否则值为LOW。
除此之外,我想在传感器A为高电平时增加一个值,在传感器B为高电平时递减相同的值。
但是我必须在这里发布,我不能递增和递减变量值,并且串行打印不断重复5000毫秒,因为我需要使用延迟,否则,代码将无法正常工作。
int pinPIRa;
int pinPIRb;
int count;
void setup() {
Serial.begin(9600);
pinMode(pinPIRa,INPUT);
pinMode(pinPIRb,INPUT);
}
void loop() {
if(digitalRead(pinPIRb) == HIGH){
Serial.print("Sensor B");
count--;
}
if(digitalRead(pinPIRa) == HIGH){
Serial.print("Sensor A");
count++;
}
delay(5000);
}
现在我有两个问题给你们,我怎样才能阻止连续剧重复多次?我尝试使用Serial.flush()但它不起作用。
我想知道如何递增和递减计数变量? count变量递减并递增多次,因为代码在循环内运行。
谢谢。
答案 0 :(得分:2)
为防止重复,您还可以保留状态变量以跟踪更改。这将使您只考虑状态是否实际发生了变化。这样做不会达到任何内存限制:)
这应该封装打印和计数器更改(一次修复两个)