Stepper motor non si muove ma ronza

doppiozero:
Con la libreria non ti serve impostare nessun delay, io sospetto un problema di codice.

prova questo (io non l'ho provato però) dovrebbe muoversi avanti e indietro ogni 5 secondi di 200passi

#include <AccelStepper.h>

AccelStepper stepper(1, 9, 8); // driver usage = 1 step pin = 9 dir pin = 8

unsigned long int previousMillis = 0;
bool direzione = true;
bool flag = true;

void setup()
{
 stepper.setMaxSpeed(200.0);
 stepper.setAcceleration(100.0);
}

void loop()
{
 if (millis() - previousMillis > 5000) {
   direzione = !direzione;
   previousMillis = millis();
 }

if (direzione == true && flag == true) {
   stepper.move(200);
   flag = false;
 }
 if (direzione == false && flag == false) {
   stepper.move(-200);
   flag = true;
 }
 stepper.run();
}

Il risultato è un motore che gracchia e non ruota

movie.mpg (1.13 MB)