Schrankensteuerung HO

Wie währe es, wenn du ein Serial debugging einfügst und zu sehen was dein Programm macht. Also ausgeben, wo du gerade im Programm bist und Werte von Variablen ausgeben.

ist ja auch klar. Du setzt deinen nicht sprechenden marker a auf 0 und damit kommst du dann im nächsten Loop durchlauf gar nicht mehr in die Prüfung hinein ob ein Endschalter erreicht ist.

sauberer wäre du programmierst das als eine State machine.

der onReceive startet dann nach rauf oder runter
während der Bewegung wird auf den Endschalter geprüft und gestoppt.

edit: ungeprüft aber die Idee sollte klar werden:

MotorSchranke - Wokwi ESP32, STM32, Arduino Simulator

in dem Fall wäre vielleicht auch ein Schaltplan mal hilfreich, wie du das ganze verdrahtet hast.

jetzt hab ichs gesehen, das a=0 steht an der falschen Stelle, vergleich deinen Source nochmal mit dem, den ich in #18 gepostet habe.