ARDUINO, MON AMOUR !


torna alla Home Page


ARDUINO, CHI ERA COSTUI ?

Proprio così: cos'è questo Arduino, di cui ho sentito parlare da diverso tempo, già dal 2007 ? Sono un assiduo frequentatore del portale "Make:", dove si trovano le idee più divertenti e istruttive per fare qualcosa di creativo, e ho letto questa parolina diverse volte, affogata in progetti tra i più svariati: "Urban Carpet", "Ardrumo", "Smart Wine Rack"...

Dopo un paio di googolate ho inquadrato la situazione, fiutando l'affare: si tratta di una scheda dotata di un microcontrollore della Atmel (ATmega168 a 16 MHz), con quattordici I/O digitali e sei inputs analogici.

Ma non finisce qui: è un hardware "open source" nel senso che le specifiche hardware sono aperte e liberamente riutilizzabili, si collega al pc tramite una porta USB da cui ricava l'alimentazione, è dotato di una piattaforma di programmazione GUI compatibile PC/MAC/Linux, e si programma in "C" in modo molto semplice.

Non proseguo con le specifiche tecniche, ripeterei quello che trovate direttamente sul sito dedicato ad Arduino, voglio solo fare notare che è un progetto dove la parte italiana ha dato un bel contributo, sia per quanto riguarda la progettazione che per quanto riguarda la produzione di queste schede, che riportano tutte un bel "made in Italy".

Dopo avere smesso di pasticciare con condensatori, transistor e resistenze da parecchio tempo, mi si è riacceso come d'incanto il saldatore ! Che si può fare con questa schedina ? Si potrebbe programmarla per leggere qualche input, accendere qualcosa, fare girare qualcos'altro... Viene chiamato Phisical Computing, mi prende troppo bene !

Il primo passo è quello di investire una trentina di euro per acquistarla: a questo indirizzo si possono trovare nel mondo i diversi rivenditori, io mi sono rivolto negli Stati Uniti ad Adafruit dove avevo già acquistato qualcosa in precedenza, l'unico problema è stato il tempo di consegna di circa tre settimane (ma me la sono cercata).

Sono preferibili le schedine Arduino in kit come quelle a lato, dove per una manciata di euro in più viene fornita anche un pò di accozzaglia utile ad iniziare: qualche led, resistenze , fotoresistenze, una breadboard, eccetera: consiglio queste per chi vuole  iniziare, i diversi workshop in genere fanno riferimento a questi materiali.

PRESTO, LA MAPPA !

Da dove si comincia, come si parte, dove devo guardare ? Qui la lingua inglese non è opzionale, gran parte della documentazione che si trova è scritta in inglese, e chi ha qualche difficoltà deve trovarsi un amico che lo aiuti, con cui condividere le esperienze. Chi sa già programmare si troverà a casa sua, e chi non ne sa nulla può trovare una quantità di tutorial in giro per Internet. Mi permetto di suggerire a tal proposito qualche link:

CAPITANO, LO POSSIAMO TORTURARE ?

Sì, più lo torchiamo, più ne otterremo soddisfazioni: sicuramente il LED lampeggiante ottenuto come esercizio iniziale ci farà esclamare: tutto qui ? Provate a pensare che basta modificare un paio di istruzioni del programma per dilatare i tempi di lampeggio, o associarli al valore letto da una fotoresistenza usando un ingresso analogico, e la cosa cominicia a farsi più intrigante...

Pensiamo poi alla possibilità di pilotare direttamente i servocomandi (come quelli che si usano nei modellini radiocomandati per fare sterzare le ruote) per includerli in qualche simil-robot, oppure leggere le posizioni del joystick del Nunchuck della WII Nintendo (e pure il relativo accelerometro), oppure a leggere l'orario inviato da Francoforte via radio (avete presente gli orologi radiocontrollati ?)

Più si cerca in rete, più saltano fuori argomenti e idee da sviluppare... senza contare quelle che possiamo inventarci di sana pianta, che sono sicuramente le più divertenti.

NE VOGLIO ANCORA !

I programmi sviluppati si caricano direttamente su Arduino tramite il cavo USB che provvede anche all'alimentazione, poi si può staccare il cavo USB e alimentare direttamente con una batteria a 9 V. Arduino continua a fare girare il programma in memoria indipendentemente dal PC, che diventa un bidone dove mantenere tutti gli "sketch" (così sono chiamati i programmi per Arduino) provati.

Spingendoci più in là si può provare a fare interagire Arduino con il PC, lasciandolo collegato alla porta USB, che diventa il canale di comunicazione bidirezionale tra i due. Si può provare a far scrivere sulla porta seriale una stringa da parte del PC, e fare in modo che Arduino la interpreti secondo le nostre specifiche, oppure il contrario, anche qui il limite è la fantasia.

Per inciso, Arduino può appoggiarsi ad un altro software, chiamato "Processing" che consente di sviluppare abbastanza rapidamente applicazioni che possono interagire con le risorse del PC (video, mouse, porte seriali, internet). Un esempio di "pong", il vecchio videogioco lo si può vedere qui su YouTube. Anche qui si aprono altre possibilità di interazioni fino a prima solo immaginate, a portata di ... mouse !


DIAMO DEI PUNTI AD ARDUINO

Qui a lato si può visionare un video relativo ad uno dei miei vari esperimenti: niente di eccezionale direte voi, ma un Arduino all'opera e' sempre un bel vedere !

Cosa è: un lanciatore di dadi, che usa una matrice di led 7x5 e un IC 7221 della Maxim per pilotare direttamente il display.

Il resto è una manciata di righe di codice, il cui sorgente è qui.

Il programma fa uso di una libreria specifica (LedControl) per gestire questo integrato, che trovate a questo link, qui sotto lo schema:

Circuito


E VISSERO FELICI E CONTENTI...

Arduino è il nome della piattaforma originale, ma ne sono state inventate diverse varianti, che prendono il nome di "freeduino", "boarduino", "beduino", non sto ad elencarle tutte, ma sono compatibili con l'Arduino originale da cui derivano il nome.

Comunque non è il nome che conta, se vi siete incuriositi abbastanza e avete qualche idea da sviluppare, Arduino rappresenta una delle possibili soluzioni all'equazione contenente le variabili tempo-soldi-conoscenza (!)

Leggero' con piacere i vostri commenti, se vorrete scrivermi al seguente indirizzo: mnicolato@hotmail.com

Aggiornato il 18 maggio 2008