[Risolto] - Problema servo MG995

Salve a tutti!
Ho un servo TowerPro MG995 che ho collegato ad una scheda Arduino UNO su cui ho caricato lo sketch di esempio "Knob" presente nell' IDE di Arduino, solo che non riesco a farlo muovere. Dove sbaglio?
Grazie in anticipo per le risposte.

Hai separato la strellacca dal pappafico? :slight_smile:

Comeeeeeeeeee??????????????????

Rendi disponibile uno schema di come lo hai collegato se no è impossibile capire cosa c'è di sbagliato

L' ho collegato esattamente come dice l' esempio che si trova sul sito di Arduino (Knob):

Sei sicuro di aver fatto esattamente gli stessi collegamenti e il codice è uguale?

Tra l'altro ho trovato su internet dei pareri pessimi su quel servo, ad esempio (esperti di modellismo):

L' arancione é il segnale il rosso bhe è vcc mentre il marrone è massa...mi chiedo perche cambino ancora i colori =( Cmq io per il mio braccio robot uso un tower pro da 3 euro, bhe mi dispiace dirlo ma la funzionalità corrisponde in pieno al prezzo...

I collegamenti e lo sketch sono a posto controllati e ricontrollati.
Vedendo meglio tra le caratteristiche del servo ho visto che andrebbe pilotato con una tensione di 4.8-7.2v: forse è per questo che non funziona? Forse dovrei collegarlo ad un alimentazione esterna?

PS: Per quello che devo farci questo servo va benissimo e poiché sono alle prime armi può succedere che commettendo degli errori bruci qualcosa e sinceramente preferisco bruciare un servo da pochi euro piuttosto che uno da qualche decina.

In quel codice prova a fare delle verifiche.
Aggiungi nella setup() queste righe:

void setup()
{ delay(1000);
  Serial.begin(9600);

Poi nella loop aggiungi Serial.println() per stampare sul Monitor Seriale dell'IDE i valori del potenziometro.
Praticamente così:

#include <Servo.h>
Servo myservo;  // create servo object to control a servo 
const byte potpin = 0;  // analog pin used to connect the potentiometer
const byte servopin=9;
int val;    // variable to read the value from the analog pin 
void setup() 
{ myservo.attach(servopin);  
} 
 
void loop() 
{ val = analogRead(potpin);         
  Serial.println(val);              
  val = map(val, 0, 1023, 0, 179);
  Serial.println(val);
  myservo.write(val);              
  delay(15);                           
}

Per l'alimentazione dovrebbe bastagli i 5V di Arduino. Al massimo fa fatica ma dovrebbe muoversi.

Ho provato con altri servo e funzionano perfettamente, solo questo modello mi da problemi, quindi il potenziometro funziona. (il servo è digitale forse è per questo che non funziona?)

Gli altri che hai modello sono?

Prova con l'alimentazione esterna, probabilmente la corrente dell'arduino non è sufficiente

Per collegare un servo con l' alimentazione esterna bisogna collegare il + ai 5v della batteria, il - al GND della batteria e il segnale ad un pin di Arduino, giusto?
Lo so, la domanda è banale ma io sono ignorante XD

Si, e il GND dovresti metterlo in comune, se non mi sbaglio. Meglio attendere una conferma però.

Il GND della batteria va sul negativo del servo E sul GND di arduino

Quindi così?
(Vedi allegato)

Si, è corretto.
Assicurati che le batterie sono cariche altrimenti torni al punto di partenza :wink:

OK. Grazie delle risposte!!
Ora funziona!