moteur pas à pas

Bonjour,

J'ai un code qui fonctionne avec un cadre animé et je ne sais pas pourquoi
mon moteur pas à pas tourne toujours dans le même sens alors qu' il devrais
aller dans un sens puis dans l'autre .

le code

#include <Servo.h>
#include <Stepper.h>



Stepper moteur(200, 4, 6, 5, 7);


Servo castor,chambreGa,chambreFille,salle;



int NombreuDeBoucle = 0;



void setup() {

  Serial.begin(9600);      // ouvre le port série à 9600 bauds

 
  pinMode(A4,OUTPUT); //sortie led pere noel
  pinMode(A3,OUTPUT); //sortie led chambre garçon
  pinMode(A1,OUTPUT); //sortie led chambre fille
  pinMode(A2,OUTPUT); //sortie led salle
  
    digitalWrite(A4, LOW);
    digitalWrite(A3, LOW);
    digitalWrite(A1, LOW);
    digitalWrite(A2, LOW);
    
 
 
   castor.attach(10); // servomoteur
   castor.write(5);
 
      
  
 
   chambreGa.attach(2); // servomoteur
   chambreGa.write(110); // initialise a 15 degre
   chambreFille.attach(3); // servomoteur
   chambreFille.write(40); // initialise a 15 degre

 


    moteur.setSpeed(9); 


}

void loop() {
 
   
 
   
   

  for (int servoCompteurcastor = 0; servoCompteurcastor < 20; servoCompteurcastor++)
  servocastor();

    for (int CompteurledPere = 0; CompteurledPere < 1; CompteurledPere++)
        ledPere();
   
   for (int moteurpapCompteur = 0; moteurpapCompteur < 1; moteurpapCompteur++)
      moteurpap();


 
   for (int servoCompteurchambreGa = 0; servoCompteurchambreGa < 1; servoCompteurchambreGa++)
    servochambreGa();
   
    for (int CompteurledGa = 0; CompteurledGa < 1; CompteurledGa++)
        ledGa();
       
    for (int servoCompteurchambreFille = 0; servoCompteurchambreFille < 1; servoCompteurchambreFille++)
    servoChambreFille();
   
    for (int CompteurledFille = 0; CompteurledFille < 1; CompteurledFille++)
        ledFille();
       
    for (int moteurpapCompteur = 0; moteurpapCompteur < 1; moteurpapCompteur++)
      moteurpapRetour();

     for (int CompteurledPereE = 0; CompteurledPereE < 1; CompteurledPereE++)
        ledPere();
        
    for (int CompteurledGaE = 0; CompteurledGaE < 1; CompteurledGaE++)
        ledGaE();
    for (int servoCompteurchambreGaR = 0; servoCompteurchambreGaR < 1; servoCompteurchambreGaR++)
    servochambreGaR();
   
    for (int CompteurledFilleE = 0; CompteurledFilleE < 1; CompteurledFilleE++)
        ledFilleE();
       
    for (int servoCompteurchambreFilleR = 0; servoCompteurchambreFilleR < 1; servoCompteurchambreFilleR++)
           servoChambreFilleR();
   
    for (int CompteurledSalle = 0; CompteurledSalle < 1; CompteurledSalle++)
        ledSalle();
       
    for (int CompteurledSalleE = 0; CompteurledSalleE < 1; CompteurledSalleE++)
        ledSalleE();
  
   

}
void  servocastor(void) {

  Serial.println("servo animation en marche ");
 castor.write(05);  //servomoteur castor se positionne 
 delay(800); 
 castor.write(15);  //servomoteur castor se positionne
  delay(800);                     
}

void ledPere(void) {

  Serial.println("led pere allumer ");
    digitalWrite(A4, HIGH); // Allumer LED chambre garçon
      delay(1500);
 }
     
void moteurpap(void) {

  Serial.println("Moteur pap aller ");
      moteur.step(1800);
    delay(3500);
  
}

void  servochambreGa(void) {
 
  Serial.println("servo chambreGa en marche ");   
   chambreGa.write(60);  //servomoteur chambrega se positionne et ne bouge plus
      delay(800);                         
}

void ledGa(void) {

  Serial.println("led chambreGa allumer ");
    digitalWrite(A3, HIGH); // Allumer LED chambre garçon
      delay(1500);
 }
 
