arduino循环中的递增和递减值
Increment and decrement value in arduino loop
我是 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() 但它不起作用。
我想知道如何递增和递减计数变量?计数变量递减和递增不止一次,因为代码在循环中 运行。
谢谢。
为防止重复,您还可以保留一个状态变量来跟踪更改。这将使您只考虑实际发生变化的状态。这样做不会达到任何内存限制:)
这应该封装打印和计数器更改(一次修复两个)
我是 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() 但它不起作用。
我想知道如何递增和递减计数变量?计数变量递减和递增不止一次,因为代码在循环中 运行。
谢谢。
为防止重复,您还可以保留一个状态变量来跟踪更改。这将使您只考虑实际发生变化的状态。这样做不会达到任何内存限制:)
这应该封装打印和计数器更改(一次修复两个)