con ARDUINO - Futura Elettronica

Dedicare dieci ore del proprio tempo all'apprendimento teorico e alla realizzazione di alcuni semplici progetti con Arduino UNO è un investimento che ...

4 downloads 717 Views 2MB Size
i

d e l a

Euro

ci

e Sp

9,90

Primi passi con ARDUINO Impara a realizzare i tuoi progetti interattivi con la piattaforma Made in Italy più famosa al mondo. Aggiornato a IDE 1.0 e board Arduino UNO Rev.3

a cura di Simone Majocchi

Poste italiane Spa - Spedizione in abbonamento Postale: D.L. 353/2003 (conv. in L. 27/02/2004 n°46) art. 1 - comma 1 - DCB Milano Supplemento al numero 162 di Elettronica In • Dicembre 2011 / Gennaio 2012

Prefazione Dedicare dieci ore del proprio tempo all’apprendimento teorico e alla realizzazione di alcuni semplici progetti con Arduino UNO è un investimento che ti permetterà di scoprire cosa puoi creare con il tuo ingegno e la tua inventiva. Scoprirai come un mondo apparentemente complesso e riservato agli esperti è stato invece semplificato e trasformato in un prodotto facile da usare, anche senza aver mai messo mano a un saldatore, e in grado di dare grandi soddisfazioni. Come tutte le tecnologie nate da un ambiente di ricerca e divulgazione, Arduino UNO può contare sulle energie, sulla passione, sulla creatività e sull’intelligenza di una community internazionale già oggi molto nutrita ed in costante crescita. Entra a far parte di questo rinascimento tecnologico e scegli quando passare da spettatore ad attore, prima imparando con noi i rudimenti, poi attingendo alle vaste librerie di idee e progetti sviluppate dagli altri utenti ed infine contribuendo in prima persona con le tue realizzazioni hardware ed il tuo codice. Troverai gli esempi, i comandi e i collegamenti per la versione più recente della board Arduino UNO (Rev. 3) e l’ambiente di sviluppo software Arduino 1.0 rilasciati il 30 novembre 2011.

Primi passi con ARDUINO di Simone Majocchi

Supplemento al numero 162 di Elettronica In, Dicembre 2011 / Gennaio 2012. Rivista mensile registrata presso il Tribunale di Milano con il n. 245 il 3-05-1995. Direttore Responsabile: Arsenio Spadoni. Prezzo di copertina Euro 9,90. Redazione e Amministrazione: Vispa Edizioni, Via Adige 11, 21013 Gallarate (VA). Telefono 0331-752668 Fax 0331-778112 Iscrizione al Registro Operatori della Comunicazione n. 3754 del 27/11/2001. Distribuzione per l’Italia: SO.DI.P. Angelo Patuzzi S.p.A. Via Bettola 18 - 20092 Cinisello Balsamo (MI). Stampa: ROTO3 Spa - Via Turbigo, 11/b - 20022 Castano Primo (MI)

VISPA Edizioni

4

© 2011 Vispa Edizioni

Primi passi con Arduino

SOMMARIO

Arduino è per tutti Le tue prime 10 ore con Arduino UNO CAPITOLO 1 Perché Arduino UNO fa per te

7

Presentazione del nuovo “fai da te” tecnologico basato sui microcontrollori. In questo capitolo ti porteremo a ripercorrere trent’anni di informatica casalinga per scoprire come la programmazione e le poche decine di migliaia di byte per il software erano attività da veri innovatori. Oggi si torna ad innovare scrivendo programmi compatti su piccoli calcolatori con risorse paragonabili a quelle di trent’anni fa, ma con una marcia in più: quella della community in Rete che condivide ogni sviluppo significativo.

CAPITOLO 2 Il poker tecnologico vincente

13

I tuoi assi sono: un computer, Arduino UNO, la tua creatività, dei dispositivi elettronici. La tecnologia senza creatività resta sterile, ma la fantasia senza i giusti strumenti non trova uno sbocco pratico. Arduino UNO con il suo approccio “alla portata di tutti” completa il quadro. Non dimenticare, però, che Arduino è possibile per una fortunata combinazione di elementi: la presenza di almeno un computer in molte case e in ogni ufficio, l’accesso alla Rete pervasivo, il basso costo dell’hardware e la globalizzazione della comunità degli utenti e degli sviluppatori.

17

