Ciao,
Devo far girare una pala in modo che segua sempre il percorso più breve in un angolo giro. Scrivendo così passando da 359 a 1 e viceversa, invece di fare 2 gradi di rotazione, ne fa 358.
Come posso fargli seguire sempre il percorso più breve?
Parliamo di uno stepper a rotazione continua?
Comunque non l'ho mai usato, ma penso che invece del metodo moveTo() tu possa usare il movimento relativo, ossia move().
Appunto, se tu memorizzi la posizione corrente ti basta usare myStepper.move() e muovere di un valore positivo o negativo in base a quale distanza è minore, ossia il valore assoluto della differenza tra le due posizioni distanti 360 gradi (ossia la nuova posizione +360 se minore di 180, oppure -360 se maggiore di 180).
Prova a farti una simulazione con Excel per trovare la formula esatta.
Ho fatto così... sembra eseguire correttamente ma appena finito, dal nuovo angolo negativo torna indietro e fa un altro giro.
Potrei postare il codice completo ma è piuttosto lungo