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