Indice

Introduzione ad Arduino

In questa sezione presentiamo la piattaforma hardware e software Arduino. Esamineremo:

Cos'è Arduino

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:

Caratteristiche hardware della scheda Arduino Uno

la sheda Arduino Uno (fonte: arduino.cc)

La scheda Arduino Uno che utilizzeremo è basata sul microcontrollore ATmega328 prodotto da Atmel e presenta queste caratteristiche:

Memoria

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).

Input/output

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!

Connessione USB

La porta USB permette di connettere la scheda ad un PC e può essere usata per:

Alimentazione

La scheda può essere alimentata:

Collegando sia la USB che un'alimentazione esterna la scheda passa automaticamente all'alimentazione esterna2).

Descrizione dei pin

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

Il software Arduino

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.

Installazione del software in Windows

Il procedimento per l'installazione è descritto dettagliatamente - in inglese - nella sezione Getting Started|Windows del sito di Arduino. In sintesi occorre:

L'ambiente di sviluppo Arduino

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:

{{:arduino_1:ide.png|la finestra del software Arduino

Gli elementi principali del programma sono:

  1. editor di testo
  2. area messaggi
  3. console di testo
  4. barra degli strumenti
  5. barra dei menu
  6. barra di stato

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:

La barra degli strumenti contiene sei icone che corrispondono ai comandi più utilizzati. La funzione svolta da ognuno di loro è:

Scrivere un programma con l'editor

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:

Risorse

Tutti le pagine sono in inglese.

Torna all'indice.

1)
una descrizione dello spinotto qui
2)
qui una spiegazione dettagliata su come viene selezionata l'alimentazione