controllo motore passo passo con pulsante

buongiorno ho bisogno di controllare un motore passo passo, dove dopo aver cliccato il pulsane il motore esegue un certo numero di giri , si vera per x secondi e ritorna alla posizione iniziale .
questo è il ciclo che deve eseguire il motore e driver che sto utilizzando sono questi : https://www.amazon.it/dp/B078KKH35H/ref=sspa_dk_detail_0?psc=1&pd_rd_i=B078KKH35H&pd_rd_w=1xN0G&pf_rd_p=365a3205-59f3-4b5b-b44d-9c9ece8162af&pd_rd_wg=2ru5B&pf_rd_r=2YDBJGD0SXKTXSCF1WV1&pd_rd_r=d1ec6eee-e5e1-4788-aa23-336bf0ad769c&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEyMjhXTkYzTVFXVEFIJmVuY3J5cHRlZElkPUEwMTE3OTA4MldEOVhQVTZJUjVPTyZlbmNyeXB0ZWRBZElkPUEwMTk5MzY2MlZBVFE5VENZTEFSRyZ3aWRnZXROYW1lPXNwX2RldGFpbCZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=

ho provato questo sketch e il motore esegue la rotazione in un senso si ferma e ritorna nel verso opposto dovrei inserire l'avvio con il pulsante . qualcuno può aiutarmi ?
grazie in anticipo per la risposta

void setup() {
 // put your setup code here, to run once:
 
int Distance; // record th number of steps we've taken void setup() {

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

digitalWrite(8, LOW);

digitalWrite(9,LOW);
}

void loop() {

 delay(1000);
 
 digitalWrite(8,LOW);
 
 digitalWrite(9,LOW);

for (int Distance = 0; Distance <= 1000; Distance++) {
 
  digitalWrite(9,HIGH);
  
  delayMicroseconds(100);
  
  digitalWrite(9,LOW);
  
  delayMicroseconds(100);
  }
  
delay(1000);

digitalWrite(8,HIGH);

digitalWrite(9,LOW);

for ( int Distance = 0; Distance <= 1000; Distance++){
 
 digitalWrite(9, HIGH);
 
 delayMicroseconds(100);
 
 digitalWrite(9,LOW);
 
 delayMicroseconds(100); 

}
}

Prima di tutto ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post ...

... poi, essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione il su citato REGOLAMENTO ...

... infine, in conformità al suddetto regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread e sistemato il codice come da regolamento, nessuno ti potrà rispondere, quindi ti consiglio di fare il tutto al più presto. :wink:

Se vuoi fare un lavoro fatto bene potresti utilizzare una libreria, ad esempio AccelStepper così gestisci anche le rampe di accelerazione e decelerazione.

D

il problema e che non riesco proprio a far partire il motore quando do il consenso con il pulsante .

Comincia a andare a prendere una libreria scritta per muovere quel modello di motore, efai partire un esempio della stessa. Al 90% non farà quello che vuoi, ma riusciamo a capire come far muovere il motore, il resto è il meno.