Problema con servo a rotazione continua

Ciao a tutti, questo è il mio primo post sul forum e da poco mi sono avvicinato ad arduino.
Ho un problema con un servo motore a rotazione continua e arduino yun.
Il servo è un parallax futaba s148 e l'ho collegato direttamente ad arduino yun collegando i due cavi di alimentazione ai pin power gnd e 5v e il cavo per i comandi ad uno dei pin digital (li ho provati tutti dal 13 in giù). Il problema è che appena carico un semplice sketch come questo

#include <Servo.h>

Servo servoMotor;

void setup()
{
  servoMotor.attach(12);
  servoMotor.write(90);
}

void loop(){}

Il servo inizia a girare in un senso senza più fermarsi. Ho provato a dargli anche altri valori oltre a 90 ma senza variazioni.

La cosa non cambia anche se provo ad usare

servoMotor.writeMicroseconds (xxxx);

dove al posto di xxxx ho provato a mettere valori da 0 a 2700 senza alcun cambiamento .. appena carico lo sketch inizia a girare sempre nello stesso verso come se non prendesse nessuna direttiva ad eccezione di "attach".
Ho provato pure ad utilizzare un alimentazione esterna (4 pile stilo 1,5v) collegando solo il cavo dei comandi del servo ad arduino yun ma il risultato resta sempre quello.
Sicuramente sto sbagliando qualcosa...ma cosa?

Grazie Mille e Buon Anno a tutti!! :slight_smile:

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento

E' un servo a rotazione continua, quindi gira in un senso o nell'altro di continuo:
0-89 dovrebbe girare in un senso; più ti avvicini a 0 e più va veloce
90 fermo
91-180 gira nell'altro senso; più ti avvicini a 180 e più va veloce

Sospetto che il servo sia guasto.

Per avere la conferma, bisogna vedere se Yun e la libreria funzionano correttamente.

Potresti collegare sul pin 12 un LED con in serie un resistore da 470 ohm verso GND al posto del servo: se la luminosità cambia con il variare dell'angolo, puoi escludere un guasto dello Yun.

Per verificare la sola libreria può essere utile la funzione read: dopo aver impostato un valore in gradi (0, 90 e 180°), prova a leggere e visualizzare l'angolo.

Se coincidono, quasi sicuramente il problema è sul servo.

Tutto risolto .. il problema era sul fatto che provavo ad utilizzare in parallelo 4 servomotori assieme collogati direttamente ad arduino yun. Appena ne ho lasciati solo due collegati in parallelo hanno iniziato a funzionare alla perfezione. Grazie per le risposte.

I servo devi comunque alimentarli separatamente e non prendere l' alimentazione dal Arduino. Unisci le masse.
Sopratutto al YUN consuma tanta corrente (se usata WIFI o ethernet in trasmissione da 300 a 400mA)
Ciao Uwe