Questo progetto illustra un semplice circuito per iniziare a giocare con Arduino e i motori servo (in questo caso uno a 360 gradi, come quelli che trovate a questo link eBay).
Come si può vedere nel video qui sotto, si può variare il verso e la velocità della rotazione agendo su un potenziometro.
Qui lo sketch:
Segui Daniele Alberti su Google+Come si può vedere nel video qui sotto, si può variare il verso e la velocità della rotazione agendo su un potenziometro.
Ecco lo schema per la realizzazione:
Qui lo sketch:
- #include <Servo.h>
- Servo myservo;
- int analogPin = 0;
- int val = 0;
- void setup()
- {
- myservo.attach(9);
- }
- void loop()
- {
- val = analogRead(analogPin);
- myservo.write (val);
- }
Ciao, potresti dirmi che modello di servo hai utilizzato? Grazie mille|
RispondiEliminaCiao, si chiamano DS04-NFC
EliminaCiao, posso chiederti una cosa? Come mai il servomotore ritorna indietro? Non capisco... c'è un modo per farlo continuare a girare all' "infinito"?
RispondiEliminaSi certo, alla riga 14 al posto di
Elimina"myservo.write (val)"
Scrivi
"myservo.write (180)"
E lui continuerà incurante della posizione del potenziometro.
salve, ma se volessi bloccare la posizione del servo come faresti
RispondiEliminaCiao, semplicemente scrivendo:
Eliminamyservo.write (90);
blocchi il servo.
Invece se tra le parentesi scrivi 0
ruoterà alla massima velocità in un senso, con 180 nell'altro.
Ciao,
RispondiEliminama se volessi fargli fare 5 giri? Quindi 1800°?
Devi farlo ruotare e cronometri quanto ci mette per fare quella rotazione, poi glielo fai fare in automatico mettendo un delay del valore che hai cronometrato.
EliminaSe ti serve qualcosa di più preciso devi usare un motore passo passo, trovi degli articoli qui sul blog
Ciao Daniele, che valore ha il potenziometro che hai utilizzato in questo esempio ?
RispondiEliminaCiao, è da 10k ma vanno benissimo anche altri con valore simile
EliminaMolte grazie Daniele !
RispondiEliminaHo un servo da 360 vorrei che per ogni movimento del potenziometro mi corrisponda un valore doppio di rotazione del servo. E che resti in quella posizione finché non rimuovo il potenziometro.... È possibile farlo??? Mi sto avvicinando ora ad arduino e ancora non so se è possibile Grazie, Sara
RispondiEliminaCiao Daniele da poco ho stampato un rover a 2 ruote con motore servo. Sono riuscito a modificare il servo solo che per farlo fermare devo write(1), con 0 si muove pochissimo. Per farlo ruotare nell'altro senso devo mettere il mento davanti.
RispondiEliminaSono rimasto bloccato e non riesco a completare il lavoro. Il robot si chiama Juno-Rover su thingverse. Però c'erano solo file stl e nulla sul programma. Se mi fai una mano mi faresti un grande favore che ricambierei volentieri. Grazie Antonio Ferreri
Scusa il meno ....write(-60) write(180)
RispondiElimina