CAPITOLO 3 Dalle idee al programma Descrivi quello che vuoi fare, passo a passo, e arrivi al programma. Non serve una laurea e neppure un diploma per entrare attivamente nel mondo dei microcontrollori e del software. Il notevole sforzo per creare un ambiente accessibile a tutti – il vero plus di Arduino – ha rimosso i tecnicismi e le complessità della programmazione. Dedica un po’ del tuo tempo per acquisire i pochi elementi di base indispensabili e un metodo ben impostato sin dall’inizio; sarai in breve tempo in grado di passare dalle idee ai progetti e da questi ai prototipi funzionanti. Con Arduino UNO, le idee restano sulla carta per poco tempo, mentre diventano soluzioni reali in un batter d’occhio.

Primi passi con Arduino

5

Sommario

29

CAPITOLO 4 Pensato per essere collegato a qualcosa La scheda Arduino UNO nasce per essere collegata facilmente a tantissime cose, talmente tante che ad oggi nessuno le ha ancora individuate tutte. La programmazione fine a sé stessa, che nasce e muore su uno schermo di un computer, non offre le soddisfazioni di un oggetto in grado di interagire con il mondo esterno in base a un programma. Per interagire Arduino ha bisogno di sensori e attuatori specializzati ciascuno in qualche specifico ambito. Motori per muoversi, altoparlanti per emettere suoni e luci per segnalare qualcosa, ma anche fotoresistenze per misurare la luce, potenziometri per leggere valori di spostamento e rotazione, emettitori a ultrasuoni per misurare le distanze e molto altro.

45

Come va preparata la cucina prima di cimentarsi con qualsiasi ricetta, anche con Arduino UNO devi predisporre gli strumenti prima di poter approntare dei progetti pratici. Il computer va configurato con il software e il driver della scheda, mentre l’hardware va collegato e collaudato nelle sue funzionalità. È tutto molto semplice, ma non va preso sotto gamba o saltato perché potrebbe compromettere la riuscita dei progetti descritti nei capitoli successivi.

CAPITOLO 7 Basta poco per migliorare le cose

Se fossimo sui fornelli sarebbe un uovo all’occhio di bue, ma in elettronica si accendono le lucette. Noi accenderemo 3 LED in sequenza e poi ricominceremo dal primo dopo una pausa.

Aggiungiamo un potenziometro per variare la velocità del conteggio.

Primi passi con Arduino

37

Abbiamo capito con chi abbiamo a che fare, ora prepariamo tutti gli elementi necessari a lavorare con Arduino UNO.

CAPITOLO 6 La nostra prima realizzazione pratica: contiamo fino a tre

Per arrivare a questo primo risultato scoprirai che esistono LED di vari colori e che per ciascuno di essi si deve usare qualche specifico accorgimento, come una resistenza di valore opportuno. Collegherai i tuoi primi fili a una breadboard e incomincerai ad apprezzare la semplicità e la versatilità dell’ambiente integrato in cui scriverai le tue prime linee di codice. Pochi clic del mouse e il programma viene trasferito sulla scheda Arduino UNO.

6

CAPITOLO 5 É ora di preparare la nostra cucina tecnologica

53

La bellezza della sperimentazione e del “prototyping” è anche nella semplicità con cui un progetto diventa qualcosa di più ricco e articolato. Un componente in più, qualche riga di codice aggiunta qua e là e il risultato finale diventa più interessante e interattivo. Solo un banale componente passivo – il potenziometro per prendere confidenza con il mondo della regolazione manuale e dei partitori di tensione resistivi. Difficile non farsi venire molte idee dopo questo secondo progettino.

Sommario

59

CAPITOLO 8 Dopo le luci, i suoni

CAPITOLO 9 Il mondo è a colori

Modifichiamo qualche elemento e cambiamo radicalmente il risultato: un generatore di suoni pilotato dalla luce ambientale.

Usiamo un led RGB e il PWM per creare una serie di colori casuali.

Al posto di un potenziometro metti una fotoresistenza, al posto dei LED metti un buzzer e il divertimento è garantito. Siamo certi che chi ti sta attorno non resisterà alla tentazione di allungare una mano per far ombra sulla fotoresistenza e sentire Arduino UNO che reagisce con un concertino di musica elettronica – sicuramente d’avanguardia 30 anni fa. Per fare questo non c’è ancora una App, mentre Arduino UNO ci riesce benissimo.

