Questo manuale, edito da Apress nel 2010, spiega come incominciare ad usare la piattaforma
Arduino, partendo dall'
harwdare strettamente necessario allo scopo, per poi presentare alcuni progetti che fanno uso del software di riferimento. Autore del libro è
Michael McRoberts, conosciuto su Twitter come
@TheArduinoGuy.
Nel
primo capitolo, peraltro intitolato "Introduzione", si trovano alcune utili informazioni di servizio, in primo luogo sull'hardware di riferimento, che è costituito da
Arduino Uno; accanto a questa informazione ne troviamo una altrettanto importante, concernente la possibilità di trovare in commercio dei cloni con nomi assonanti, ma obbligatoriamente diversi dall'originale, come ad esempio
Boarduino o
Seeeduino, conseguenza dell'apertura di questa piattaforma e del relativo contratto di licenza.
Terminata con il primo capitolo l'installazione del software, si procede nel
secondo alla creazione del primo progetto completo, scostandosi, anche se di poco, dalla tradizione del linguaggio C: non si procederà infatti ad un saluto testuale o GUI, ma semplicemente all'illuminazione di un LED, e questo sarà un luminoso augurio di buon inizio dell'attività di programmazione
Arduino. In questo breve percorso si imparano alcuni dei fondamentali della piattaforma
software, e si ricevono utili consigli sull'hardware.
Chi non ha esperienza di elettronica scoprirà qui cos'è una
breadboard, e come su questa superficie bucherellata si possano innestare componenti quali resistori o LED, mentre i principianti del software scopriranno che le funzioni
setup e
loop sono essenziali per il funzionamento di un programma
Arduino. Il secondo progetto costituisce una evoluzione riconoscibile del primo, si tratta infatti di un segnalatore SOS in codice Morse, e l'evoluzione procede con il progetto di semaforo che chiude il capitolo.
Nel
terzo capitolo si fanno ulteriori passi avanti nella conoscenza della piattaforma, soprattutto lato software, dal momento che si continua a lavorare con i LED, moltiplicando però il numero di lucine, i costrutti software e la varietà di effetti generati, partendo da un'illuminazione successiva automatica dell'array di LED a una interattiva ottenuta inserendo nel circuito un potenziometro. In questo capitolo viene introdotta la comunicazione seriale, tema ripreso più avanti nel corso del libro, insieme ad altri argomenti come il casting, l'uso della funzione sin, e l'uso di valori RGB per la colorazione della luce.
Con il
quarto capitolo Arduino inizia a parlare, o quanto meno a produrre suoni grazie a un semplice altoparlante che più avanti nel capitolo si incaricherà di produrre suoni più complessi, un compito che permette di mostrare l'uso pratico della direttiva
#define nella definizione delle note musicali e delle relative durate. Vengono qui creati anche dei rilevatori di suono e di luce, introducendo a questo scopo l'uso del relativo hardware.
E' arrivato il momento di muoversi un po', e nel
capitolo cinque si impara come controllare un piccolo motore, operazione non banale dal momento che richiede una certa energia: questa può arrivare, in modo semplice, da una batteria, ma richiede comunque di essere controllata elettronicamente per evitare danni utilizzando transistor e diodi. In chiusura, un esercizio che richiede di collegare due motori invece di uno solo. Il
sesto capitolo introduce invece l'uso di un circuito integrato esterno per la creazione di un calcolatore binario.
Il
settimo capitolo prosegue nella linea del controllo di LED, stavolta organizzati in matrici di punti che danno luogo a delle semplici animazioni. In questo caso viene introdotto un nuovo componente hardware, un visualizzatore a matrice di punti, che richiede l'uso di librerie esterne e di hardware aggiuntivo peraltro in parte già presentato. Il passaggio successivo, ovviamente, è quello della scrittura su visualizzatori a cristalli liquidi, di cui si parla nell'
ottavo capitolo.
Per capire almeno in parte l'influenza della pratica sulla teoria, bisogna tener conto del fatto che l'autore del libro è un appassionato di astronomia, e dunque preferisce i display che scrivono in rosso su sfondo nero, una combinazione ideale per mantenere la visione notturna a livelli accettabili. Vengono quindi presentati i
componenti elettronici e le modalità di controllo software dei medesimi, comprese le rispettive
librerie, che è necessario includere nei progetti per portare a termine funzioni di base come la pulizia del display, la stampa di testo in posizioni determinate, mostrare o nascondere il cursore e far scorrere il testo da sinistra a destra.
Il
nono capitolo riprende l'argomento del movimento, aggiungendo però ai motori un meccanismo di feedback per controllarne la posizione nell'ambito dei 180°, che solitamente la rotazione dei servomeccanismi consente. Anche in questo caso torna utile l'uso di una libreria, chiamata
Servo.h, inclusa nell'
IDE Arduino. I progetti presentati nel capitolo vanno da uno a due oggetti controllati, con l'aggiunta finale di un emplice joystick.
Il
decimo capitolo mostra forme di movimento più sofisticate, i cosiddetti
tepper motor, e si conclude con un progetto di robot in grado di seguire un percorso lineare tracciato a terra, mentre nel capitolo successivo vengono introdotti i sensori di pressione e movimento, e con questi anche l'interfaccia seriale SPI. Ancora più sofisticate le interfacce proposte nel
capitolo dodici, dove si traffica con un touchscreen resistivo, modello Nintendo DS, di cui viene spiegato in modo chiaro il funzionamento prima di passare all'utilizzo.
Nel
tredicesimo capitolo tocca invece a un sensore di temperatura seriale, con il quale vengono collegati rilevatori analogici e digitali per mostrare la temperatura su un semplice display. Ancora un'alternanza sensoriale segna il passaggio al capitolo successivo, il
quattordicesimo, nel quale si usa un misuratore ultrasonico per misurare la distanza di un oggetto lontano. Lo step successivo appare abbastanza scontato, trattandosi di un semplice sistema di allarme, mentre poi arriva una sorpresa, un progetto alquanto originale: si tratta infatti di un Theremin non convenzionale, dal momento che non è basato sulle variazioni di campo elettrico, ma sulla rilevazione del movimento.
Il
quindicesimo capitolo mostra come effettuare operazioni di scrittura e lettura da e verso una scheda di memoria SD; naturalmente, anche in questo caso si tratta di un semplice esempio che mostra alcune funzionalità di base della
libreria SDFat che poi andranno approfondite consultando la documentazione. Considerazioni analoghe valgono per il capitolo successivo, che riguarda la lettura di tag RFID.
Il manuale si chiude con un capitolo dedicato alla
comunicazione via Ethernet, che si ottiene connettendo
Arduino al router via cavo; come si può immediatamente e correttamente immaginare, si aprono così numerosissime possibilità di progettazione, dal momento che è possibile accedere a enormi quantità di dati e soprattutto comunicare attraverso canali tanto affollati quanto noti come ad esempio Twitter. Un semplice esempio tra quelli proposti riguarda un sistema automatico di invio e-mail nel caso la temperatura rilevata superi valori prestabiliti; un altro, per restare nella meteorologia, un lettore di RSS provenienti dal sito
The Weather Channel. All'interno di quest'ultimo capitolo sono inseriti gli schemi a colori di alcuni tra i progetti presentati nel libro.