Muovere Passo passo tramite pulsante

Ora mi funzia ma non fa quello che volevo io. ]:slight_smile:
Praticamente senza premere nessun bottone gira a destra all'infinito se premo il bottone 2 mi fa il ciclo 3000 giri da un senso e 3000 giri dall'altro ripetendolo all'infinito se rilascio il tasto 2 ritorna la rotazione a destra all'infinito.
Mi andrebbe bene se premento il tasto 1 rimanesse nella direzione sinistra ma così non è!
Come faccio a fargli cambiare direzione all'infinito?
e se possibile come faccio fargli fare una direzione tenendo premuto un pulsante e l'altra direzione con l'altro pulsante all'infinito e se non premo nulla sta fermo?
Grazie ancora

const int buttonPin = 10; //Setting button number 1 to Pin 2
int buttonState = 1; //Setting button state to off

const int buttonPin1 = 12; //Setting button number 1 to Pin 2

void setup() {
pinMode(DIR_PIN_M1, OUTPUT);
pinMode(STEP_PIN_M1, OUTPUT);

}

void loop(){

//specifica numero giri e tempo di attesa

if ( digitalRead(buttonPin) == 0) {
rotateDeg(-3000, 0.7);
delay(000);
}

if ( digitalRead(buttonPin1) == 0) {
rotateDeg(3000, 0.7);
delay(000);
}
}