79

Con questo progetto, scoprirai come ci sia una tecnologia tutto sommato semplice per ottenere da tre led colorati ben 16 milioni di sfumature. Dalla teoria alla pratica, i LED RGB non avranno più segreti per te e potrai anche scoprire un modo semplice per creare delle sfumature più accattivanti e vivide. Un classico progetto che con pochissimo sforzo offre grandi soddisfazioni.

CAPITOLO 10 Tutti i colori dell’arcobaleno

CAPITOLO 11 Verso la robotica

Usiamo un potenziometro per fare tutti i colori dell’arcobaleno.

Sempre con il PWM e un potenziometro possiamo realizzare un embrione di arto meccanico grazie a un servomotore.

Anche in questo caso, parti dal progetto precedente, aggiungi un componente e hai qualcosa di radicalmente diverso. Scopri come basti un po’ di spirito d’osservazione per trasformare un potenziale problema in un’opportunità per rendere il progetto migliore. Il risultato non avrà nulla da invidiare ai prodotti commerciali che costano da qualche decina di euro fino a un centinaio e oltre. E con uno shield potresti anche pilotare una strip RGB da qualche metro di lunghezza.

69

87

Non poteva mancare un primo passo verso il mondo dei robot, ma è più un passo teorico che pratico: sarebbero necessarie parti meccaniche impegnative per poter simulare anche solo l’articolazione di un gomito. Accontentiamoci di capire come funzionano le cose e di provare a mettere insieme un sistema che ricorda quelli di telepresenza, dove un movimento viene replicato da un motore.

Primi passi con Arduino

7

Perché Arduino UNO fa per te

8

Primi passi con Arduino

Capitolo 1

Perché Arduino UNO fa per te Presentazione del nuovo “fai da te” tecnologico basato sui microcontrollori – una storia che parte da lontano. Saldatore, stagno ti più attivi e ben presto avere un e componenti: roba vecchia computer non era più sinonimo di Oltre 30 anni fa erano in molti a “programmo le mie applicazioni”, ma dilettarsi con il saldatore, i circuiti cerco e utilizzo dei software scritti stampati e i componenti discreti per da altri. I più bravi scrivevano il sofcreare amplificatori, luci psichedelitware e i pigri ne usufruivano. Il “fai che, microspie e molti altri dispositida te” diventava sempre più d’elite, vi elettronici. mentre il “faccio anch’io” - con il La cultura del “fai da te” elettronico Erano gli anni ‘80 software fatto da altri – era sempre era diffusa e con una robusta base quando programmare più la norma. commerciale. Negli anni ’80 arrivain Basic con solo Programmare su un personal comrono gli home computer e l’atten16K di memoria puter non era più facile come sugli zione migrò dall’elettronica alla proera normale. home computer: interfacce grafiche grammazione, con tantissimi utenti 48K erano un lusso. raffinate, esigenze estetiche sem che per passione scrivevano righe e righe di software per le applicazioni più disparate. Ai tempi, fra l’altro, il programmare era sia un hobby, sia un inizio di professione: i programmi disponibili erano ancora pochi e il “fai da te” in Basic era spesso l’unico modo per rispondere a un’esigenza specifica. Programmare non è più un hobby Parallelamente arrivarono i Personal Computer nelle aziende e anche in quel caso si doveva spesso far sviluppare il software per le proprie applicazioni. In ogni caso, il computer e l’home computer erano i nuovi catalizzatori delle energie creative degli utenPrimi passi con Arduino

9

Perché Arduino UNO fa per te

Il team di Arduino Il gruppo stabile di sviluppatori del team di Arduino è composto da Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis e Nicholas Zambetti.

pre più spinte e anche sistemi di sviluppo sempre più corposi. Il PC cresce, ma il microprocessore torna piccolo Fuori dai radar degli hobbysti stava, però, avanzando una nuova area tecnologica: quella dei microcontrollori destinati alla vita “solitaria” all’interno di qualche dispositivo; nascevano i cosiddetti “embedded” (dall’inglese “embed” che significa “integrare all’interno”). Con grande rapidità questi piccoli calcolatori autosufficienti hanno invaso le nicchie più disparate, fornendo di un tocco d’intelligenza una quantità enorme di dispositivi della vita quotidiana: dallo stereo di casa alla centralina della tua automobile, dal forno a microonde al decoder Digitale Terrestre, dalla lavatrice alle lampade cambia colore a LED. Aziende come Microchip, Atmel, ARM ed ST diventano i nuovi attori di questo millennio nel settore dell’elettronica, creando realtà industriali alternative e complementari 10

