NO
VE
MB
RE
201
1
www.farelettronica.comwww.farelettronica.com
GREENun circuito
per scoprire i consumi
GREENun circuito
per scoprire i consumi
CONTATORI Moltiplicatori di tensione python robot wirelessinseritore telefonico INTERFACCIA MICROCONTROLLORI ArduinoANALIZZATORE CONSUMI PIC MikroBASIC SystemVerilog GPRS
317 NOVEMBRE Mensile Anno XXVII € 6,00317 NOVEMBRE Mensile Anno XXVII € 6,00
> Robot Wireless> Comunicazione GPRS> Robot Wireless> Comunicazione GPRS
ARDUINOARDUINO
ESPERIMENTI CON I CONTATORI DIGITALI
COME COLLEGARSI AD UN MICROCONTROLLORE
UTILIZZARE GLI SHIFT REGISTER
ESPERIMENTI CON I CONTATORI DIGITALI
COME COLLEGARSI AD UN MICROCONTROLLORE
UTILIZZARE GLI SHIFT REGISTER
Per impararePer imparare
Pro
ge
tti c
on
Ard
uin
o: r
ob
ot
wir
ele
ss e
co
mu
nic
azi
on
e G
PR
SP
rog
ett
i co
n A
rdu
ino
: ro
bo
t w
ire
less
e c
om
un
ica
zio
ne
GP
RS
317
COP FE 317:fe 8-11-2011 14:59 Pagina 1
4
317 novembre 2011
22 UTILIZZARE ARDUINO CON GSM/GPRS Arduino rappresenta un classicoesempio di architettura hardwareopen source, tanto da essere uti-lizzato in qualsiasi contesto ope-rativo: dalle applicazioni con Blue-tooth al Wi-Fi fino ad arrivare alGSM/GPRS.di Francesco Pentella
&
28 INSERITORE MAGNETICO Un inseritore per antifurto realizzatocompletamente con materiale direcupero che non utilizza un Pic!Per essere precisi non utilizza al-cuna elettronica…di Daniele Cappa
34 ANALIZZATORE DI RETE ENEL Se non avete mai pensato di con-trollare il consumo di energia elet-trica del frigo nuovo per capire sele caratteristiche di risparmio ener-getico tanto decantate dal vendi-tore siano reali, oppure per cono-scere il consumo della lavatriceper un determinato lavaggio o an-cora quanto costa in termini dienergia elettrica scaldare una piz-za surgelata, ora potete farlo.di Silvano Breggion
Rispondie... VINCI! pag.DIVERTITI E METTI
ALLA PROVA
LE TUE CONOSCENZE CON
ELETTRO QUIZ
E VINCI OGNI MESE
ESCLUSIVI PREMI!
4545
som
mar
io
46 INTERFACCIA D’USCITAPER DATI A 8 BIT La grande richiesta di modernità edi efficienza ha praticamente ri-dotto all’osso il prezzo dei pro-cessori e dei componenti affini: lamoderna tecnologia non ne puòpiù fare a meno ed essi sono ormaipresenti in ogni dispositivo; ve-diamo insieme qualche idea perutilizzarli al meglio.di Giorgio Ober
di
54 SHIFT REGISTER (parte seconda)
La presenza dei Flip-Flops D-Typenell’ambito dei Registri a Scorri-mento ribadisce la loro straordi-naria utilità; dopo l’analisi detta-gliata della modalità SISO vediamoora quella SIPO, una variante del-la precedente che offre nuovi in-teressanti orizzonti applicativi.di Giorgio Ober
Rispondi
GLI ARTICOLI CONTRASSEGNATI COL SIMBOLO
sono già disponibili in formato PDF*
all’indirizzo www.farelettronica.com/club*Puoi iscriverti al CLUB di Fare Elettronica versando una piccola
quota annuale.
04-05 sommario:fe 9-11-2011 10:06 Pagina 4
5
elenco inserzionisti
94 CORSO SYSTEMVERILOG(parte sesta)
Introduzione alla libreria OVMConcetti di base, interfacce, trans-azioni e driver.di Mariano Severi
102 ARDUINOBOT(parte prima)
UN ROBOT ESPLORATORE
CON ARDUINOIl robot esploratore, cui ho attri-buito il nome ArduinoBOT, è ba-sato sulla scheda di controllo Ar-duino (2009 o UNO). Per muover-si, utilizza due ruote azionate damotoriduttori comandati da unascheda motor shield che utilizza unintegrato SN754410.di Adriano Gandolfo
rubriche7 Editoriale
10 Idee di progetto
14 News
18 Eventi
44 Info
45 Elettroquiz
108 IESHOP
Digi-Key Corporation Pag. 1,3701 Brooks Ave South - 56701 Thief River Falls, MNTel. 800 338 4105 x1454 – www.digikey.it
Elettroshop Pag. 63, 93Via Giotto, 7 - 20032 Cormano (MI)Tel. 02 66504755 - www.elettroshop.com
Elenos Pag. 92Via Amendola, 9 - 44028 Poggio Renatico (FE)Tel. 0532 829965 – www.elenos.com
Evr Pag. 105Viale Kennedy, 96 - 20027 Rescaldina (MI)Tel. 0331 1815404 - www.evr-electronics.com
Exposition Service Pag. 18V.le Dante Alighieri 54 - 48022 Lugo (RA)Tel. 0545 27548 - www.mondoelettronica.net
Farnell Italia Pag. 9Corso Europa 20 - 22 - 20020 Lainate (MI)Tel. 02 93995(1) - www.farnell.com
Futura Elettronica Pag. 6Via Adige 11 - 21013 Gallarate (VA)Tel. 0331 799775 - www.futuranet.it
GRIX Pag. 87www.grix.it
Italfiere Pag. 19Via Caduti di via Fani 65 - 47023 Cesena (FC)Tel. 0547 415674 - www.italfiere.net
LeCroy Pag. 13via E. Mattei Valecenter 1/c/102a - 30020 Marcon (VE)Tel. 041 5997011 - www.lecroy.com
Micromed Pag. 43Via Valpadana 126B/2 - 00141 Roma (RM)Tel. 06/82000066 - www.micromed.it
MikroElektronika Pag. 39Visegradska, 1A - 11000 Belgrade Tel. +381 11 3628830 - www.mikroe.com
Millennium Dataware Pag. 14Corso Repubblica 48 - 15057 Tortona (AL)Tel. 0131 860254 - www.mdsrl.it
PCB-Pool Pag. 16Bay 98-99 - Shannon Free Zone Shannon - County ClareTel. 02 64672645 - www.pcb-pool.com
Pordenone Fiere Pag. 17V.le Treviso 1 - 33170 Pordenone (PN)Tel. 0434 232111 - www.fierapordenone.it
R.C.C. Pag. 15Via G. Di Vittorio 19 - 20097 San Donato Milanese (MI)Tel. 02 51876194 - www.rccitaly.com
RS Components Pag. IVcopVia M. V. De Vizzi 93/95 - 20092 Cinisello Balsamo (MI)Tel. 02 66058257 – rswww.it
Tecnoimprese Pag. 99Via Console Flaminio, 19 - 20134 (MI)Tel. 02 210.111.1 - www.fortronic.it
Teltools Pag. 107Via Della Martinella 9 - 20152 Milano (MI)www.teltools.it
&
68 ESPERIMENTI CON I CONTATORII contatori sono dispositivi digitaliin grado di effettuare il conteggiodi impulsi applicati in ingresso. Aseconda dei modelli, possono esseresincroni o asincroni, contare in avan-ti o all’indietro, essere dotati di in-gressi di reset e di enable, esserepresettabili o meno e utilizzabili inmodalità binaria e/o BCD. Sempliciesperimenti pratici su bread-board esimulazioni circuitali al calcolatorepossono essere di aiuto nell’acqui-sizione pratica di questi concetti.di Antonio Giannico
82 GESTIAMO LE STRINGHECON MIKROBASICDa questo numero di “Fare Elettro-nica” inizia un corso avanzato sullaprogrammazione dei microcontrol-lori PIC, a grande richiesta dei lettori.Esso può considerarsi a tutti gli ef-fetti il naturale prosieguo del pre-cedente che aveva riscosso, a suotempo, un successo strepitoso.di Giovanni Di Maria
90 CORSO DI PHYTON (parte quinta)
INSERIMENTO DA TASTIERAI programmi che abbiamo scrittofinora sono piuttosto banali, nelsenso che non accettano inseri-menti di dati da parte dell’operato-re, limitandosi a eseguire semprele stesse operazioni. Python fornisceun insieme di funzioni predefiniteche permettono di inserire dati datastiera. di Massimiliano Miocchi
LUPUS IN FABULAArduino, 20, 102 - Euro Technologies, 16Ikalogic, 14 - Image S, 14 Linear Technology, 16 Maxim Integrated Products, 15 Microchip, 34, 82 - Mikroelektronika, 82Renesas Electronics, 15 - Telit, 20
ABBIAMO BISOGNO DEL TUO AIUTO!
FACCI CONOSCERE
LE TUE PREFERENZE VOTANDO
IL TUO ARTICOLO PREFERITO SUL SITO
WWW.FARELETTRONICA.COM
04-05 sommario:fe 9-11-2011 10:06 Pagina 5
102 ArduinoBOT (parte prima)UN ROBOT ESPLORATORE CON ARDUINOl robot esploratore, cui ho attribuito
il nome ArduinoBOT, è basato sulla
scheda di controllo Arduino (2009 o
UNO). Per muoversi, utilizza due
ruote azionate da motoriduttori
comandati da una scheda motor
shield che utilizza un integrato
SN754410. Per il comando del robot
è previsto l’utilizzo di una coppia di
schede Xbee e di un controller del
tipo utilizzato per la console giochi
Playstation 2. Il robot ha una
telecamera wireless mossa da un
dispositivo pan & tilt ed è
alimentata tramite un convertitore
DC/DC. In questo primo articolo
vedremo la presentazione del robot,
mentre nelle prossime puntate
analizzeremo le varie schede che lo
compongono, le fasi di costruzione
e i programmi di gestione.di Adriano Gandolfo
100-101 cop robot:fe 9-11-2011 10:00 Pagina 101
102
ArduinoBOT è un robot esploratore
basato su una scheda di control lo
Arduino. È dotato di due ruote,
una telecamera wireless
ed è comandato da un control ler
del t ipo uti l izzato per la console
giochi Playstation 2. In questo primo
articolo vedremo la presentazione
del robot, mentre nel le prossime
puntate anal izzeremo le varie schede
che lo compongono, le fasi
di costruzione e i programmi
di gestione
robot zone➲robot zone di ADRIANO GANDOLFO
con ArduinoUN ROBOTArduinoBOT (parte prima)
In vendita si possono trovare molti com-ponenti per la realizzazione di piccolirobot. La loro scelta può essere diffi-coltosa e, una volta assemblata la no-stra opera, occorre programmare il pro-cessore per comandarla e si può rimaneredelusi del risultato. In questa serie di ar-ticoli illustreremo come assemblare unrobot (figura 1) che utilizza come sche-da di controllo Arduino, un frameworkopen source basato sul processore AT-mega 328. La scheda è stata sviluppatada un team formato da Massimo Banzi,David Cuartielles, Tom Igoe, GianlucaMartino e David Mellis. Il progetto, sviluppato in Italia, a Ivreanel 2005, è diventato una base di svi-luppo utilizzata in tutto il mondo. Allascheda sono connesse altre schede diespansione denominate shield, che han-no una piedinatura compatibile con Ar-
esploratore
Figura 1: ArduinoBOT.
102-107 robot-arduinoBot:fe 9-11-2011 10:08 Pagina 102
duino la quale permette di “impilarle” unasopra l’altra come una torta multistrato.Una scheda permette, tramite un modu-lo wireless, il dialogo con la stazione dicontrollo (figura 2); un’altra scheda con-sente il pilotaggio di due motoriduttoriconnessi alle ruote che permettono almotore di muoversi; completa il robot undispositivo pan & tilt che consente il mo-vimento di una piccola telecamera wire-less. L’alimentazione del robot è garanti-ta da una batteria da 6 V ricaricabile al-loggiata nella base della macchina, latensione è monitorata tramite un power in-
103
dicator che tramite l’accensione di unabarra di LED ne mostra la carica. Per l’a-limentazione della telecamera (8-9 V) èprevisto l’utilizzo di un piccolo moduloDC-DC in grado di elevare la tensione di6 V a quella necessaria.Il segnale trasmesso dalla telecamera èraccolto da un ricevitore che fornisce inuscita un segnale analogico; le immaginipossono essere viste direttamente sulloschermo TV oppure tramite un’interfacciaanalogica/digitale sullo schermo del pro-prio PC dove possono essere eventual-mente registrate.
Figura 2: modulo di controllo.
Figura 3: telaio base.
COMPOSIZIONE DEL ROBOTPassiamo ora ad analizzare le varie partiche formano il robot, per il momento inmodo sommario, rimandando alle altrepuntate un approfondimento più com-pleto.
Telaio di baseIl telaio del robot è realizzato utilizzandouna semplice scatola di derivazione perimpianti elettrici (figura 3). In questo ca-so il modello 685.005 di SCAME. Le di-mensioni sono 120 x 80 x 50 cm, di coloregrigio. Essendo realizzata in materiale
Figura 4: motoriduttore.
Figura 5: una ruota del robot.
Figura 6: ball caster.
102-107 robot-arduinoBot:fe 9-11-2011 10:08 Pagina 103
104
robot zone➲robot zone
con una ca-pacità minimadi 1100 mAh.Per la ricarica del-la batteria sarà ne-cessario avere un appositocaricabatteria.
Monitor per la carica del la batteriaPer il monitoraggio della carica del-la batteria è presente un piccolo circuito(figura 8) che, tramite l’accensione diLED, indica quando è il momento di ri-caricarla.
Scheda di control loLa scheda di controllo è una ArduinoDuemilanove oppure l’ultima nata, Ar-duino UNO (figura 9), entrambe basatesul processore ATmega 328. La schedapresenta 14 piedini input/output digitali (dicui 6 utilizzati come uscite PWM), 6 inputanalogici, un oscillatore di cristallo a 16MHz, una connessione USB, un ingressoper l’alimentazione.
Scheda control lo servo/comunicazionePer la connessione dei servo del sistemapan & tilt della telecamera si utilizza unascheda I/O Expansion Shield V5 (figura10) prodotta da DFRobot. Su di essa è
plastico è facilmente lavorabile. Su di essaè possibile realizzare le varie aperture per ilfissaggio del servo del dispositivo di pan &tilt., l’interruttore di accensione ecc.
MotoriduttoriIl robot è mosso da due motoriduttori(figura 4) tipo Gear Motor 2, prodotti daSolarbotics, e ha un rapporto di riduzio-ne di 224:1. Essi sono basati sul disegnooriginale di Mark Tilden per l‘uso nel BIO-Bugs & Robosapien, hanno alberi di usci-ta doppia e un motore DC a basso con-sumo di corrente.
RuoteLe ruote del robot hanno un diametro di65 mm (figura 5), sono prodotte dalla So-larbotics e realizzate in ABS stampato e siadattano perfettamente all’albero di usci-ta del motoriduttore Gear Motor 2. Sonocompletate da speciali elastici per au-mentare la trazione e ridurre l’usura.
Supporto posterioreIl supporto posteriore (figura 6) è rap-presentato da una ball caster codice70144 prodotta dalla Tamiya. Nella con-fezione sono presenti i particolari perrealizzare il supporto con un’altezza va-riabile, compresa tra gli 11 e i 37 mm. Nelnostro robot dovremmo ancora aumentarequest’altezza utilizzando alcuni distan-ziali metallici.
Batteria di al imentazioneLa batteria (figura 7) che viene alloggia-ta nella base del robot è nel tipo Ni-MH di-mensione 2/3 A, tensione nominale 6 V,
anche instal-lato un modulo
Xbee che, dialogan-do con l’analogo posto
sulla trasmittente, riceve icomandi che vengono inviati ai
servo e al modulo motore per l’a-zionamento dei motoriduttori.
Modulo XbeeSia sul robot, sia sull’unità trasmittente sitrovano due moduli Xbee (figura 11) pro-dotti da Digi International Inc. Questisfruttano il protocollo ZigBee e operanonella banda ISM alla frequenza di 2.4GHz, implementano una comunicazioneseriale come quella presente sulla portaRS232 e permettono di compiere colle-gamenti wireless.
Scheda motoreLa scheda motore (figura 12) è basatasullo stampato Motor Control v3.0. Lascheda deve essere montata seguendo lesemplici istruzioni che si trovano anche inRete. Su di essa è montato un integratoSN754410 compatibile pin to pin conl’integrato L293D, che è un quadruploponte H per il pilotaggio di due motori CC.I segnali di comando vengono ricevuti
Figura 10: DFRobot I/OExpansion Shield V5.
Figura 9: schede Arduino Duemilanove e UNO.
Figura 8: monitor batteria.
Figura 7: batteria di alimentazione.
102-107 robot-arduinoBot:fe 9-11-2011 10:08 Pagina 104
105
tramite il modulo Xbee presente sullascheda I/O Expansion Shield.
Disposit ivo pan & t i l tIl dispositivo pan & tilt (figura 13) per-mette la movimentazione della teleca-mera nelle quattro direzioni: destra-sinistra(pan) e alto-basso (tilt). Il modello montatosul robot è stato autocostruito, ma si tro-vano in commercio vari modelli come peresempio il tipo BPT-KT prodotto dallaLynxmotion, nel cui kit sono già compre-si i due servomotori.
Convertitore DC/DCPer elevare la tensione della batteria si uti-lizza un mini Convertitore DC/DC pro-dotto da Pololu, codice 791 (figura 14).Dalle dimensioni particolarmente ridot-te, è in grado di convertire una tensionecontinua compresa tra 1,5 e 16 volt in unatensione di uscita compresa tra 2,5 e9,5 volt (regolabile tramite trimmer).
Telecamera wirelessPer riprendere quello che vede il nostro ro-bot si utilizzerà una piccola telecamera acolori di tipo CMOS (figura 15). Questa èdotata di un trasmettitore sulla frequenzadi 1,2 MHz. Di solito viene venduta con ilrelativo ricevitore che permette di vederequanto ripreso. L’alimentazione è fornitadalla batteria del robot elevata tramite inconvertitore DC/DC. Il movimento della te-lecamera sarà garantito dal dispositivopan & tilt che sarà azionato tramite il con-troller connesso alla stazione di controllo.La presenza di LED infrarossi permette laripresa anche in presenza di scarsa illu-minazione.
STAZIONE DI CONTROLLOLa stazione di controllo del robot utilizzaun’altra scheda Arduino su cui è monta-to un piccolo shield (figure 2 e 16) chepermette l’interfacciamento di un modu- CO
DICE
MIP
279
7072
Figura 13: dispositivo pan & tilt.
Figura 14: convertitore DC/DC.
Figura 12: Shield Motor Control.
Figura 11: modulo Xbee.
102-107 robot-arduinoBot:fe 9-11-2011 10:08 Pagina 105
robot zone➲robot zonelo Xbee (figura 11) e di un con-
troller per console Playstation 2. Tramitequest’ultimo è possibile comandare ilmovimento sia del robot sia della tele-camera. In tal modo non è necessarioessere direttamente connessi a un PCper il controllo del robot. Formano questa
stazione di controllo iseguenti elementi:
Scheda madreLa scheda madre della
stazione di controllo è ana-loga a quella del robot e potrà
essere un Arduino Duemilanove op-pure Arduino UNO (figura 9).
Shield d’ interfacciaPer interfacciare il modulo Xbee e il con-troller con la scheda Arduino è previsto l’u-tilizzo di un piccolo shield da autoco-struirsi (figura 17). Su di esso, oltre ai va-ri connettori d’interfaccia, sono presentiun pulsante per il reset e alcuni compo-nenti passivi.
Scheda di interfaccia per modulo XBeeLa scheda consente l’istallazione del mo-dulo Xbee (figura 18) e su di essa è pre-sente un regolatore di tensione, poiché l’a-limentazione del modulo è di 3,3 V. Sonoinoltre presenti due LED che consentonoil costante monitoraggio dell’attività del-la scheda stessa. Il modello scelto è XBee- Simple Board prodotta da Droids.
Control ler per console per Playstat ion 2Per impartire i comandi al nostro robot siutilizza un controller utilizzato nella consoleper videogiochi Playstation 2 di Sony (fi-gura 19). Esso dispone di sedici pul-santi di cui quattro formano un pad dire-zionale, quattro tasti (identificati dai sim-boli triangolo, cerchio, croce e quadrato)e due joystick analogici. Il controller èconnesso alla scheda Arduino che nedecodifica i segnali.
Figura 17: shieldd’interfaccia con Arduino.
Figura 16: stazione di controllo.
Figura 15: telecamerawireless.
106
102-107 robot-arduinoBot:fe 9-11-2011 10:09 Pagina 106
107
CODI
CE M
IP 2
8030
41
L’AMBIENTE DI SVILUPPOPer la redazione dei programmi necessarial funzionamento del robot si utilizzeràl‘ambiente di sviluppo Arduino che con-tiene un editor di testo per scrivere il co-dice, una zona messaggio, una console ditesto, una barra degli strumenti con pul-santi per le funzioni comuni e una serie dimenu. Questo permette di collegarsi al-l’hardware Arduino per caricare i pro-grammi e comunicare con esso. I pro-grammi scritti per Arduino si chiamanosketch. Questi sketch sono scritti nell’e-ditor di testo, cosa che permette ope-razioni di taglia/incolla e di ricerca/sosti-tuzione di testo. L’area messaggi fornisceun feedback durante il salvataggio, l’e-sportazione e anche la segnalazione de-gli errori. I pulsanti della barra degli stru-menti consentono di verificare e aggior-nare programmi, creare, aprire, salvare eutilizzare il serial monitor.
CONCLUSIONIIn questa prima parte abbiamo illustratorapidamente i principali componenti cheformano il nostro robot. Nelle prossimepuntate scenderemo più in dettaglio ana-lizzando le varie schede, i componenti einizieremo con le fasi di montaggio. ❏
Potete vedere alcuni filmati preliminari del
robot pubblicati su YouTube:
http://youtu.be/unt1Hct5rSA
http://youtu.be/wO20bwAAkk8CODICE MIP 2805079
PER approfondire...
- Sito del produttore del la scheda Arduino, dove trovare informazioni sul la scheda e scaricare l ’ambiente
di svi luppo: http://www.arduino.cc/
- Informazioni sul la scheda control lo motori: http://arduino.cc/playground/MotorControlShieldV3/0
- Sito del produttore del la I/O Expansion Shield: http://www.dfrobot.com/
- Sito del produttore dei motoriduttori: http://www.solarbotics.com/
- Sito di Lynxmotion per i l disposit ivo pan & t i l t : http://www.lynxmotion.com
-Sito del produttore del modulo DC/DC: http://www.pololu.com/
-Sito del produttore dei moduli Xbee: http://www.digi .com/
-Sito per la scheda XBee - Simple Board: http://www.droids. i t
Cavo interfacciaIl controller ha uno speciale connettore peril collegamento alla console di gioco. Perevitare di dover tagliare il cavo è possibileutilizzare un apposito adattatore (figura20) reperibile sul sito Lynxmotion con il co-dice PS2C-01.
RICEZIONE DEL SEGNALE VIDEOPer la ricezione del segnale video potre-mo utilizzare un normale televisore il cui in-gresso analogico andrà connesso all’u-scita del ricevitore presente nella confe-zione della telecamera. Altra possibilità èinterfacciare il ricevitore con un PC o uncomputer portatile (figura 21) tramiteun apposito convertitore che convertirà ilsegnale analogico in digitale. In questomodo le immagini potranno eventual-mente essere registrate.
Figura 21:collegamento traricevitore AV e PC.
Figura 20: adattatore per ilcontroller Playstation 2.
Figura 19: controller perconsole per Playstation 2.
Figura 18: XBee - Simple Board.
102-107 robot-arduinoBot:fe 9-11-2011 10:09 Pagina 107