Se sei un appassionato arduino, e non solo, hai senza dubbio realizzato un tuo progetto e forse hai voglia di condividere il tuo progetto con altri appassionati, questo è quello che è successo a Gabriele che ha realizzato il controllo testa mobile:
Gabriele è un appassionato maker che ha realizzato diversi progetti e da qualche mese si è dedicato alla realizzazione al controllo testa mobile con arduino mediante un joystick a due assi ( x ed y ).
Il materiale per costruire controllo testa mobile
Per realizzare il progetto di Gabriele ti occorre:
- n.2 servo motori da 180° uso modellistico
- n.2 resistenze da 330Ω
- n.1 deviatore generico
- n.1 joystick o in alternativa due potenziometri da 10kΩ
- qualche jumpers
- n.1 arduino uno R3
- n.2 scatole stagne da elettricista
- minuterie meccaniche e staffe per il montaggio
Il circuito e lo schema dei collegamenti
Gabriele ha realizzato sia lo schema dei collegamenti:
sia il circuito su breadboard che puoi seguire per riprodurre il progetto:
Lo sketch del controllo testa mobile
Anche lo sketch è tutto realizzato da Gabriele che ha voluto condividere con noi appassionati il suo progetto:
const int Puls2 = 11; // Collegamento pulsante 2 void setup() { myservo.attach(9); myservo2.attach(6); pinMode(Puls1, INPUT); // Impostazione PIN ingresso pinMode(Puls2, INPUT); // Impostazione PIN ingresso digitalWrite(Puls1, HIGH); // Abilità res. pull-up digitalWrite(Puls2, HIGH); // Abilità res. pull-up } void loop() { if (digitalRead(Puls1) == LOW) { // Pulsante 1 premuto val = analogRead(potpin); val1 = analogRead(potpin1); val = map(val, 0, 1023, 0, 179); myservo.write(val); val1 = map(val1, 0, 1023, 0, 179); myservo2.write(val1); delay(15); // Accensione controllo joystick } if (digitalRead(Puls2) == LOW) { // Pulsante 2 premuto for(pos = 0; pos < 180; pos += 1) { myservo.write(pos); myservo2.write(pos); delay(15); } for(pos = 180; pos>=1; pos-=1) { myservo.write(pos); myservo2.write(pos); delay(15); } } }
Il Video
Buon divertimento nella costruzione del controllo testa mobile.
30 commenti
Vai al modulo dei commenti
Salve,
vorrei sapere gentilmente la potenza dei due motori servo usati nel progetto perchè due della stessa grandezza da me comprati non riescono a muovere il led posto sopra.
Grazie per la collaborazione
Cesare
Autore
Ciao Cesare, pubblico il tuo commento in modo che l’autore possa risponderti, io purtroppo non conosco le meccaniche coinvolte
Ciao Cesare,
ecco tutti i dati dei servo che ho usato:
Peso: 38 g, alimentazione: da 4,8 Vdc a 6 Vdc, coppia di torsione a 4,8V: 3 kg/cm, coppia di torsione a 6V: 3,6 kg/cm, rotazione: 180°, velocità a 4,8V: 0,22 sec/60° senza carico, velocità a 6V: 0,19 sec/60° senza carico. Dimensioni: 41,2 x 20,2 x 37,7 mm, temperatura di funzionamento: da -20°C a +60°C.
Autore
Grazie Gabriele per la risposta.
Buongiorno, volevo provare a progettare una testa mobile a 2 assi e volevo sapere come hai affrontato la scelta della struttura e dei motori, in particolare: hai effettuato il calcolo delle forze agenti sulla struttura?
In base a cosa hai scelto i motori da utilizzare?Che coppia sprigionano?
Autore
Ciao Giuseppe,
tra i miei progetti ci sono esempi di testa mobile per piccoli test.
Il calcolo delle forze e delle strutture in gioco è relativamente basso.
Nel tuo caso dipende da cosa vorrai spostare e in che modo oltre che dalla struttura di spostamento.
Ciao avevo intenzione di montare su una struttura simmetrica, abbastanza simile alla tua una fotocamera canon del peso di circa 2,5 kg e stavo decidendo cosa scegliere tra motori servo o motori in cc.
Secondo te oltre ovviamente a coppia disponibile all’albero motore quali altri parametri dovrei tenere in considerazione per scegliere il motore?
Nel caso in cui volessi far effettuare una rotazione di 360° intorno ad uno dei due assi, la scelta del motore servo sarebbe da scartare?
Autore
Ciao Giuseppe,
certamente la coppia all’albero è un fattore importante che ti aiuta a sviluppare i dovuti calcoli per leve di maggiore distanza.
Ho scritto un articolo dedicato alle differenze tra i vari motori e come sceglierli per un progetto, prova a leggerlo.
I fattori che ti spingono a scegliere un motore al posto di un’altro sono molteplici e descriverli in un commento è difficile.
Di certo un servo da 360° non è controllabile in gradi ma in velocità per cui potrebbe non essere adatto al tuo scopo 🙂
Salve
i codici non mi funzionano, perchè?
Autore
Ciao Fabio,
scritto in questo modo potrebbe essere per milioni di motivi, che errori ti danno?
Salve
il primo errore ed l’unico per adesso se non ce ne saranno in futuro è:
myservo.attach(9);
Autore
Ciao Fabio,
di che errore si tratta?
Non ci sono errori nella linea che hai scritto, almeno a vederla come l’hai scritto.
salve
l’ ho scritta giusta ma credo che manchino dei codici, quelli per definire il servo
Autore
Ottima Fabio, puoi aggiungerli copiandoli da un qualsiasi articolo sui servo.
ciao Mauro, in effetti anche a me risultano mancare diverse cose, scritto così darà vari messaggi di errore, mancano le dichiarazioni dei 2 servo, di Puls1, potpin, potpin2, poi credo un altro paio di cose. Magari mi sbaglio, ti chiedo cortesemente di verificare lo sketch finchè ti darà il messaggio di compilazione terminata, magari apportando le correzioni.
Non devo realizzare questa cam in particolare ma mi è utile capire come controllare due motori col joystick e così com’è lo sketch non funziona. Come sempre grazie in anticipo!! alla prossima
Autore
Ciao Francesco,
in effetti guardando lo sketch mancano delle definizioni.
Siccome è un progetto di Gabriele, che legge spesso il blog, lascio a lui o a chi dei tanti appassionati ha voglia la possibilità di correggere lo sketch ed io sarò lieto di pubblicarlo.
Lo trovo un interessante spunto di riflessione per chi vuole approfondire il controllo dei servo con un joystick e l’articolo ha tutto il materiale fotografico che può essere utile per ricostruire lo sketch.
Perfetto, attendiamo Gabriele o chiunque abbia voglia di apportare modifiche allo sketch per renderlo utilizzabile. Come hai sottolineato tu, è una cosa molto interessante capire come controllare dei servo, motoriduttori etc. con l’uso del joystick, gli esperimenti da fare sono davvero infiniti! Saluti a tutti. Francesco
Autore
Bravo Francesco,
se vuoi fare tu la modifica sono sicuro che Gabriele approverà il contributo e l’aiuto 🙂
ok Mauro, ci provo, appena ho risolto eventualmente ti avviso dato che qui non posso postare sketch. A presto
Autore
Bravissimo Francesco,
mandami lo sketch corretto via email ed io lo pubblico come tua miglioria 🙂
Ciao Mauro, finalmente ho risolto il problema. Non mi sono messo a correggere questo sketch bensì a modificarne uno (trovato in giro) che mi permettesse di controllare 2 semplicissimi servo motori. Tutto ok! Ora il prossimo passo è fare altrettanto con 2 stepper bipolari, al lavoro! 😉
Alla prossima!
Autore
Ciao Francesco, speravo tu contribuissi a migliorare questo sketch e condividere la correzione.
Sono comunque contento che tu ci sia riuscito e spero ti sia comunque chiaro quali fossero le righe di codice da aggiungere in questo per renderlo adatto al tuo progetto; é solo così che si impara a realizzare da soli i propri progetti sbattendo la testa contro quello che sembra impossibile.
La soddisfazione di riuscire non ha pari.
Salve Mauro…. Ti scrivo qui.
Vorrei sapere come fare per pilotare l’asse orizzontale con un encoder e non con un potenziometro. E in caso di spegnimento fargli ricordare lo stato.
Autore
Ciao Luigi,
per sostituire il potenziometro con un encoder ti consiglio la lettura dell’articolo dedicato agli encoder a quadratura, potrai comprendere come funzionano e come integrare il codice per ottenere quello che ti occorre.
Se hai dubbi sul funzionamento dello sketch o non comprendi quanto spiegato scrivi anche nei commenti che provo a rispondere.
Sulla memoria potresti usare sia la eeprom sia una SDcard.
In generale entrambi i problemi sono facilmente risolti con un potenziometro e un encoder complica, non di poco, il progetto.
Ciao, sono alla prima esperienza con Arduino e volevo provare a progettare una testa mobile come quella nel video di Gabriele. Nella foto si vedono 4 interruttori o deviatori e un pulsante, ma non riesco a capire i collegamenti da effettuare
Autore
Ciao Angelo,
lascio il tuo commento on-line perché Gabriele ti possa aiutare.
Ciao Mauro, ho caricato il tuo codice, ma appena passo in modalità automatica per i primi due o tre minuti il servo va a scatti, è normale?
Autore
Ciao Andrea,
lascio il tuo commento on-line per Gabriele, autore del progetto, come hai letto.
ciao io sto facendo il progetto per l’esame e sto facendo questa testa mobile….ma gli interruttori per mandarla in automatico o altro dove li hai collegati
Autore
Ciao Lorenzo,
lascio il tuo commento on-line perché l’autore possa risponderti.