abfrage während des delays If If

hallo

wie kann ich während ein delay durchläuft trotzdem eine buttonabfrage machen?

in rueckw(); wurde im void ein delay von 4 sec eingebaut und das ist auch gut weil er 4 sek rückwärts laufen muss Aber wenn er anstößt soll er mit turn_l2 weitermachen... wie mache ich das?

if ((distance < 5 || buttonState_f == HIGH) && (raumecke==0)) {
ausscheren_motor_l();
rueckw(); // hier soll er checken wie der buttonState_l ist und wenn der HIGH ist soll die schleife verlassen werden und er soll mit turn_l2 weitermachen und dann mit vorw() wenn nicht dann soll die schleife bis zum ende laufen

turn_l();
motorStop();
rueckw();
motorStop();
}

geht das? Danke leute!

Auf delay() komplett verzichten und die abgelaufene Zeit mit millis() bestimmen

ok danke, das heißt, bei millis() bleibt die Abfrage aktiv? und wie schreibe ich die millis() in den code?
millis(4000),
anstatt :
delay(4000);

danke!!!

If(millis()-startZeitpunkt>4000)

Befrage Google mal nach "BlinkWithoutDelay"

http://forum.arduino.cc/index.php?topic=328241.0

danke das ist ein toller artikel - bin gespannt wie ich es löse, hier http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
war ich
wenn ich nur wüsste, wie ich das in meinen code integriere

buttonswitch.ino (4.79 KB)