passo passo e il driver a4988 muovere di pochi passi

ciao a tutti , sto giocando con dei motori passo passo e il driver a4988
pero non mi e' chiaro come, da una posizione casuale , possa tornare indietro di 30 passi

#include <AccelStepper.h>
// Definisce i collegamenti del motore passo-passo e il tipo di interfaccia del motore. Il tipo di interfaccia del motore deve essere impostato su 1 quando si utilizza un driver:
#define dirPin 3
#define stepPin 2
#define motorInterfaceType 1
#define ENA 5
// Crea una nuova istanza della classe AccelStepper:
AccelStepper stepper = AccelStepper ( motorInterfaceType, stepPin, dirPin ) ;
void setup() {
  stepper. setMaxSpeed ( 1000 ) ;
  stepper.setAcceleration(10);
  
}
void loop() {
  switch (var) {
    case 1: {
        stepper. setSpeed ( 0 ) ;
        stepper. runSpeed () ;
      }
      break;
    case 2: {

        digitalWrite(ENA, LOW);//qui avvio il motore
        // Fa avanzare il motore con una velocità costante come impostato da setSpeed ​​():
        stepper. setSpeed ( 150 ) ;
        stepper. runSpeed () ;
      }
      break;
    case 3: {
        digitalWrite(ENA, LOW);
        // Fa andare indietro il motore con 
        stepper.moveTo(-10);
        
   stepper.runToNewPosition(0) ;
        
      }
      break;

nel case 3 , quando viene chiamato indifferentemente dalla posizione , volevo capire come fare andare indietro di un tot di passi, per poi successivamente passare ad un altro case, ho provato cosi ,ma non rispetta i 10 passi , grazie ancora delle informazioni a me preziose,
buona serata

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