Ciao a tutti.
Sto usando il motore 28BYJ-48 con il driver ULN2003A e la libreria Stepper. Considerando che se eseguo il metodo stepper.step(PASSI), ad esempio 2048 passi, le azioni successive nel codice non vengono eseguite finché il motore non finisce di dare i 2048 passi; ho provato ad ottenere tale risultato inserendo un passo e un delay in ogni ciclo della funzione loop fino a raggiungere i 2048, ad esempio:
void loop() {
if ( PASSI < 2048 ) {
stepper.step(1);
delay(10);
PASSI++;
}
// … altre azioni, come analogRead e digitalWrite sotto condizioni
}
ma funziona bene solo se Arduino (UNO) è collegato via USB al computer, se lo lascio solo con un alimentatore (12 V, 1 A) allora fa cose strane nelle azioni successive al stepper.step(); va fuori controllo, a volte parte bene ma dopo qualche secondo perde il controllo. Immagino che quest'ultimo problema abbia a che fare con la frequenza e la gestione degli impulsi.
Non so se è utile saperelo, le connessioni sono su una proto shield.
Per favore qualcuno può dirmi come posso raggiungere lo scopo di eseguire altre azioni mentre il motore passo-passo sta girando, senza causare problemi come quello che ho menzionato? Grazie in anticipo.