私はarduinoの初心者です。私はここでいくつかの問題を抱えています。私は2つの移動PIRセンサーを購入しました。誰かがセンサーの前を通過するとロジック値がHIGHになり、それ以外の場合はLOWになります。そのほかにarduinoループのインクリメントとデクリメントの値
Iは、センサAがHIGHであるときに値をインクリメントしたい、とセンサBがHIGHであるときに同じ値をデクリメントすることになります。
しかし、ここでは変数の値を増減することはできません。遅延を使用する必要があるため、シリアル・プリントは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);
}
今私はどのように私は何度も繰り返してからシリアルを防ぐことができ、あなたたちのための2つの質問がありますか? Serial.flush()を使用しようとしましたが、動作しません。
そして、カウント変数をどのように増減することができますか?ループ内でコードが実行されているため、count変数は1回以上デクリメントされ、インクリメントされます。
ありがとうございます。