Moteur pas à pas (Stepper) et fin de course (homing) AU SECOURS !

Bonjour,

Je cherche à faire revenir mon moteur pas à pas à une position initial à l’aide d’un fin de course.

Pour l’instant, je le fait revenir en lui commandant un nombre de pas. Mais je souhaiterai au lieu d’un retour en nombre de pas, un retour continue avec un arrêt au capteur fin de course.

j’utilise un step motor 28BYJ-48
et un Module ULN2003APG

voici le programme actuel:

#include <Stepper.h>

const int stp = 12;       // stop
const int start = 8;      // marche
const int fdc = 5;        // fin de course
int nombredepas = 48*64;
int etatstp;
int etatstart;
int etatfdc;
Stepper monmoteur(nombredepas,9,11,10,6);

void setup() {
  monmoteur.setSpeed(4);
  pinMode(stp, INPUT);
  etatstp = HIGH;
  pinMode(start, INPUT);
  etatstart = HIGH;
  pinMode(fdc, INPUT);
  etatfdc = HIGH;
}

void loop() {
  etatstart = digitalRead(start);
  etatstp = digitalRead(stp);
  while (digitalRead(start) == HIGH){}      // bouton start
  delay(1000);
  monmoteur.step(200);
  delay(1000);
  monmoteur.step(200);
  delay(1000);
  monmoteur.step(200);
  delay(1000);
  monmoteur.step(200);
  delay(1000);
  monmoteur.step(200);
  delay(1000);
  monmoteur.step(200);
  while (digitalRead(stp) == HIGH) {}     // bouton stop et retour (au lieu d'un retour en nombre de pas je voudrai un retour jusqu'au capteur fin de course)
  delay(1000);
  monmoteur.step(-1200);
}

Merci par avance pour votre aide.