[Arduino] Wie kann ich einen if Befehl nur ein Mal durchlaufen lassen?
Hallo,
ich habe das Problem, dass bei folgendem Programm (ist nur ein ausgeschnittener Teil vom ganzen Programm) sich die Variabel immer und immer wieder wiederholt, nachdem der Knopf auf der Fernbedienung gedrückt wurde. Das heißt, im Monitor erscheint dann: 12345678910111213.... Wie kann ich dies verhindern? Ich hab da so eine gewisse Idee im Kopf, jedoch möchte ich mal euch fragen, wie man das Problem elegant lösen könnte.
if (results.value==0xFD20DF) {
Pfeil += 1;
delay(100);
Serial.print(Pfeil);
}
Vielen Dank schon mal im Voraus,
MFG,
FlyingG
3 Antworten
Wie wäre es beim Knopfdruck eine flag zu setzen, diese mit der Abfrage zu verknüpfen und sie erst wieder zurückzusetzen wenn der Knopf losgelassen wurde oder was auch immer für ein Ereignis du benötigst?
Alternativ kannst du die flag auch beim ersten Durchlauf der Schleife setzen und wie oben weiter verfahren.
Ich denke dass in results.value der Wert stehen bleibt und deshalb die if-Bedingung jedesmal wahr ist.
Ich kenne die Arduino Methode/den Mechanismus nicht, kann man da einfach ne Null reinschreiben, nach Pfeil+=1?
Oder eine Resetroutine starten ??
The
setup()
function will only run once, after each powerup or reset of the Arduino board.
Thanks. But i think that you just missunderstood my problem. my problem is, that once the button of the remote control is pressed, the variable goes up +1 over and over again.