Ciao, vengo al punto. Ho un piccolo rover che utilizza 4 motori DC, mi occorre fare in modo che da programma possa far ruotare il rover di 45 o 90 gradi. Non essendo servi, non posso utilizzare la classe servo.
Quindi, ho pensato che l'unico modo sia effettuare una rotazione per un intervallo di tempo prestabilito, per sapere di quanto al fine di raggiungere i 45-90 gradi è un discorso diverso, occorre andare per tentativi.
Quindi la domanda: come faccio ad impostare un ciclo basato su un intervallo temporale? In pratica, impostare un "per tot millisecondi fai questo". Ho controllato ma il delay blocca il programma, mi occorrerebbe qualcosa tipo la classe Timer del .NET Framework.
O al limite, qualcuno ha pensato ad un altro metodo per ruotare le ruote connesse a motori DC di toto gradi?
Ciao, premetto che non ho mai avuto a che fare con tempi di motori e quant'altro ma, in questi casi, credo si debba utilizzare la funzione millis() per costruire dei timer.
Dal punto di vista software ho trovato questa libreria che può fare al caso mio.
Dato che non voglio/posso aggiungere hw ai motori, penso che adotterò una soluzione molto spartana che consiste nell'andare per tentativi giocando sul valore in ms per stabilire +/- in modo molto approssimativo come girare il robot di 45/90 gradi.
Non è il massimo ma se non si tratta di servi e senza hw aggiuntivo, c'è poco da fare...