Arduino, la piattaforma dove il limite è solo la fantasia

Avete mai avuto un’idea da realizzare a casa oppure un problema che volevate provare a risolvere da soli senza investire tanti soldi e tempo? Ecco, se aveste avuto Arduino, avreste potuto farlo!

Cos’è Arduino? Arduino è una piattaforma open source di physical computing basata su un microcontrollore che, accompagnato al suo ambiente di sviluppo, permette la realizzazione veloce di prototipi attraverso la scrittura di un codice che dirà ai dispositivi interfacciati come risolvere o gestire il problema. Viene utilizzato per scopi hobbistici, didattici e professionali.

Scheda Arduino UNO


Sul mercato sono disponibili diverse schede della famiglia Arduino e, a seconda dell’ambito in cui pensiamo di utilizzarlo o dal numero di cose che intendiamo collegare, è possibile trovare la scheda più adatta.
Ai nostri occhi, almeno nella versione nota a tutti (Arduino Uno), si presenta come una scheda non molto grande, dalle dimensioni simili a quella di una carta di credito. Sulla scheda trovano posto alcuni componenti elettronici, qualche led di servizio, una porta USB per il collegamento al PC ed altri pin per l’interfacciamento.
Il microcontrollore dispone al suo interno di:
• una CPU (Central Process Unit) per l’interpretazione del software compilato;
• un’area di memoria di tipo PROM (Programmable Read Only Memory) per ospitare il compilato;
• un’area di memoria di tipo ROM (Random Access Memory) per supportare i calcoli della CPU e le variabili utili all’esecuzione del programma caricato;
• una linea di segnali per l’input e l’output da dedicare, rispettivamente, a sensore ed attuatori;
• altri dispositivi utili, come ad esempio contatori, convertitori Analogici/Digitali o porte di comunicazioni.

Il linguaggio di Arduino, Processing

Arduino può sviluppare oggetti interattivi e indipendenti, può essere ad esempio impiegato nella domotica e il limite al suo utilizzo è quindi vincolato alla nostra fantasia.
Per la scrittura del software si utilizza un linguaggio molto simile al C/C++ ed è noto come Processing.
I programmi scritti per Arduino sono chiamati sketch, la loro compilazione attraverso l’ambiente di sviluppo generano un bytecode (che rappresenta la traduzione in linguaggio macchina del programma scritto) che viene quindi trasferito nella PROM. Il caricamento del programma avviene sempre dall’IDE.
Terminata la ricezione del programma e, da questo momento in poi ad ogni sua accensione, Arduino inizia ad eseguirlo in un loop continuo.

Nella scrittura del codice è prevista una fase di setup, solitamente dedicata alla dichiarazione dei pin di input e di output ed alla configurazione della comunicazione. In questo modo diciamo ad Arduino cosa e dove è collegato fisicamente (il numero del pin sulla scheda) il dispositivo di input (sensore) o di output (attuatore). Successivamente descriviamo cosa va fatto nell’infinito loop in cui Arduino è acceso.

Immaginate di voler ruotare il piano di appoggio e direzionare la vostra pianta preferita nel verso in cui arriva più luce. Direte ad Arduino, nella fase di setup, a quali pin sono collegati, il sensore che rileva la luce (una fotoresistenza) e quello a cui è collegato l’attuatore (un servocomando). Successivamente, nella fase di loop, saranno dati i comandi per muovere l’attuatore e leggere ad ogni angolo di rotazione il valore della luce. A completamento della rotazione farò quindi spostare l’attuatore, e quindi anche la mia pianta, nella posizione in cui ho capito adesso dove arriva più luce.
Siete curiosi? Date un’occhiata al prototipo:

Vi assicuro che è semplicissimo! Se volete potete scaricare il codice realizzato qui e produrre il software voi stessi!


Luca Petrosino

Analista Sviluppatore

Axcent Technology Solutions Srl

Facebooktwitterlinkedin