Speciale di Euro Primi passi con ARDUINO · e sull’intelligenza di una community internazionale...

13
Euro 9, 90 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 Primi passi con ARDUINO 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 Speciale di a cura di Simone Majocchi

Transcript of Speciale di Euro Primi passi con ARDUINO · e sull’intelligenza di una community internazionale...

Euro 9,90

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

Primi passi con ARDUINO

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

Speciale

di

a cura diSimone Majocchi

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

4 Primi passi con Arduino

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-778112Iscrizione 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)

© 2011 Vispa Edizioni

Primi passi con ARDUINOdi Simone Majocchi

EdizioniVISPA

SOMMARIO

Arduino è per tuttiLe tue prime 10 ore con Arduino UNO

CAPITOLO 1Perché Arduino UNO fa per tePresentazione 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.

7

CAPITOLO 2Il poker tecnologico vincenteI 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.

13

CAPITOLO 3Dalle idee al programmaDescrivi 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.

17

Primi passi con Arduino 5

CAPITOLO 4Pensato per essere collegato a qualcosaLa scheda Arduino UNO nasce peressere collegata facilmente a tantissime cose, talmente tanteche 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.

29 CAPITOLO 5É ora di prepararela nostra cucinatecnologicaAbbiamo capito con chi abbiamo a che fare, ora prepariamo tutti gli elementi necessari a lavorare con Arduino UNO.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.

37

CAPITOLO 6La nostra prima realizzazione pratica: contiamo fino a treSe 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.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.

45

Sommario

CAPITOLO 7Basta poco per migliorarele coseAggiungiamo unpotenziometro per variare la velocità del conteggio.

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.

53

6 Primi passi con Arduino

59

79

Sommario

CAPITOLO 9Il mondo è

a coloriUsiamo un led RGB e il PWM

per creare una serie di colori casuali.

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 11Verso la robotica

Sempre con il PWM e unpotenziometro possiamo

realizzare un embrione di arto meccanico grazie a un

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

69

87

CAPITOLO 8Dopo le luci,

i suoniModifichiamo qualche elemento e cambiamo

radicalmente il risultato: un generatore di suoni pilotato

dalla luce ambientale.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.

CAPITOLO 10Tutti i colori

dell’arcobalenoUsiamo un potenziometro

per fare tutti i colori dell’arcobaleno.

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.

Primi passi con Arduino 7

8 Primi passi con Arduino

Perché Arduino UNO fa per te

Capitolo 1

Perché Arduino UNOfa per te

Saldatore, stagno e componenti: roba vecchiaOltre 30 anni fa erano in molti a dilettarsi con il saldatore, i circuiti stampati e i componenti discreti per creare amplificatori, luci psichedeli-che, microspie e molti altri dispositi-vi elettronici. La cultura del “fai da te” elettronico era diffusa e con una robusta base commerciale. Negli anni ’80 arriva-rono gli home computer e l’atten-zione migrò dall’elettronica alla pro-grammazione, con tantissimi utenti 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 program-mi disponibili erano ancora pochi e il

“fai da te” in Basic era spesso l’uni-co modo per rispondere a un’esigen-za specifica.

Programmare non è più un hobbyParallelamente arrivarono i Perso-nal 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 catalizzato-ri delle energie creative degli uten-

Presentazione del nuovo “fai da te” tecnologico basato

sui microcontrollori – una storia che parte da lontano.

ti più attivi e ben presto avere un computer non era più sinonimo di

“programmo le mie applicazioni”, ma cerco e utilizzo dei software scritti da altri. I più bravi scrivevano il sof-tware e i pigri ne usufruivano. Il “fai da te” diventava sempre più d’elite, mentre il “faccio anch’io” - con il software fatto da altri – era sempre più la norma.Programmare su un personal com-puter non era più facile come sugli home computer: interfacce grafiche raffinate, esigenze estetiche sem

Erano gli anni ‘80 quando programmare

in Basic con solo16K di memoria

era normale. 48K erano un lusso.

Primi passi con Arduino 9

pre più spinte e anche sistemi di svi-luppo sempre più corposi.

Il PC cresce, ma il microprocessoretorna piccoloFuori dai radar degli hobbysti sta-va, però, avanzando una nuova area tecnologica: quella dei microcon-trollori 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 picco-li calcolatori autosufficienti hanno invaso le nicchie più disparate, for-nendo 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 Di-gitale Terrestre, dalla lavatrice alle lampade cambia colore a LED.Aziende come Microchip, Atmel, ARM ed ST diventano i nuovi at-tori di questo millennio nel settore dell’elettronica, creando realtà indu-striali alternative e complementari

