In questo ultimo periodo si sente parlare molto spesso di Arduino, ma solo una piccola fetta della popolazione è a conoscenza su che cosa sia effettivamente Arduino. In questo articolo saranno risolti tutti i dubbi che riguardano tale dispositivo e saranno esposti i seguenti temi: cos’è, per quale scopo viene utilizzato, come funziona e con quali strumenti si utilizza Arduino.
Arduino è una piattaforma hardware, in particolare modo una board, composta da una serie di schede elettroniche dotate di un micro-controllore.
Tale piattaforma fu ideata e progettata nel 2005 da alcuni membri dell’Interaction Design Institute di Ivrea (in Italia). Il nome deriva dal bar che frequentavano i fondatori. Inoltre Arduino fa rifermento al Re d’Italia nel 1002, Arduino D’Ivrea.
Tramite l’ausilio della board in questione si possono realizzare in maniera semplice e rapida qualsiasi tipologia di dispositivo in grado di eseguire il compito per il quale è stato designato, come sistemi automatizzati per il controllo della temperatura e/o umidità. Per esempio è possibile ideare ed in seguito utilizzare sensori all’interno della cassetta della posta, ed essere avvisati nel momento in cui arriva qualcosa.
Per quanto concerne il lato hardware, la piattaforma fisica di Arduino UNO è basata su un circuito stampato sul quale vi sono diverse componenti come:
- Spinotto USB modello B (1): utilizzato per alimentare (5 V) e interconnettere la board di Arduino al proprio PC, in tal modo da trasferire le informazioni.
- Spinotto jack barrellato (2): utilizzato per alimentare Arduino con qualsiasi alimentatore. Vi è uno stabilizzatore di tensione (14) che provvederà ad erogare la corrente in uscita a 5 V.
- Microcontollore ATmega (13): il cuore del sistema, provvederà a “immagazzinare” il codice sorgente tramite un processo chiamato compilazione.
- Indicatore LED di alimentazione (11): Questo LED dovrebbe accendersi ogni volta che si collega Arduino ad una fonte di alimentazione.
- Pulsante reset (10): permette di riavviare la board
- Il led TX e RX (12m rispettivamente abbreviazione di trasmissione e ricezione): sono utilizzati per indicare i pin (0,1) responsabili della comunicazione seriale. Questi LED si attivano ogni volta che Arduino sta ricevendo o trasmettendo dati (come quando stiamo caricando un nuovo programma sulla scheda tramite il software Arduino IDE).
Arduino dispone di diversi pin tra cui:
- Il pin 3,3 V, 5 V e GND (3,4,5) : è possibile prelevare due diverse tensioni da 3,35 V e da 5 V
- Il pin Vin: permette di realizzare sistemi alternativa per alimentare Arduino
- Pin analogici (6): sono sei e sono numerati da 0 a 5 preceduti dalla lettera dell’alfabeto A; ad essi è possibile collegare componenti come potenziometri, sensori analogici e così via. Questi pin possono leggere il segnale da un sensore analogico (come un sensore di temperatura ) e convertirlo in un valore digitale che possiamo leggere ed usare nel programma.
- Il pin AREF (9): utilizzato per impostare una tensione di riferimento esterna (tra 0 e 5 Volt) come il limite superiore per i pin di ingresso analogico. Viene utilizzato poche volte.
- Pin digitali (7,8): possono essere configurati come Input o Output, sono 14 e sono numerati da 0 a 13; a questi pin possono essere collegati vari sensori, tastierini numerici e così via. I pin digitali 3, 5, 6, 9, 10 e 11 sono pin PWM (pulse with modulation). Attraverso i segnali PWM è possibile, ad esempio, regolare l’intensità di luminosità di un LED o la velocità di rotazione di un motorino elettrico
Il lato hardware è accompagnato da un ambiente di sviluppo integrato (Arduino Ide) multipiattaforma (ossia compatibili con qualsiasi sistema operativo). Il software Arduino Ide è un compilatore come Code Block che permette di compilare e caricare vari programmi (chiamati sketch) sulla scheda di Arduino in modo semplice poiché il linguaggio di programmazione utilizzato deriva dal C e C++, ossia linguaggi ad alto livello e abbastanza intuitivi. Per utilizzare Arduino è sufficiente conoscere le basi del C/C++, come l’interazione if, il ciclo for, while e do-while.
Siamo di fronte ad una piattaforma open-source. Chiunque può riprodurre una board di Arduino in casa per qualsiasi scopo.
Arduino altro non fa che mettere in relazione dati ricevuti in Input (per esempio i dati registrati da un sensore) e fornire un dato Output (il valore restituito in seguito alla misurazione).
Il costo relativamente basso costituisce uno dei numerosi vantaggi. La piattaforma di Arduino è stata progettata per artisti, designer, hacker, neofiti e chiunque sia interessato a creare oggetti o ambienti interattivi. Con tale board è possibile interagire con pulsanti, LED, motori, altoparlanti, unità GPS, fotocamere, internet, e anche lo smartphone o il vostro televisore. Arduino potrebbe essere definito a tutti gli effetti il cervello di tantissimi progetti di elettronica.
Per sfruttare a pieno le potenzialità della scheda vengono utilizzati sensori e shield. Arduino può controllare e interagire con una vasta gamma di sensori, componenti che possono misurare la luce, la temperatura e così via tramite l’ausilio di qualche semplice programma. Gli shiled sono schede pre-costruite che si adattano alla scheda Arduino utilizzata e forniscono ulteriori funzionalità. Ad esempio ci sono shield per il controllo di motori.
Esistono una miriade di versioni di Arduino, ciascuna delle quali presenta particolari caratteristiche peculiari.