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?
Comeeeeeeeeee??????????????????
Rendi disponibile uno schema di come lo hai collegato se no è impossibile capire cosa c'è di sbagliato
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
Si, è corretto.
Assicurati che le batterie sono cariche altrimenti torni al punto di partenza
OK. Grazie delle risposte!!
Ora funziona!