Hi
Nein - Du musst den Sensor-Zustand EINLESEN, wenn DU auf Veränderungen wartest.
Diese While macht nicht, was Du Dir denkst.
Schreibe auf, WAS darin passieren soll - wie immer: möglichst kleine Schritte
Akut wirfst Du die While-Schleife an und machst, bis auf das Runterzählen der Schrtte, Einen pro While-Durchlauf, Nichts.
Da ist kein Sensor drin, Nicht, ob vll. Jemand zwischenzeitlich irgendwo einen Knopf gedrückt hat, weil Da eine Lok nicht richtig stand und die Drehbühne gerade Gehacktes draus machen will ... der Arduino hört erst auf, wenn Er fertig ist!!
Überdenke Dein Konzept, Blink_without_delay wirst Du hier im Thread schon gehört haben - darin besteht Deine Lösung.
MfG