Drehscheibe Modellbahn mit RF24

Hi

Du wartest, bis der ein neues Gleis gewählt wurde und Enter gedrückt wurde
Jetzt wartest Du darauf, daß der Hall-Sensor LOW zeigt
Jetzt Startest Du eine Schleife, Die alle 2 Sekunden einen Wert runter zählt.

Ich denke, der Sketch macht genau Das, was Du geschrieben hast.
Mit ziemlicher Sicherheit aber nicht Das, was Du willst.

Du willst:

  • den Hall-Sensor IMMER abfragen - direkt in der loop
  • den Motor starten, wenn eine Fahrt gestartet wird (und der Abstand !=0 ist)
  • den Motor stoppen, wenn der Abstand ==0 ist
  • die Schritte (um 1) herunterzählen, wenn der Hall-Sensor von HIGH nach LOW wechselt
    ... die loop() wird tausend Mal die Sekunde durchrannt und trotzdem wird nur dann auf etwas reagiert, wenn's dafür 'an der Zeit ist'.

Ob der Motor nach dem letzten Hall-Impuls noch weiterlaufen muß, bis die Gleise übereinander stehen - kA - wenn nicht, müsste man einen Schritt vorher mit der Bremsrampe beginnen.

Das lässt sich wunderbar in eine State-Maschine einbauen.
Dazu hat combie bereite eine Liste hier im Forum - solltest Du Dir ansehen.

MfG