54Total shares Facebook LinkedIn TW Email WApp Telegram AbbonatiLavorare con servomotori ed una scheda Arduino UNO è una cosa piuttosto semplice, basta collegare l’alimentazione e il cavo del segnale del servo ad una delle tante porte digitali presenti. La gestione è facilitata dall’opportuna libreria già presente tra quelle standard. Ma cosa succede se come nel caso della scheda Arduino Esplora le porte digitali disponibili sono solamente due e i servo da comandare sono molti di più? La soluzione più semplice è quella presentata in questo articolo, che mostrerà come utilizzare dei semplici moduli appositamente creati per comandare i servomotori: possono essere gestiti tramite una linea seriale per la ricezione dei comandi e che permettono di comandare un minimo di 6 […]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3687 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Progetto interessante ed articolo esaustivo, completo di software e video dimostrativo. Complimenti ad Adriano!
Da leggere anche tutti gli articoli della serie “Arduino Esplora”
http://it.emcelettronica.com/tag/arduino-esplora
Sono quasi tutti articoli Premium/Platinum quindi riservati agli abbonati. Per avere un assaggio della qualità e completezza degli articoli di Adrirobot invito i “non ancora abbonati” a leggere questo post:
http://it.emcelettronica.com/programmiamo-scheda-arduino-esplora
Complimenti gran bell’articolo, come sempre d’altronde.
In passato per gestire un ARM ho utilizzato l’integrato PCA9685 ma non è cosi prescisso e ricco di funzioni come il Micro Maestro; mi sa che rivedrò il mio progetto.
Bell’articolo ma già un poò avanti rispetto alle mie conoscenze e capacità di elettronica digitale con Arduino. Approfitto per chiedere all’autore e al redattore Emanuele qualche esaustivo tutorial di Arduino da scegliere tra questi che vi elenco,.
Corso Arduino di Tiziano Monfroglio.
Piccolo manuale di Arduino Tettamanzi
Arduino e e e tecniche di programmazione dei microcontrollori Atmel . Michele
Menniti
Aeduino, la guida ufficiale . Massimo
Benzi
Insomma, quale testo raccomandereste per chi inizia, tra questi e altri di cui avete conoscenza?
Ciao Beppe, scusa se ti rispondo io.
Sono tutte guide ben fatte ma personalmente penso che la pratica sia la miglior insegnante.
Proprio su questo portale c’è una sezione dedicata dove puoi trovare anche progetti semplici da realizzare. Inizia a sperimentare poi se hai bisogno ti aiuto volentieri 🙂
Io ti consiglio il manuale di Arduino di Maik Schmidt, ma come ti ha detto Ernesto Sorrentino, la miglior cosa da fare è sperimentare con la board. Anche sul web trovi degli ottimi progetti da provare.
Ciao Beppe
Condivido appieno quanto hanno detto Ernesto e Giovanni. Anch’io ho preso all’inizio alcune guide, ma molte riportavano solo esempi semplici, mentre per la ricerca di cose più complesse, la fonte più grande è e resta la rete.
Specialmente per quanto riguarda la scheda Arduino, in rete si trova proprio di tutto.
Certamente occorre sapere un po’ d’inglese, ma ci si arrangia.
Proprio per questo ultimo articolo cercando in rete mi ero imbattuto nella libreria che ho poi utilizzato, ma provandola ho visto che aveva qualche problema, così ho contattato via e-mail l’autore Graham Sortino che è stato ben contento di rivederla tanto da citarmi poi nel Change Log.
Perciò non aver paura di cercare e nel caso avessi dei problemi, puoi certamente chiedere, anche tramite il forum e vedrai che i problemi si risolvono.
Bellissimo Articolo! Mi e` piaciuto molto anche perche` mi appassiona l’argomento servo motori e sto cercando di farmene una cultura.
Permettimi di fare un appunto purtroppo il forum non c’e` piu`, speriamo ci si dedichi una sezione nel quale poter interagire in gruppo ed essere costruttivi.
Sono d’accordo sulla pratica eleva l’esperienza ad un livello superiore e sbagliando si impara, ma e` anche vero che la pratica unita ad un buon testo si fa` apprezzare ed entusiasma chi poi va` e capisce i principi che sta appliccando. (Senza rischiare poi di sbagliare troppo e bruciare qualcosa :D)
Nel frattempo devo dirti che sto apprezzando il tuo lavoro.
Vorrei leggere piu` articoli di elettronica per capirci di piu` dalle basi all’evoluzione dei concetti. Mi piacerebbe un qualcosa del genere.
Lo so` che e` un argomento molto vasto, ma merita un minimo di trattamento. Magari una collana di articoli rivolti a chi e` interessato ad addentrarsi nel mondo dell’elettronica a piccoli passi e per quelli de coccio come Me! 🙂
Anche perche` ci sono una miriade di informazioni in giro che poi ci si sente spaesati, invece avere un punto di riferimento ben saldo sarebbe la lampadina che si accende.
Ps.: Non so` se sono i tipo di articoli che tratti tu, perche` mi sono abbonato da poco ed il piacere di leggerti e` recente, ma magari la proposta potrebbe solleticare l’attenzione di qualche collega 🙂
Gli articoli che scrivo sono di solito inerenti la robotica, ho scritto anche una serie di articoli sulla scheda Arduino Esplora. Puoi vedere l’elenco a questo link http://it.emcelettronica.com/author/adrirobot
Ciao Bebbe
Hai provato a vedere gli eBook presentati nell’articolo
http://it.emcelettronica.com/5-ebook-pdf-gratuiti-su-arduino
Forse risolvi senza spendere nulla!
Ciao adrirobot,
una domanda visto che sei esperto del settore, hai mai utilizzato Arduino Yun?
Hai realizzato progetti con questa board?
Sono tentato ad acquistarla ma non trovo molta documentazione.
Ciao!
Sono un utente nuovo, da quando ho scoperto Arduino, ho rispolverato le mie conoscenze di elettronica analogica ed ho intrapreso quella che ho chiamato un’avventura con Arduino, nel senso che entravo in un modo poco conosciuto.
Ma sono bastati i primi esempi ed i primi esperimenti ed è stato sempre più un crescendo d’interesse.
Deve dire che molto devo a mio figlio Adriano che da ingegnere informatico mi ha aiutato nello sviluppo e nella correzione dei miei sketch.
Inseme abbiamo progettato e costruito una stazione meteo basata su Arduino. Come evoluzione abbiamo adottato ArduinoYun, per poter pubblicare i dati on line, inoltre ho ampliato la Wi-Fi in modo che arrivasse fino alla capannina da dove Yun si può collegare alla rete.
Ho già pubblicato sul mio blog in post separati l’uso dei sensori utilizzati.
Spero presto di poter pubblicare la parte relativa ad Yun che Adriano deve però verificare prima della pubblicazione.
Ti farò sapere appena pubblico il relativo post.
Ciao!
Sergio
Ciao Sergio, un progetto simile l’ho realizzato con un Raspberry Pi, ma sono molto curioso di vedere il vostro con lo Yun. Fammi sapere quando lo pubblicherete, grazie 🙂
Ciao Sergio,
anch’io ho realizzato una stazione meteo con Arduino uno.
La stazione è in rete e funzionante e nel sito che ho creato si trovano vari spunti per iniziare. Devo fare una relazione completa, ma per il momento il tempo non me lo permette.
Tempo fa ho visto anche qui un articolo che ne parlava, però io l’avevo già realizzata. Essendo studente però, vengono prima altre attività per qui il mio progetto è andato avanti a saltoni fino a completarlo.
Se volete dateci un’occhiata http://www.officinedivalle.org
Attendo di vedere come uscirà con Arduino Yung
Manuel
Si ho preso la scheda Arduino Yun, che fa parte della mia collezione di schede e shield
http://www.adrirobot.it/menu_new/index/index_arduino.htm
Ma non ho ancora realizzato dei veri e propri progetti, per il momento ho solo assemblato uno shield di test
http://www.adrirobot.it/arduino/shield_espansione_ft1089k/Arduino_shield_ft1098k.htm
Convengo con te con il fatto che in rete si trova poca documentazione.
Sarebbe bello costituire una crew e iniziare un progetto con lo Yun.
Poi realizzare un articolo, o più, dedicato a questa splendida board.
Ciao Beppe53,
Puoi iniziare anche con questo progetto, è ben commentato:
http://it.emcelettronica.com/gfarduino-generatore-di-funzioni-arbitrarie-con-arduino
in questo ti posso aiutare in ogni passaggio 🙂
bello e divertente, a dimostrazione che la potenza di una board come Arduino è al di là da essere giunta alla plafonatura….anzi sfida le persone all’utilizzo di nuove applicazioni. Bravo un articolo esaustivo ma nello stesso tempo fruibile nella sua lettura.
Bell’articolo, stuzzica la voglia di “pastrugnare” con i servi.
PS: nella descrizione del comando 0 Pololu mi sa che è scappato qualche byte al posto di bit.
Adri non voglio cercare il pelo nell’uovo è solo per chiarire.
Grazie a tutti per le segnalazoni e a Sorrentino per il progetto da lui indicato, molto interessante. Confesso che devo inziare comprando la scheda Arduino starter kit. Va bene quella attraverso il sito Arduino? Grazie ancora.
Ci sono molti store dove comprare Arduino, su CONRAD è in offerta
http://www.conrad.it/ce/it/product/191789/Arduino-Scheda-UNO-65139-ATmega328?queryFromSuggest=true
Alquanto ricco come articolo.
Ho acquistato anch’io un servo, ma per ora non sono ancora riuscito a metterlo in funzione. Dal video però vedo che si muove velocemente. Ci vuole un tasto per ridurre per esempio la velocità a metà in modo da avere più precisione.
Con dei servo più grossi andrebbe bene per posizionare nella direzione opportuna una webcam o una parabola satellitare o un’antenna direzionale per radioamatori.
Manuel
Considera che nella libreria di gestione esiste un comando con cui è possibile gestire una delle possibilità della scheda Micro Mestro che permette appunto di regolare la velocità del servo.
La sintassi del comando è
servoCtrl.setServoSpeed (servoSpeed, channel, 12)
Ottima la tua idea di gestire una webcam, per parabole o antenne direzionali il problema potrebbe essere quello di realizzare un dispositivo pan & tilt in grado di reggere il peso e trovare i servo adatti al carico.
C’è questo progetto che mi piace molto e che prima o poi proverò a realizzare:
http://www.eurowebcamsite.com/en/items-archive/item/134-guida-usare-canon-powershot-a95-come-webcam-motorizzata.html
Andrà a completare la mia stazione meteorologica e quando sono lontano da casa, potrò sempre guardare il bel panorama della vallata in mezzo alle montagne.
Il motore mi sembra adeguato e robusto. Non ho ancora approfondito però come è costruito e come lo si può pilotare.
Ho dato un’occhiata al link che hai indicato. Essendo un kit commerciale è molto ben realizzato..
Dovendo garantire il funzionamento in esterno hanno curato molto anche la tenuta all’acqua e alla polvere garantendo un IP 66. Dalle indicazioni sul brandeggio parlano di un motore 12 volt azionato da un controller USB.
Per cui se vuoi realizzare questo progetto sarà una bella impresa.
Però l’idea di avere una webcam personale non mi fermerà di fronte alle difficoltà.
Per ora sto costruendo (sempre nel tempo libero) il monitoraggio dei pannelli fotovoltaici e dei consumi di casa sempre con Arduino.
Magari se qualcuno non mi precede potrei farne un articolo qui.
salve,vorrei chiedere una cosa,visto le innumerevoli schede che esistono e che vengono menzionate in questo affascinante sito,qualcuno di voi ha mai avuto a che fare con una STM32 F3 Discovery???
Ne ho avuta una in regale,ma non ne ho mai sentito parlare…qualcuno di voi saprebbe dirmi qualcosasu questa scheda?
Grazie per la vostra attenzione
Ciao Domenico
Su questo blog si è parlato di una scheda simile, probabilmente la versione precedente
http://it.emcelettronica.com/recensione-evaboard-stm32-discovery-cortex-m3
Comunque proporrei a tutti , dato che questi dovrebbero essere commenti/richieste al mio progetto di cercare di non andare OT con altre richieste,
Hai ragione e ti chiedo scusa,solo che i sono talmente tanti articoli che vien difficile cercare quello che serve…
Comunque grazie per l’informazione è ancora scusa
Nessun problema! Cercando in rete ho trovato questa pagina dove puoi trovare qualche esempio di programmi, spero che ti possano servire http://controlsoft.nmmu.ac.za/STM32F3-Discovery-Board/Example-programs
Salve, scusate se magari non è la sezione giusta; sono un neofita nel campo arduino e non vorrei fare una figuraccia, ma ho riscontrato un problema con la mia Arduino UNO per quanto riguarda gli ingressi analogici.
Collegando un potenziometro ho osservato sullo schermo seriale valori strani, che crescono e decrescono tra 0 e 1023 continuamente, anche se non modifico la posizione dello stesso.
Quindi ho fatto una prova di lettura “a vuoto” dei vari ingressi analogici e accade la stessa cosa.
E’ normale? come posso fare per poter leggere normalmente i valori in ingresso? grazie!
Secondo me non è normale. Meglio se verifichi bene come hai collegato il potenziometro. Di solito il potenziometro ha 3 piedini: uno lo colleghi a massa, uno (il centrale per esempio) all’ingresso analogico, un’altro al V+. Quest’ultimo potrebbe essere meglio connetterlo tramite una resistenza tipo da 2k o più per fare una sorta di divisore di tensione e limitare la corrente erogata dal V+. Dipende anche da che tipo di potenziometro è.
Ho usato una cosa simile per un anemoscopio nella mia stazione meteorologica: http://www.officinedivalle.org/index.php?option=com_content&view=category&layout=blog&id=23&Itemid=123
Comunque verifica prima il funzionamento del potenziometro con un tester.
Concordo con Manuel l’effetto che descrivi è quello di pin analogico scollegato.
Prova a seguire bene lo schema di collegamento del potenziometro.
Se non risolvi guarda questo post di Mauro Alfieri descrive come collegare dei potenziometri e come leggere i valori. http://www.mauroalfieri.it/elettronica/tutorial-arduino-3-led-e-3-potenziometri.html
Facci sapere se risolvi.
Sergio
Vi ringrazio, quindi mi confermate che a pin scollegato devo leggere una sorta di onda sinusoidale?
Vi ringrazio, quindi mi confermate che a pin scollegato devo leggere una sorta di onda sinusoidale? Antonio
A pin scollegato in che senso?
Se il pin è scollegato, allora vuol dire che non leggerai nulla. Al massimo un po’ di rumore elettrico. Nell’ingresso analogico leggerai il valore di tensione tradotto in bit dall’arduino (da 0 a 1023) che è sinusoidale se applichi un segnale sinusoidale, valore fisso se applichi un segnale continuo e così via. Se invece leggi un valore variabile senza niente di collegato, allora potresti avere un po’ si problemi alla scheda. Qualche volta la causa può essere la versione del compilatore. Ho avuto questo problema in passato ed aggiornando il compilatore tutto è andato apposto.
bell’articolo!
piccolo errata corrige:
“Comando 0: Impostazione parametri (1 byte di dati)
Il byte 7 è sempre 0;
Il byte 6 specifica se un servo è attivo oppure no; 1 attiva il servo, 0 (default) lo disattiva;
Il byte 5 stabilisce la direzione di rotazione; 0 (default) avanti, 1 indietro;
I byte 0-4 stabiliscono il range del movimento.”
si tratta di bit e non di Byte.
Ho apprezzato il livello di approfondimento. anche illustrare come è fatto internamente un servo è molto utile.
grazie
plotino
Ti ringrazio della segnalazione!
Io l’ho fatto utilizzando un arduino uno rev 3 ed una adacruit motor shield che permette di pilotare 4 motori dc contemporaneamente e 2 servi motori.
quindi se qualcuno deve fare un progetto con dei servo motori consiglio di utilizzare la adafruit motorshield v2.2
Se usi la scheda Arduino Uno, puoi anche non usare la scheda per servomotori.
I pin digitali possono generare il segnale di pilotaggio per il servo, l’unica accortezza è quella di non prelevare la tensione di alimentazione per i servo dal regolatore della scheda per non sovraccaricarlo. Molto meglio alimentarli con una sorgente autonoma.
Ma per pilotare le uscite digitali di arduino per comandare dei servi si può fare però nel momento in cui vuoi collegare un motore anche piccolino arduino non riesce a dare abbastanza potenza ai servi.
Corretto, per i motori elettrici DC, le uscite digitali di Arduino non forniscono corrente sufficiente.
In questo caso le porte hanno solo funzione di ON/OFF e di solito pilotano la base di un transistor/FET o la bobina di un relè.
http://www.laurtec.it/italiano/Articoli/BN0006/Figura_1_Schema_base_per_il_controllo_di_un_motore_DC_in_modalita_ON-OFF.png
Ah ok ho capito grazie mille per la disponibilotà
Come avete visto nell’articolo è stato utilizzato un dispositivo Pan & Tilt commerciale, segnalo, per chi fosse interessato, che sul mio sito sono presenti le istruzioni per l’auto costruzione di dispositivi di Pan & Tilt partendo da profili recuperabili presso le grandi ferramenta. Disegni ed istruzioni a questo link
http://www.adrirobot.it/menu_new/index/index_pan-tilt.htm
Ciao a tutti, scusatemi ma sono un principiante e mi sto cimentando con il progetto della scheda arduino esplora e micro maestro. ho questo problema:
ho scaricato la libreria PCMtrl ma quando la carico sul arduino mi da questo errore “Arduino_esplora_servo.ino:30:20: fatal error: PMCtrl.h: No such file or directory”.
per cui non riesco acomandare i servo con la scheda arduino.
Credo che mi manchi qualche passaggio.
Potete aiutarmi per cortesia? grazie a tutti in anticipo per la disponibilità.
Stesso mio problema, come l’hai risolto ?
Ciao lozio78, mi scuso per l’estremo ritardo con cui ti rispondo! Mi sa che non avevo letto la segnalazione.
Non so se hai poi risolto il problema, il tipo di errore sembrerebbe di mancanza di qualche file.
Sei sicuro di aver salvato la libreria, nella giusta posizione. Con le ultime versioni di IDE è stata modificata la procedura.
Fammi sapere.
Ciao adrirobot,
sono un newbie per quanto riguarda la programmazione di Arduino,
ho collegato l’interfaccia Micro Maestro 6 servos della pololu a un Arduino Micro via seriale,
pero’ mi sto scontrando con la libreria della scheda : #include ,
in pratica non viene riconosciuta dall’IDE 1.8.1 di Arduino, rimane nera quando inserisco la stringa dentro uno sketch, ho provato ad includere la libreria dentro library, ma niente da fare, mi potresti aiutare ? Grazie
Massimiliano
Ciao Massimo
Come ho detto a lozio78, verifica di aver caricato nel modo corretto la libreria.
Ho provato adesso con la versione IDE 1.6.11 e la compilazione è andata a buon fine.
Prova ad installare questa versione della libreria http://www.adrirobot.it/arduino/Arduino_esplora/programmi/PMCtrl.zip
Fammi sapere se risolvi
Grazie Adrirobot, non avevo caricato la libreria nel modo corretto, adesso la connessione con la scheda Pololu Micro Maestro funziona, ho collegato il collegamento via seriale ai PIN 3 e 11 di Ardunio duemilanove, volevo farti una ulteriore domanda, ma sei io volessi controllare con un wii nunchuck n. 6 servo motori che fanno parte di un braccio robot, a parte il collegamento fisico il quale lo posso intuire, ma il codice come andrebbe gestito ?
Ciao Massimomeridio, sono contento che abbia risolto. Per quanto riguarda comandare 6 servo con un Wii nunchuck , la vedo dura in quanto non credo che sia sufficienti i suoi sensori, abbiamo solo un joystick due tasti e 1 accelerometro.
La mia esperienza risale al 2012. Vedi quest’esempio che potrebbe essere una base.
Bisogna anche vedere se il programma è compatibile con l’ultimo IDE
http://www.adrirobot.it/sensori/nunchuk/arduino_nunchuk.htm
Saluti
Adriano