void servoChambreFille(void){

  Serial.println("servo chambrefille en marche ");
    chambreFille.write(85);  //servomoteur chambrefille se positionne  et ne bouge plus
      delay(800);
}

void ledFille(void){

  Serial.println("led chambreFille allumer ");
    digitalWrite(A1, HIGH); // Allumer LED chambre fille
      delay(2500);
}

void moteurpapRetour(void) {

  Serial.println("Moteur pap retour ");
    moteur.step(-1800);
      delay(3500);

}

void ledPereE(void) {

  Serial.println("led chambreGa allumer ");
    digitalWrite(A4, LOW); // Allumer LED pere
      delay(800);
 }

void ledFilleE(void){

  Serial.println("led chambreFille etiend ");
    digitalWrite(A1, LOW); // Eteindre LED chambre fille
      delay(800);
}

void ledGaE(void){

  Serial.println("led chambreGa eteind ");
    digitalWrite(A3, LOW); // Etiendre LED chambre garçon
      delay(800);
 }

void servoChambreFilleR(void){

  Serial.println("servo chambreFille retour ");
    chambreFille.write(40);  //servomoteur chambrefille se positionne  et ne bouge plus
      delay(800);
}

void  servochambreGaR(void) {

   Serial.println("servo chambreGa retour ");
     chambreGa.write(110); //servomoteur chambrega se positionne a 90 et ne bouge plus
       delay(800);             
}


 
void ledSalle(void){

  Serial.println("led salle allumer ");
    digitalWrite(A2, HIGH); // Allumer LED de la salle
      delay(4500);
}

void ledSalleE(void){

  Serial.println("led salle eteind ");
    digitalWrite(A2, LOW); // Etiendre LED de la salle
      delay(800);
}

Merci

HELLO
dans ton code, tu as nommé une fonction: void moteurpap(void)

elle correspond au sens "aller" et dans ta loop tu appelles toujours "moteurpap()"

et jamais celle que tu as nommé : void moteurpapRetour(void)

donc ton moteur tourne toujours dans le sens "aller"

Désolé je ne comprends pas.
J'avoue ne pas avoir toucher à mon arduino depuis au moins un an.

#include <Stepper.h>

Stepper moteur(200, 4, 6, 5, 7);

void setup() {

               Serial.begin(9600);      // ouvre le port série à 9600 bauds
               moteur.setSpeed(30); //30 tours par minute
             }

void loop() {
 

   
   for (int moteurpapCompteur = 0; moteurpapCompteur < 1; moteurpapCompteur++)
      moteurpap();
       
    for (int moteurpapCompteur = 0; moteurpapCompteur < 1; moteurpapCompteur++)
      moteurpapRetour();

 }
     
void moteurpap(void) {

  Serial.println("Moteur pap aller ");
      moteur.step(1800);
    delay(3500); 
}

void moteurpapRetour(void) {

  Serial.println("Moteur pap retour ");
    moteur.step(-1800);
      delay(3500);
}

effectivement, excuses moi, je n'avais pas vu cet appel

et ce code simplifié? attention moniteur en 115200

#include <Stepper.h>
Stepper moteur(200, 4, 6, 5, 7);

void setup() {
  Serial.begin(115200);// ouvre le port série à 115200 bauds
  pinMode(A4,OUTPUT);digitalWrite(A4, LOW); //sortie led pere noel
  pinMode(A3,OUTPUT);digitalWrite(A3, LOW); //sortie led chambre garçon
  pinMode(A1,OUTPUT);digitalWrite(A1, LOW); //sortie led chambre fille
  pinMode(A2,OUTPUT);digitalWrite(A2, LOW); //sortie led salle 

   moteur.setSpeed(200); 
}

void loop() {
   
   for (int moteurpapCompteur = 0; moteurpapCompteur < 1; moteurpapCompteur++)
      {moteurpapAller();}   
    
   for (int moteurpapCompteur = 0; moteurpapCompteur < 1; moteurpapCompteur++)
      {moteurpapRetour();}
     Serial.println("fin "); 
     while(1);
}

     
void moteurpapAller(void) {
      Serial.print("Moteur pap aller ");
      moteur.step(200);
      delay(1500);
    }


void moteurpapRetour(void) {
      Serial.print("Moteur pap retour ");
      moteur.step(-200);
      delay(1500);
    }

Je viens de tester avec le code du youtubeur u=ri et ça fonctionne.
Je verrai demain j’arrête pour ce soir.

OK ça fonctionne .

merci