Primi passi con Arduino

ai colossi dei microprocessori tradizionali come AMD e INTEL. Oggi aziende come Microchip offrono intere famiglie di microcontrollori di ogni dimensione e potenza, con funzionalità specifiche (multimedia, sicurezza, comunicazione, ecc.) e generiche (ingressi e uscite analogici e digitali) tali da soddisfare una gamma molto vasta di applicazioni. Pochi dollari in più e un dispositivo può diventare “intelligente”. Torna il fai da te elettronico, ma intelligente e in kit Queste caratteristiche e potenzialità non sono sfuggite agli hobbysti “duri e puri” del fai da te elettronico e già nei primi anni 2000 si è diffusa la cultura della programmazione di questi dispositivi per creare progetti più o meno sofisticati. In pratica, quello che una volta era un programma in Basic su un home computer, diventava un programma per un microcontrollore al quale con stagno, fili e componenti si aggiungevano le parti necessarie al funzionamento. Sensori di luce, temperatura e movimento “intelligenti” per la domotica, giochi elettronici, centraline di controllo e molto altro prendevano vita grazie a schemi e programmi sviluppati da chi aveva già preso questo nuovo toro tecnologico per le corna, piegandolo alla dimensione del fai da te. Purtroppo, i chip richiedevano la programmazione su appositi dispositivi hardware, da interfacciare a un computer su cui era installato il sistema di sviluppo – spesso complicato quanto quelli per scrivere software su PC – riportando il tutto ad una elite. Il linguaggio di programmazione torna ad essere prima il “linguaggio macchina” - o assembler con le istruzioni del processore da scrivere secondo sintassi e strutture

Perché Arduino UNO fa per te

Le schede Arduino ufficiali Negli anni sono state prodotte una serie di schede Arduino con caratteristiche specifiche; alcune sono ancora disponibili, altre sono ormai fuori produzione. Ecco l’assortimento attuale con le caratteristiche più importanti. Tabella 1 Arduino

Processore

Flash

EEPROM

SRAM

I/O

... con

ingressi

digitali

PWM

analogici

Chip USB

Dimensioni

KB

KB

KB

n. pin

n. pin

n. pin

tipo

mm

Uno

ATmega328P

32

1

2

14

6

6

ATmega8U2

68,6 × 53,3

Diecimila

ATmega168

16

0.5

1

14

6

6

FTDI

68,6 × 53,3

Due (annunciata)

ATMEL SAM3U

256

0

50

54

4

16

-

-

Duemilanove

ATmega168/328P

16/32

0.5/1

1/2

14

6

6

FTDI

68,6 × 53,3

Fio

ATmega328P

32

1

2

14

6

8

Nessuno

40,6 × 27,9

Leonardo

Atmega32u4

32

1

2

14

6

12

Atmega32u4

68,6 × 53,3

LilyPad

ATmega168V

16

0.5

1

14

6

6

Nessuno

Ø 50

or ATmega328V Mega

ATmega1280

128

4

8

54

14

16

FTDI

101,6 × 53,3

Mega2560

ATmega2560

256

4

8

54

14

16

ATmega8U2

101,6 × 53,3

Nano

ATmega168

16/32

0.5/1

1/2

14

6

8

FTDI

43 × 18

or ATmega328

Arduino UNO

Arduino Diecimila

Arduino Mega1280

Arduino Mega2560

Arduino Leonardo

Arduino Due

Arduino Fio

Arduino Duemilanove

LilyPad Arduino Nano

Primi passi con Arduino

11

Perché Arduino UNO fa per te

per nulla amichevoli e intuitive. Per questi motivi, la creatività rimane limitata ai progetti sviluppati dalle riviste specializzate che ritrovano lettori proprio grazie ai microcontrollori e alle loro potenzialità. “Deve diventare facile e alla portata di chi non è un esperto” I numeri crescono sia a livello industriale, sia a livello hobbystico e l’interesse verso questi microcontrollori si sviluppa negli ambiti più diversi, inclusi quelli della ricerca e delle università. A Ivrea, un gruppo di ricercatori con la vocazione da “tinkerers” (in italiano “smanettoni” nell’accezione più positiva del termine) dedica creatività, visione e capacità alla creazione di una “soluzione” per sviluppare e lavorare facilmente con un microcontrollore, cercando di eliminare tutte le criticità che avevano impedito a questi dispositivi di entrare nel mondo del fai da te “povero” di conoscenze specifiche e tecnologiche, ma “ricco” di inventiva e creatività. Nasce l’idea di Arduino: un microcontrollore con tutti i vari collega12

