[
Du willst:
- den Hall-Sensor IMMER abfragen - direkt in der loop
Nein der Hall soll nur abgefragt werden, wenn die Bühne dreht und der Motor läuft
- den Motor starten, wenn eine Fahrt gestartet wird (und der Abstand !=0 ist)
Ja genau
- den Motor stoppen, wenn der Abstand ==0 ist
ja genau
- die Schritte (um 1) herunterzählen, wenn der Hall-Sensor von HIGH nach LOW wechselt
Stimmt auch
Wenn die Schritte abgelaufen sind kann, kann man über den Drehencoder erst das nächste Zielgleis wählen.
... die loop() wird tausend Mal die Sekunde durchrannt und trotzdem wird nur dann auf etwas reagiert, wenn's dafür 'an der Zeit ist