Controllo testa mobile

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:

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:

controllo testa mobile schema

sia il circuito su breadboard che puoi seguire per riprodurre il progetto:

controllo testa mobile circuito

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.

Cortesemente, prima di inserire i commenti leggi il regolamento

Permanent link to this article: http://www.mauroalfieri.it/elettronica/controllo-testa-mobile.html

30 comments

Skip to comment form

    • Cesare on 8 marzo 2014 at 09:43
    • Reply

    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

    1. Ciao Cesare, pubblico il tuo commento in modo che l’autore possa risponderti, io purtroppo non conosco le meccaniche coinvolte

    • Gabriele Carluccio on 12 marzo 2014 at 07:19
    • Reply

    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.

    1. Grazie Gabriele per la risposta.

    • Giuseppe Giorgio on 13 aprile 2014 at 15:38
    • Reply

    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?

    1. 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.

        • Giuseppe on 21 aprile 2014 at 21:20
        • Reply

        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?

        1. 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 🙂

    • Fabio on 7 agosto 2014 at 00:04
    • Reply

    Salve
    i codici non mi funzionano, perchè?

    1. Ciao Fabio,
      scritto in questo modo potrebbe essere per milioni di motivi, che errori ti danno?

    • Fabio on 8 agosto 2014 at 00:39
    • Reply

    Salve
    il primo errore ed l’unico per adesso se non ce ne saranno in futuro è:
    myservo.attach(9);

    1. Ciao Fabio,
      di che errore si tratta?
      Non ci sono errori nella linea che hai scritto, almeno a vederla come l’hai scritto.

    • Fabio on 10 agosto 2014 at 01:29
    • Reply

    salve
    l’ ho scritta giusta ma credo che manchino dei codici, quelli per definire il servo

    1. Ottima Fabio, puoi aggiungerli copiandoli da un qualsiasi articolo sui servo.

    • francesco on 13 dicembre 2014 at 07:27
    • Reply

    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

    1. 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.

        • francesco on 15 dicembre 2014 at 21:24
        • Reply

        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

        1. Bravo Francesco,
          se vuoi fare tu la modifica sono sicuro che Gabriele approverà il contributo e l’aiuto 🙂

            • francesco on 17 dicembre 2014 at 22:58

            ok Mauro, ci provo, appena ho risolto eventualmente ti avviso dato che qui non posso postare sketch. A presto

          1. Bravissimo Francesco,
            mandami lo sketch corretto via email ed io lo pubblico come tua miglioria 🙂

    • francesco on 20 dicembre 2014 at 00:04
    • Reply

    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!

    1. 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.

    • Luigiuzzu on 5 febbraio 2016 at 10:28
    • Reply

    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.

    1. 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.

    • angelo on 8 marzo 2017 at 18:29
    • Reply

    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

    1. Ciao Angelo,
      lascio il tuo commento on-line perché Gabriele ti possa aiutare.

    • soft on 9 luglio 2017 at 11:52
    • Reply

    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?

    1. Ciao Andrea,
      lascio il tuo commento on-line per Gabriele, autore del progetto, come hai letto.

    • lorenzo on 23 aprile 2018 at 10:59
    • Reply

    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

    1. Ciao Lorenzo,
      lascio il tuo commento on-line perché l’autore possa risponderti.

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.