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.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/controllo-testa-mobile.html

30 commenti

Vai al modulo dei commenti

    • Cesare il 8 Marzo 2014 alle 09:43
    • Rispondi

    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 il 12 Marzo 2014 alle 07:19
    • Rispondi

    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 il 13 Aprile 2014 alle 15:38
    • Rispondi

    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 il 21 Aprile 2014 alle 21:20
        • Rispondi

        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 il 7 Agosto 2014 alle 00:04
    • Rispondi

    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 il 8 Agosto 2014 alle 00:39
    • Rispondi

    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 il 10 Agosto 2014 alle 01:29
    • Rispondi

    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 il 13 Dicembre 2014 alle 07:27
    • Rispondi

    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 il 15 Dicembre 2014 alle 21:24
        • Rispondi

        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 il 17 Dicembre 2014 alle 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 il 20 Dicembre 2014 alle 00:04
    • Rispondi

    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 il 5 Febbraio 2016 alle 10:28
    • Rispondi

    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 il 8 Marzo 2017 alle 18:29
    • Rispondi

    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 il 9 Luglio 2017 alle 11:52
    • Rispondi

    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 il 23 Aprile 2018 alle 10:59
    • Rispondi

    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

Il tuo indirizzo email non sarà pubblicato.

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