Commande d'un stepper avec millis

Bonsoir,desolé pour la question, mais je suis débutante, j'aimerai faire tourner mon moteur pas a pas chaque 2h , pendant 18jour. il doit faire 50pas d'un sens puis dans l'autre
Le soucis est que jai utilisé la fonction millis mais cela ne marche pas.
quelqu'un peut peut m'aider svp. merci , ci dessous le code que je fais

 #include <Stepper.h>
 const int NbrPas =100;
Stepper monmoteur(NbrPas, 8, 9, 10, 11);

unsigned long Newval=0;
unsigned long ancienneval=0;
//unsigned long millisBetweenSteps = 25; // milliseconds

void setup() { 

     Serial.begin(9600);
      ancienneval=millis();//initialisation
 monmoteur.setSpeed(10);  // Vitesse à 10 tours/min
   
}

void loop() { 
       
     Moteur();  
  Newval=millis();
  if((Newval-ancienneval)<=1000)

     ancienneval=Newval;  
}

void Moteur() {
  monmoteur.step(50);
  delay(500);

  monmoteur.step(-50);
  delay(500);
}

Il est recommandé de lire le message épinglé:

?

void loop () {
    Newval=millis();
    if ((Newval-ancienneval) <= 1000)  {
        ancienneval = Newval;
        Moteur ();
    }
}

There's 1000 milliseconds of delays in the Moteur

c'est juste un code d'essaie mais cela n'as pas fonctionner bien évidement raison pour laquelle j'ai besoin d'aide.

i don't understand you ?

Bonjour,

Le test est dans le mauvais sens.
if((Newval-ancienneval)>=1000)
De plus 1000 ms c'est le temps que met ta fonction Moteur() pour s’exécuter, donc ton moteur va bouger en continu.

The reply was directed at @gcjr

correct. thanks for pointing that out

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.