Moteur bipolaire PAP 34HS59-5204S

Bonjour , je suit arrivé à faire ce que je voulais.
voici mon code complet :

#include <Arduino.h>
#include <Nextion.h>
#include <Stepper.h>
#include <AccelStepper.h>

//Pin des cellules etiquete
const int ETIQON = 7;
const int ETIQOFF = 5;

//Gestion anti-rebond
bool etiqOnStatus = false;
bool etiqOnStatusOld = false;
unsigned long DebutTimer = 0;
unsigned long TimerDelais = 50;

//etat des cellules
int CelulleOn = LOW;
int CelulleOFF = LOW;

//variable utilisé pour le NEXTION
//uint32_t numberRE = 0; //Variable pour l'arret etiquette
uint32_t VitEtiq = 0; //Variable pour la vitesse etiquette

//definie les pin moteur et le setp pour le moteur
//const int dirPin = 9; //DIR+
//const int stepPin = 8; //PULL+
const int PasRevol = 6400;//pas moteur - switch parametrer sur le driver sur 1600 STEPS ON/OFF/ON/ON (defaut=6400)
Stepper MyMoteur(PasRevol, 9,8);
int StepCount = 0;

//declaration des elements nextion - exemple :( page ID = 0, element ID= 1, name = "b0")
//----SetupEtiquette----
//NexText t5 = NexText(1, 8, "t5"); //Resultat valeur retard etiquette
//NexSlider retet = NexSlider(1, 5, "retet"); //slider valeur
//-----------------------
NexSlider vitet = NexSlider(1, 9, "vitet");

//registre des boutons
NexTouch *nex_listen_list[] = {
  &vitet, NULL
};

//RETET
//Slider retard etiq
//    void retetPopCallback (void *ptr) {
//      char temp[3] = {0};
//      retet.getValue(&numberRE);
//      utoa(numberRE, temp, 0);
//    }

//VITET
//Slider vitesse etiq
    void vitetPopCallback (void *ptr) {
      char temp[3] = {0};
      vitet.getValue(&VitEtiq);
      utoa(VitEtiq, temp, 0);
    }

void setup(void) {

 // Serial.begin(9600); retour moniteur serie
  Serial2.begin(9600);

  // Nexion
  nexInit();
//  retet.attachPop(retetPopCallback, &retet); //slide retard etiquette
  vitet.attachPop(vitetPopCallback, &vitet); //slide vitesse etiquette 

  // declaration des pins etiqueteuse
  pinMode(ETIQON, INPUT_PULLUP);  //entrer
  pinMode(ETIQOFF, INPUT); //entrer
  //Serial.println("Cellule initialisé");

  // declaration des pins moteur
  //pinMode(dirPin, OUTPUT); // Sortie
 //pinMode(stepPin, OUTPUT); // Sortie
}

void loop() {
  CelulleOn = digitalRead(ETIQON);
  nexLoop (nex_listen_list);
  DistribEtiq();
}

void DistribEtiq () {
  if (CelulleOn == HIGH) {
    //delay (numberRE);
    do {
      CelulleOFF = digitalRead(ETIQOFF);      
      //Serial.println("Detection d'un flacon");
      int Speed = VitEtiq; //vitesse moteur (1450)
      int MoteurSpeed = map(Speed, 0, 1023, 0, 100);
      (MoteurSpeed >0);
        MyMoteur.setSpeed(MoteurSpeed);
        MyMoteur.step(PasRevol / 100);      
      }
    //}
    while (CelulleOFF == HIGH); //arret moteur quand cellule off detecte un creux d'etiquette .
    //Serial.println("Arret moteur OFF ");
  }
}

merci pour votre aide. si il y a moyen d'optimiser mieux le code je suit preneur :D.