Le nuove frontiere della tecnologia: Arduino

Oggi viviamo circondati dalla tecnologia, spesso senza renderci conto di quanto dipendiamo da dispositivi già pronti all’uso come tablet, smartphone e computer. Oltre a questi, più complessi e tecnologicamente avanzati, utilizziamo quotidianamente calcolatrici, termometri, bilance, timer e orologi digitali. Ma quanto sarebbe gratificante poter costruire e programmare da soli questi strumenti? Grazie alle basi di programmazione, un buon tutorial su YouTube e una scheda Arduino, tutto questo diventa possibile.

undefined

Arduino è una scheda elettronica programmabile, basata su un hardware e un software e dotata di un microcontrollore. Un microcontrollore è essenzialmente un piccolo computer composto da tre elementi principali: la CPU (unità centrale di elaborazione, il “cervello” che gestisce le informazioni), le memorie (permanente e volatile) e le unità di input/output. 

Arduino può essere utilizzato per creare e programmare piccoli dispositivi come controllori di luci, regolatori di velocità per motori, automatismi per il controllo della temperatura e dell’umidità, e molti altri progetti che integrano sensori, attuatori e la comunicazione con altri dispositivi. Con Arduino si può programmare davvero qualsiasi cosa dall’accensione di un led ad un satellite da lanciare in orbita, come Ardusat. 

Il progetto di Arduino ha avuto inizio nel 2005, da alcuni membri dell’Interaction Design Institute di Ivrea: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis. Il loro obiettivo ero quello di creare una piattaforma elettronica accessibile, economica e facile da usare per chiunque volesse prototipare dispositivi interattivi, per questo Banzi in una sua intervista la definisce un’invenzione “democratica”. 

IMG_2812.jpeg

Alcuni pensano che il nome della scheda Arduino sia un gioco di parole con hardware-ino, piccolo hardware. In realtà il nome deriva dal bar Arduino a Ivrea, in cui i 5 colleghi si recavano. A sua volta il nome del bar deriva dal Re d’Italia Arduino, che ha governato dal 1002 al 1014, durante l’epoca medievale. 

Oggi esistono diversi tipi di schede Arduino, ciascuna progettata per scopi e applicazioni diverse. Alcuni delle più note sono: Arduino Uno, Arduino Mega, Arduino Nano, Arduino Leonardo, Arduino Due, Arduino Micro, Arduino MKR (come MKR1000, MKR WiFi 1010, MKR GSM 1400), Arduino Pro Mini, Arduino Nano Every, Arduino Yún, Arduino Zero, Arduino Lilypad.

La scheda arduino più diffusa è però, la scheda ARDUINO UNO, dotata di un microcontrollore, ATmega328P. Ha una porta USB, per collegarla al computer per la fase di programmazione e indirettamente l’alimentazione, un connettore per alimentare la scheda, in assenza del computer, da 7 a 12 V. La scheda ha inoltre diversi pin, sei per l’alimentazione a 9 volt, sei di ingressi analogici a cui si collegano i sensori (potenziometri, fotoresistenze, ultrasuoni, infrarossi) e 14 pin di input/output digitali (numerati da 0 a 13), che possono essere utilizzati sia come ingressi (ad esempio per acquisire il valore di un pulsante) che come uscite (ad esempio per inviare un segnale ad un led). Inoltre, è presente un led chiamato power on, che indica l’accensione della scheda e il pulsante di reset.

IMG_2775.jpeg

La scheda Arduino è, inoltre, dotata di tre memorie: la memoria flash (una memoria non volatile per la memorizzazione dello sketch, un programma scritto), la memoria SRAM (Static Random Access Memory, una memoria volatile, dove durante la fase di esecuzione vengono create e gestite le variabili del programma) e la memoria EEPROM (uno spazio di memoria dove vi sono dati che non devono essere persi allo spegnimento).

La programmazione di Arduino non richiede particolari componenti, solo la scheda, il cavo usb e un Pc.

Il linguaggio di programmazione proprietario di Arduino è il C++, derivato dal linguaggio C e sviluppato dal danese Bjarne Stroustrup. L’ambiente di sviluppo IDE (Integrated Development Environment) cioè l’insieme delle procedure e degli strumenti utilizzati per sviluppare un codice sorgente o un programma, è invece, un applicazione scritta in Java che si può scaricare gratuitamente dal sito di arduino o utilizzarla nella versione online. 

I programmi scritti per arduino sono salvati in .ino e sono chiamati sketch. Questo codice viene poi caricato nella memoria flash di Arduino, che lo conserva fino a quando non né viene caricato uno nuovo. Lo sketch é composto principalmente da due funzioni: setup e loop. La funzione setup è la prima che viene eseguita appena viene alimentata la scheda e serve per configurare i pin, inizializzare le variabili o settare le porte di arduino come input o output. La funzione Loop invece, viene eseguita ripetutamente in maniera ciclica. Arduino, inoltre, fornisce un’ampia gamma di librerie per semplificare l’interazione con sensori, moduli di comunicazione, motori e altro. 

Al giorno d’oggi si stima ci siano state vendute più di 30 milioni di schede Arduino, dal loro lancio nel 2005 fino a oggi. Questa cifra comprende sia le schede originali Arduino prodotte dall’azienda, sia le numerose versioni compatibili e cloni prodotti da altre aziende, dato che Arduino è un progetto open-source e chiunque può produrre e vendere schede basate sul design originale. 

Arduino, ha dato via alla “rivoluzione dei marker”, un movimento di inventori molti dei quali giovanissimi, che si scambiano pareri e consigli in piattaforme online su come costruire le cose più disparate con Arduino, tra questa piattaforme abbiamo anche quella ufficiale di Arduino forum. 

Per utilizzare e programmare Arduino, quindi, non conta l’età, ma bisogna solo avere curiosità e voglia di scoprire come siano realizzati gli oggetti tecnologi che ci circondano. Si tratta di una tecnologia accessibile a tutti il cui l’unico limite è la fantasia.

Giulia Sammartano

Lascia un commento