In questa sezione presentiamo la piattaforma hardware e software Arduino. Esamineremo:
Arduino è una piattaforma hardware e software open-source con cui realizzare dispositivi digitali in grado di interagire con il mondo esterno attraverso sensori (ad esempio una fotocellula) e attuatori (ad esempio un motore). L'hardware è basato su un semplice microcontrollore Atmel montato su una scheda con ingressi e uscite sia digitali che analogici a cui collegare sensori e attuatori. La scheda Arduino può essere collegata a un PC tramite la porta USB per trasferire i programmi dal PC o per stabilire una comunicazione seriale.
Prima di proseguire diamo alcune definizioni:
Le caratteristiche principali di Arduino sono:
La scheda Arduino Uno che utilizzeremo è basata sul microcontrollore ATmega328 prodotto da Atmel e presenta queste caratteristiche:
La memoria flash contiene il programma e il bootloader (0,5 KB) mentre la memoria EEPROM - che non si cancella spegnendo la scheda - è utilizzata per conservare permanentemente dati e variabili che andrebbero persi se memorizzati nella RAM.
La memoria RAM è molto poca e va usata con attenzione (basti considerare che ogni carattere di testo occupa un byte e tutta la memoria RAM disponibile è di solo 2048 byte).
I pin digitali possono essere utilizzati come ingressi o uscite digitali e assumono due possibili valori di tensione: alto (5 Volt) e basso (0 Volt). Sei di questi pin possono essere usati come uscite analogiche con la tecnica della modulazione di larghezza di impulso PWM.
Gli ingressi analogici accettano segnali in tensione compresi tra 0 e 5 Volt che vengono convertiti in digitale da un ADC a 10 bit (1024 possibili valori).
NB: la corrente massima erogabile da ogni pin è 40mA. Se si cerca di erogare più corrente o si cortocircuita per errore un pin (sia a massa che a 5 Volt) c'è il rischio di danneggiare irreversibilmente il pin o l'intera scheda. Fare attenzione!
La porta USB permette di connettere la scheda ad un PC e può essere usata per:
La scheda può essere alimentata:
Collegando sia la USB che un'alimentazione esterna la scheda passa automaticamente all'alimentazione esterna2).
pin | descrizione |
---|---|
Vin | tensione dell'alimentazione esterna |
5V | tensione dal regolatore della scheda |
3,3V | tensione dal regolatore della scheda |
GND | massa (0 Volt) |
IOREF | riferimento di tensione |
0 e 1 | usati anche per la comunicazione seriale |
2 e 3 | usati anche come interrupt |
3, 5, 6, 9, 10, 11 | usati anche come uscite analogiche PWM |
13 | usata anche per il LED montato sulla scheda |
da A0 a A5 | ingressi analogici a 10bit (range 0-5 Volt → da 0 a 1023) |
AREF | riferimento per gli ingressi analogici |
reset | per fare un reset della scheda |
Dal sito di Arduino è possibile scaricare gratuitamente il software Arduino, in particolare l'ambiente di sviluppo e i driver necessari per comunicare con la scheda. Il software è disponibile per Windows, Mac e Linux.
Il procedimento per l'installazione è descritto dettagliatamente - in inglese - nella sezione Getting Started|Windows del sito di Arduino. In sintesi occorre:
.zip
ed estrarlo nella posizione in cui si vuole installare il softwareArduino UNO.inf
contenuto nella cartella drivers
selezionando il driver quando viene rilevata la scheda o usando Gestione dispositivi
dal pannello di controlloCOM3
)
Il programma Arduino
contenuto nella cartella scaricata dal sito è un IDE, cioè un ambiente di sviluppo integrato, e lo useremo per scrivere i programmi per la scheda Arduino e per caricarli dal PC alla scheda. Il suo utilizzo è descritto dettagliatamente nella sezione Getting Started|Environment del sito di Arduino.
La figura seguente mostra la finestra del programma Arduino:
Gli elementi principali del programma sono:
L'editor occupa gran parte della finestra e permette di lavorare con più file contemporaneamente usando delle tab (un po' come i browser ).
L'area messaggi mostra quale operazione sta eseguendo l'IDE mentre la console di testo visualizza in maniera più dettagliata il risultato di queste operazioni, evidenziando errori o altre informazioni.
La barra di stato mostra il nome della scheda Arduino e della porta seriale utilizzata.
Dalla barra dei menu mostra è possibile accedere a tutte le funzionalità dell'IDE; la useremo per poche operazioni fondamentali, in particolare:
Z:
La barra degli strumenti contiene sei icone che corrispondono ai comandi più utilizzati. La funzione svolta da ognuno di loro è:
Il codice sorgente dei programmi - che in Arduino sono chiamati sketch - è un semplice file di testo con estensione .ino
. L'editor dell'ambiente di sviluppo, oltre alle solite funzioni presenti in tutti editor, ha delle caratteristiche particolari che facilitano la scrittura dei programmi, in particolare:
Tutti le pagine sono in inglese.
Torna all'indice.