Articolo a cura di Andres Napolillo
Arduino è una scheda con un microcontrollore, per prototipi rapidi ed economici. E’ possibile realizzare progetti come ad esempio controlli di luci, motori e molti altri, utilizzando sensori e attuatori. L’idea di Arduino nasce dalle menti di cinque ragazzi (Massimo Banzi, David Cuartelles, David Mellis, Tom Igol e Gianluca Martino) il cui progetto è nato nel 2005, per dare la possibilità di realizzare i progetti degli studenti di Interaction design, partendo da prototipi economici.
La scheda Arduino è open-source quindi il suo schema elettrico è liberamente fruibile da tutti, chiunque può realizzarsi il proprio Arduino a patto che non venga commercializzato.
Uno dei punti di forza del microcontrollore in questione è la community, la quale ospita molti utenti che postano i propri progetti e sempre pronti a dare consigli e indicazioni. In particolare andremo ad analizzare le specifiche di Arduino UNO, il modello che viene maggiormente utilizzato per avvicinarsi a questo mondo.
La scheda di Arduino UNO è provvista di un microcontrollore a 8 bit prodotto dalla Atmel. Arduino, per implementare le funzioni di input/output, grazie alle quali riceve e invia informazioni, possiede 20 connettori, di cui 14 digitali (da 0 a 13) nella parte destra della scheda, sui quali in ingresso sono ammessi solo due valori 1 e 0 (1 cioè 5V, 0 cioè 0V). Nella parte sinistra della scheda sono presenti 6 connettori analogici (da A0 a A5).
Quando all’ingresso vi è una tensione, questa viene convertita da un ADC (convertitore analogico-digitale) a 10 bit quindi in 1024 livelli discreti (da 0 a 1023); se in ingresso c’è una tensione di 3V, ad esempio, il convertitore restituisce un valore pari a 615.
La scheda Arduino viene alimentata attraverso la porta USB del computer, oppure attraverso un adattatore in corrente continua a 9V.
La programmazione del microcontrollore avviene tramite il protocollo SPI: il segnale proveniente dal PC tramite il collegamento SPI viene decodificato tramite una procedura dichiarata nel bootloader di Arduino.
Il protocollo SPI prevede 4 linee per ottenere una comunicazione seriale:
L’ambiente di sviluppo integrato (IDE) di Arduino è un’applicazione multipiattaforma scritta in Java, derivata dal linguaggio Processing; ne consegue che il linguaggio per programmare Arduino sia una leggera variante del C, sia come struttura sia come sintassi. L’applicazione include un editor di testo, syntax highlighting e il controllo delle parentesi.
Un programma scritto per Arduino è composto da due elementi principali:
Nell’IDE di Arduino vengono incorporate delle librerie, ad esempio per controllare eventuali display LCD, moduli Bluetooth ecc.. Per visualizzare i risultati, l’IDE mette a disposizione una finestra seriale di monitoring e una finestra di plotter seriale che realizza un grafico con i risultati
Oltre alla Uno esistono altri tipi di schede. Tra le più famose Arduino Mega che implementa 54 porte di I/O digitali e 16 porte di I/O analogiche connesse ad un microcontrollore ATmega328P che integra una memoria flash da 128KB.
Molto interessante la scheda Lilypad orientata a progetti indossabili; la particolarità di questo microcontrollore è che tramite un filo conduttore è possibile cucire i circuiti su tessuti. Il punto di forza di questa scheda sono le dimensioni ridotte (5 cm di diametro). Lilypad dispone di 22 pin, di cui 14 I/O digitali, 6 I/O analogici e 2 di alimentazione.
Per programmare il microcontrollore si utilizza si utilizza un convertitore USB-FTDI. Un progetto molto interessante realizzato con Lilypad è E-Traces, scarpette che registrano il movimento delle ballerine.
Con Arduino si vuol dare la possibilità ai programmatori di uscire dal mondo virtuale. Sarete in grado di far lampeggiare dei led fino a far muovere un motore, vi permetterà di imparare cose nuove sull’elettronica e realizzare nel pratico le vostre idee.