Primi passi con Arduino

Lo storico Commodore 64 doveva il suo nome alla disponibilità di 64Kbyte di memoria per i programmi.

menti esplicitati su una basetta economica e di pubblico dominio, da interfacciare a un computer (Mac, Windows, Linux) per la programmazione tramite un normalissimo cavetto USB e soprattutto programmabile in un linguaggio adatto anche ai principianti grazie all’ambiente di sviluppo integrato scritto in Java. Arduino ambiva a diventare uno strumento alla portata di chiunque per la realizzazione di prototipi e progetti su piccola scala in cui la flessibilità e la potenza di un microcontrollore permettevano di raggiungere l’obiettivo senza spendere una fortuna. Arduino è finalmente “UNO” A sei anni di distanza, il team che ha ideato Arduino può affermare di aver raggiunto l’obiettivo grazie alle scelte dell’open source e dei Creative Commons (trovi la spiegazione approfondita di queste “filosofie tecnologiche” anche sul sito di Arduino stesso – arduino.cc) che hanno attirato l’attenzione di un significativo numero di utenti, sviluppatori, hobbisti, artisti e gente comune. Senza segreti e brevetti, Arduino ha permesso a numerose aziende di scommettere su di esso sviluppando le schede stesse, espansioni (gli shield) e altre periferiche dedicate. Forse si è perso un po’ dello spirito del tinkerer che prende un oggetto comune e lo modifica aggiungendo dei fili e un Arduino, come un moderno McGyver, ma abbiamo guadagnato in maturità della soluzione, che solo ora abbandona la precarietà della versione “beta” e approda a un design di hardware e software stabili e definitivi – e per questo chiamato UNO. Questo non significa affatto che lo sviluppo si interrompa con questa versione, ma

Perché Arduino UNO fa per te

Saldatore, stagno, componenti e Arduino UNO: il nuovo trend ”cool” Per usare Arduino ti basta Arduino UNO assieme al tuo computer e quindi puoi essere indipendente: il tuo progetto non dipende dalla voglia di qualcun altro per realizzare una scheda e scrivere del codice assembler che ti viene venduto preprogrammato su un microcontrollore che devi acquistare e usare così com’è. Puoi però cercare, se c’è, qualcuno che ha già risolto dei problemi simili, rendendo il tuo progetto l’evoluzione di qualcosa di già sperimentato, documentato e realizzato. Dieci ore per diventare “trendy” Come resistere a questo rinascimento del fai da te tecnologico? Non c’è progetto che grazie ad Ar-

Con pochi componenti elettronici e una basetta breadboard potrai realizzare alcuni semplici progetti.

duino non possa diventare possibile o acquistare una marcia in più. L’importante è impadronirsi dei concetti di base e superare quei piccoli scogli iniziali che anche Arduino – pur nella sua semplicità – ti porterà ad affrontare in queste prime dieci ore. Una volta che avrai superato questa fase, sarai tu a voler andare avanti. Ti abbiamo preparato l’aperitivo e speriamo di farti venire una gran fame di informazioni. Il Web potrà offrirti molti piatti gustosi, anche se problemi linguistici e gusti diversi, assieme alla intrinseca complessità/confusione della Rete potrebbero disorientarti. Non ti demoralizzare e partecipa alle community, ricordando che tutti gli “espertoni” che incontrerai hanno passato un periodo da neofiti come te e per questo sapranno capire i tuoi limiti e apprezzare la tua iniziativa. Ricorda solo che sui forum, prima di chiedere, è buona educazione cercare e leggere quanto è stato già detto e scritto. 1

sancisce il passaggio alla fase più matura e stabile del prodotto.

Primi passi con Arduino

13

... to be continued ...

Disponibile in tutte le edicole! Solo euro 9,90

“Primi passi con Arduino” può essere acquistato anche on-line su www.elettronicain.it o www.futurashop.it