Buongiorno a tutti, oggi stavo provando a controllare con un joystick un servomotore a rotazione continua, tenendo il centro del joystick come 0, e poi sponstandolo avanti e indietro il servomotore dovrebbe andare a destra o a sinistra.il problema è che quando lo faccio a andare in un verso poi non riesco più a fermarlo e continua ad andare avanti. qualcuno saprebbe trova re una soluzione?
Devi prevedere il caso da 85 a 95 come posizione centrale 90 Gradi.
Non ritengo funzionale quella storia che fai con la variabile pos1. Manca un controllo se la vaiabile é arrivato ai valori massimi/minimi ammessi.
Con un servo a rotazione continua di solito lo "zero" (servo fermo) corrisponde ad un valore tra -10° e +10°, mentre un superamento di questi valori lo fa andare in un senso o nell'altro.
Comunque il concetto è corretto, ma vanno fatte le dovute correzioni.
La libreria accetta un valore tra 0° e 180°, essendo 90° la posizione centrale.
servoVal = map(servoVal, 0, 1023, 0, 180);
Con un servo a rotazione continua di solito lo "zero" (servo fermo) corrisponde ad un valore tra 80° e 100°, mentre un superamento di questi valori lo fa andare in un senso o nell'altro.