Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Beginning Arduino
Recensito da Davide Panceri il 02-04-2012 ore 13:12
Copertina ISBN: 143023240753999
Autori: Michael McRoberts
Editore: Apress
Lingua: Inglese
Anno: 2011
Pagine: 433
Allegati: Nessuno
Intel Cluster Studio XE
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.
proIl manuale è completo, chiaro e ampiamente illustrato dove serve. Utili anche gli elenchi di materiali relativi ai progetti che aprono ciascun capitolo, e da non disprezzare le illustrazioni a colori dei progetti presentate in chiusura.
controNon ho individuato aspetti negativi, a parte forse l'invecchiamento fisiologico del manuale cartaceo, e qualche errore nei listati. Avanzerei la richiesta per questa tipologia di manuali di video a corredo.
Precedente: 12 Essential Skills for Software Architects
Successiva: ASP.NET Single Page Application
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.294 secondi.