Salve,
sto usando questo semplice codice per pilotare due motori passo passo.
Gli assi dei motori sono le ruote di un piccolo robot.
Ho bisogno di muovere contemporaneamente i due motori ma non riesco a farlo con la libreria stepper.h: si muove prima un motore poi l'altro.
Che problema c'è?
Io credo sia per il fatto che Arduino non è multitasking.
Potresti creare una funzione di timeslicing, ovvero dai un paio di millisecondi ad un comando, lo stoppi e dai altri 2 millisecondi all'altro, così almeno fanno i moderni calcolatori multitasking (escludendo i multicore).
Al limite potresti tentare per via elettronica, ma non sono ferratissimo sull'argomento
obnubilated:
Io credo sia per il fatto che Arduino non è multitasking.
Potresti creare una funzione di timeslicing, ovvero dai un paio di millisecondi ad un comando, lo stoppi e dai altri 2 millisecondi all'altro, così almeno fanno i moderni calcolatori multitasking (escludendo i multicore).
Anch'io ho pensato a questa soluzione, però forse così non verrebbe mai sfruttata a pieno la potenza dei motori.. no?
Effettivamente, non verrebbe usata tutta la potenza del motore, ma se è per piccole cose può andare.
Però effettivamente dev'esserci una soluzione a livello elettronico e non software, aspettiamo chi ne sa qualcosa in più!
c'è sicuramente anche a livello software la soluzione. ma probabilmente in tal caso non è possibile usare la libreria stepper.h.
Volevo capire se c'era un modo di usare la libreria per il mio problema visto che mi risulterebbe tutto molto più semplice.