"Endschalter" welcher einen Schalter deaktiviert

Hallo Community,

Ich bin noch nicht lange mit Arduino zu Gange. Jedenfalls, möchte ich vier Schrittmotoren für ein "Aufzugsystem" ansteuern. Das ist mir auch gelungen, mit Richtungswechsel usw. Jedoch, möchte ich nun dass das System einen Anschlagspunkt hat. Diese Anschlagspunkte sollen jeweils unten und oben gesetzt werden. Jedoch bekomme ich einfach nicht hin, dass wenn z.B. der untere Endschalter betätigt wird, ich die "Funktion" dass der Schrittmotor nach z.B. links dreht ausschalten kann, bis der Endschalter wieder losgelassen wird.

Danke im Voraus MfG

Mein Code ist aus dem Internet und lautet wie folgt:

int dirArm = 3; // D3 am Arduino
int stepperArm = 2; // D2 am Arduino

void setup() {
pinMode(A3, INPUT);
pinMode(dirArm, OUTPUT);
pinMode(stepperArm, OUTPUT);
Serial.begin(9600);
}

void Arm(boolean dir,int steps){

digitalWrite(dirArm,dir);
delay(50);

while ( ! analogRead(A0)) // Wenn der Taster gedrückt wird dann drehen.
for(int r=0;r<steps;r++){
digitalWrite(dirArm, HIGH); // Dreh - Richtung
digitalWrite(stepperArm, HIGH);
delayMicroseconds(1000); // Geschwindigkeit
digitalWrite(stepperArm, LOW);
delayMicroseconds(1000); // Geschwindigkeit

}
while ( ! analogRead(A1)) // Wenn der Taster gedrückt wird dann drehen.
for(int l=0;l<steps;l++){
digitalWrite(dirArm, LOW); // Dreh - Richtung
digitalWrite(stepperArm, HIGH);
delayMicroseconds(1000); // Geschwindigkeit
digitalWrite(stepperArm, LOW);
delayMicroseconds(1000); // Geschwindigkeit

}
}
void loop(){

Arm(true,1); // Dreh - Richtung - HIGH
Arm (false,1); // Dreh - Richtung - LOW

while(A3 == HIGH) {
analogWrite(A0, 0);
}

}

Hallo,
bitte gehe in Deinen Post und markiere den Code.
Dann drück auf das </> Symbol. Das ist sonst nicht vernünftig lesbar.

Kannst Du kurz erklären, was Du hier vor hast? :

  while (A3 == HIGH) {
    analogWrite(A0, 0);
  }

Hallo,
ich hab da jetzt nur mal kurz drüber geschaut.
Eine while Schleife ist der falsche Ansatz, eine if Verzweigung ist besser geeignet. Warum !! weil Du dann auch noch was anderes machen kannst und nicht in einer Schleife festhängst.
Warum ließt Du einen Schalter mit einem Analogeingang analog ein ??

Schau Dir die einfachen Beispiele der IDE an.
Heinz