ai colossi dei microprocessori tradi-zionali come AMD e INTEL.Oggi aziende come Microchip offro-no intere famiglie di microcontrollori di ogni dimensione e potenza, con funzionalità specifiche (multimedia, sicurezza, comunicazione, ecc.) e generiche (ingressi e uscite analogi-ci 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 kitQueste caratteristiche e potenzia-lità 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 proget-ti più o meno sofisticati. In pratica, quello che una volta era un program-ma in Basic su un home computer, diventava un programma per un mi-crocontrollore al quale con stagno, fili e componenti si aggiungevano le parti necessarie al funzionamento. Sensori di luce, temperatura e movi-mento “intelligenti” per la domotica, giochi elettronici, centraline di con-trollo e molto altro prendevano vita grazie a schemi e programmi svilup-pati 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 di-spositivi hardware, da interfacciare a un computer su cui era installato il sistema di sviluppo – spesso compli-cato quanto quelli per scrivere sof-tware su PC – riportando il tutto ad una elite. Il linguaggio di program-mazione torna ad essere prima il

“linguaggio macchina” - o assembler -con le istruzioni del processore da scrivere secondo sintassi e strutture

Il team di Arduino

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

10 Primi passi con Arduino

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.

Arduino Processore Flash EEPROM SRAM I/O

digitali

... con

PWM

ingressi

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

or ATmega328V

16 0.5 1 14 6 6 Nessuno Ø 50

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

or ATmega328

16/32 0.5/1 1/2 14 6 8 FTDI 43 × 18

Tabella 1

Arduino Nano

Arduino Fio

Arduino UNO Arduino Mega1280 Arduino Leonardo

Arduino Duemilanove

Arduino Mega2560Arduino Diecimila Arduino Due

LilyPad

Primi passi con Arduino 11

Perché Arduino UNO fa per te

menti esplicitati su una basetta economica e di pubblico dominio, da interfacciare a un computer (Mac, Windows, Linux) per la pro-grammazione tramite un normalis-simo 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 porta-ta di chiunque per la realizzazione di prototipi e progetti su piccola sca-la in cui la flessibilità e la potenza di un microcontrollore permetteva-no 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 Crea-tive Commons (trovi la spiegazione approfondita di queste “filosofie tecnologiche” anche sul sito di Ar-duino stesso – arduino.cc) che han-no attirato l’attenzione di un signifi-cativo numero di utenti, sviluppatori, hobbisti, artisti e gente comune. Senza segreti e brevetti, Arduino ha permesso a numerose aziende di scommettere su di esso sviluppan-do 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 aggiungen-do dei fili e un Arduino, come un moderno McGyver, ma abbiamo guadagnato in maturità della solu-zione, 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

per nulla amichevoli e intuitive. Per questi motivi, la creatività rimane limitata ai progetti sviluppati dalle riviste specializzate che ritrovano lettori proprio grazie ai microcon-trollori e alle loro potenzialità.

“Deve diventare facile ealla portata di chi nonè un esperto”I numeri crescono sia a livello in-dustriale, sia a livello hobbystico e l’interesse verso questi microcon-trollori 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 ter-mine) dedica creatività, visione e capacità alla creazione di una “so-luzione” per sviluppare e lavorare facilmente con un microcontrollore, cercando di eliminare tutte le criti-cità che avevano impedito a questi dispositivi di entrare nel mondo del fai da te “povero” di conoscenze specifiche e tecnologiche, ma “ric-co” di inventiva e creatività.Nasce l’idea di Arduino: un micro-controllore con tutti i vari collega-

Lo storico Commodore 64

doveva il suo nome alla disponibilità di 64Kbyte di memoria

per i programmi.

12 Primi passi con Arduino

Perché Arduino UNO fa per te

Con pochi componenti

elettronici e una basetta breadboard

potrai realizzare alcuni semplici

progetti.

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

Saldatore, stagno, componenti e Arduino UNO: il nuovo trend ”cool”Per usare Arduino ti basta Ardu-ino UNO assieme al tuo computer e quindi puoi essere indipendente: il tuo progetto non dipende dalla voglia di qualcun altro per realizza-re una scheda e scrivere del codi-ce assembler che ti viene venduto preprogrammato su un microcon-trollore che devi acquistare e usare così com’è. Puoi però cercare, se c’è, qualcuno che ha già risolto dei problemi simili, rendendo il tuo pro-getto l’evoluzione di qualcosa di già sperimentato, documentato e rea-lizzato.

Dieci ore per diventare“trendy”Come resistere a questo rinasci-mento del fai da te tecnologico? Non c’è progetto che grazie ad Ar-

duino non possa diventare possibile o acquistare una marcia in più. L’im-portante è impadronirsi dei concetti di base e superare quei piccoli sco-gli 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 complessi-tà/confusione della Rete potreb-bero disorientarti. Non ti demora-lizzare 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. Ricor-da solo che sui forum, prima di chie-dere, è buona educazione cercare e leggere quanto è stato già detto e scritto.

1

Primi passi con Arduino 13

Perché Arduino UNO fa per te

... to be continued ...

Disponibile in tutte le edicole!

Solo euro 9,90

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