Arduino: da un’idea ad un prototipo in un attimo

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.

Hardware

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.

Arduino: da un’idea ad un prototipo in un attimo | CuE
Protocollo SPI Fonte: cdn.sparkfun.com

Il protocollo SPI prevede 4 linee per ottenere una comunicazione seriale:

  • SCK: è il clock generato dal master e scandisce le comunicazioni
  • MOSI: linea di output, porta i dati dal master allo slave
  • MISO: linea di input, porta i dati dallo slave al master
  • SS: linea per terminare la comunicazione

Software

Arduino: da un’idea ad un prototipo in un attimo | CuE
IDE Arduino
Fonte: upload.wikimedia.org

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:

  • void setup (): è una funzione del programma che viene eseguita soltanto all’inizio del programma. Nel setup si dichiarano se le porte sono input o output, le connessioni seriali, ecc.
  • void loop (): è una funzione del programma che viene invocata ripetutamente e al suo interno c’è tutto il programma necessario per controllare la scheda Arduino.

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

Altri prodotti:

Arduino MEGA

Arduino: da un’idea ad un prototipo in un attimo | CuE
Arduino MEGA
Fonte: a.pololu-files.com

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.

Arduino LilyPad

Arduino: da un’idea ad un prototipo in un attimo | CuE
Arduino LilyPad

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.