Home / Blog / 04-04-2019

Arduino: la guida completa

di Redazione

Arduino è una scheda elettronica open-source basata su un hardware e un software semplici da usare e adatta a chiunque voglia realizzare progetti interattivi utili in svariati ambiti. La piattaforma, conosciuta anche con il nome Genuino, ha enormi potenzialità nella domotica, nell’automazione e nell’ambito IoT (Internet of Things).

Chi è un appassionato di tecnologia sicuramente ha sentito parlare almeno una volta di Arduino. Non sempre, però, esistono idee chiare in merito, e soprattutto non è nota la reale portata di tale piattaforma.

In parole semplici attraverso una scheda e un ambiente di sviluppo, ideati e progettati presso l’Ivrea interaction Design, nel 2005, aziende ma anche appassionati di elettronica possono dare sfogo alla loro creatività e fantasia senza dovere spendere una fortuna, e in modo davvero flessibile.

Solo per fare alcuni esempi, con Arduino è possibile accendere e spegnere le luci di casa in modo automatico, programmare un robot, e creare complessi strumenti scientifici, semplicemente programmando la scheda a leggere determinati input e restituire particolari output.

Ma, procediamo con ordine, cercando di capire cosa si può creare con Arduino, quali sono i modelli disponibili nel mercato e da dove bisogna iniziare per creare un progetto.

Cos’è Arduino?

Arduino è una scheda elettronica che grazie all’uso ad esempio di sensori è in grado di rilevare stimoli esterni di diverso tipo, come ad esempio la luce, l’umidità, i movimenti, i suoni, l’accensione o lo spegnimento di pulsanti e grazie ad uno sketch (un programma creato appositamente per Arduino) è in grado di tramutare il tutto in specifiche azioni.

Si tratta di un sistema molto versatile, funzionale per tante realtà aziendali, ma anche utile per creare piccoli progetti domestici o hobbistici, e per mettere in atto la propria vena creativa.

Esiste una vasta community di appassionati che costantemente si scambia informazioni e idee in merito all’utilizzo della scheda, e al linguaggio di programmazione.

» VUOI IMPARARE A PROGRAMMARE? SCOPRI I NOSTRI CORSI ONLINE «

L’idea è Made in Italy, in particolare è stata ideata nel 2005 presso l’Interaction Design Institute di Ivrea, una scuola da frequentare dopo la laurea, creata da Telecom Italia e Olivetti.

All’epoca l’insegnante Massimo Banzi, stava cercando un modo per consentire agli allievi di realizzare le loro idee creative in ambito di robotica, senza sostenere costi elevati. Grazie alla collaborazione con un ingegnere esperto in microchip, David Cuartielles, all’epoca ricercatore presso l’Istituto, prese vita la famosa scheda, programmata poi in soli due giorni dallo studente, David Mellis. Il nome “Arduino” fu scelto perché nelle vicinanze si trovava un pub omonimo.

L’invenzione ebbe subito un grande successo tra gli studenti, e anche i meno esperti di programmazione riuscirono a inventare qualcosa attraverso la nuova piattaforma, come ad esempio far lampeggiare delle luci o controllare semplici motori.

Nel settore iniziò a circolare la voce della nuova creazione Made in Italy e in poco tempo arrivarono svariati ordini da designer e appassionati.

Visto l’inaspettato successo ottenuto, gli inventori decisero di fondare una società, ma in modo particolare, cioè lasciando “liberi” i progetti, ovvero open source. In particolare Arduino non è regolato dal copyright, ma da una forma molto più flessibile come il Creative Commons “Attribution Share Alike” che consente la produzione, la riprogettazione e la vendita senza dovere chiedere alcun permesso, ma mantenendo sempre la stessa licenza “aperta”.

L’unica proprietà intellettuale dell’azienda è il nome Arduino, che è diventato un vero marchio di fabbrica protetto, per evitare che venga associato ad eventuali copie di scarsa qualità.

In ogni caso nel 2006, quindi solamente dopo un anno, l’azienda aveva venduto circa 5mila unità, e ben 30 mila l’anno successivo.

Le enormi potenzialità dell’invenzione sono state notate anche dai big player del mercato, infatti nel 2013 è nata una collaborazione tra Arduino e Intel che ha portato alla creazione delle schede Edison e Galileo, compatibili con la piattaforma italiana. Inoltre, esiste una partnership anche con Microsoft, e un ambizioso progetto che ha visto la nascita di Arduino Yùn, un mini computer Linux.

Nel 2015 tra soci fondatori ci sono stati alcuni conflitti che hanno causato delle dispute legali in merito all’utilizzo del marchio Arduino. Proprio per questo motivo, in Italia, la scheda è conosciuta anche con il nome Genuino.

A cosa serve Arduino?

Arduino permette a svariati appassionati autodidatti o aziende di potere programmare praticamente qualsiasi cosa in modo incredibilmente semplice e versatile.

Una delle sue peculiarità è il fatto di essere adatta a chiunque, principianti ma anche utenti avanzati.

Viene, utilizzata frequentemente a scopi didattici, per realizzare strumenti scientifici a basso costo, ad esempio per verificare principi di fisica o di chimica, o per imparare la programmazione e la robotica. Consente sia a studenti che a insegnanti di creare qualcosa di concreto “sporcandosi” le mani.

La scheda Arduino è in grado di supportare anche la creatività degli artisti, infatti alcuni architetti la usano per creare prototipi interattivi, e svariati musicisti riescono in questo modo a sperimentare con nuovi strumenti musicali.

Programmando accuratamente la scheda è possibile ad esempio effettuare della modifiche alla macchinetta del caffè per trovarlo già pronto al mattino all’ora selezionata, oppure inserire un sensore nella cassetta della posta per essere avvisati quando arrivano delle comunicazioni, rendere più intelligenti le luci di casa, e via dicendo.

Il discorso potrebbe sembrare un po’ dispersivo, in quanto non è possibile definire con chiarezza cosa si può effettivamente realizzare con tale piattaforma. In realtà si può creare qualsiasi cosa, basta un po’ di fantasia e impegno per studiare il linguaggio di programmazione C.

» VUOI IMPARARE A PROGRAMMARE? SCOPRI I NOSTRI CORSI ONLINE «

Durante le cosiddette Maker Faire, inoltre, è possibile conoscere ed entrare in contatto con vari appassionati, per vedere da vicino molti progetti e apprendere le potenzialità di Arduino.

L’idea di Banzi ha avuto un notevole successo proprio perché permette di trasformare le idee in veri e propri progetti in modo abbastanza semplice, spendendo pochi soldi. Ciò che prima restava imprigionato nella mente di persone ambiziose e creative, ora può essere effettivamente realizzato, facendo diventare chiunque un piccolo inventore o innovatore.

Cosa si può creare con Arduino?

Dopo avere visto nei paragrafi precedenti la nascita e la diffusione della piattaforma Arduino, o Genuino, vediamo ora alcuni esempi pratici di ciò che si può realizzare attraverso la scheda.

Abbiamo detto che può essere utilizzato per realizzare diversi progetti elettronici e tecnologici di piccola o grande entità, in modo più semplice e versatile rispetto alle alternative nel mercato.

In particolare rappresenta il punto di partenza per moltissimi progetti di:

  • domotica: tecnologia utile a migliorare la qualità di vita in casa o negli edifici in generale
  • automazione: ideazione di macchine intelligenti in grado di fornire un servizio o una soluzione in modo totalmente automatizzato
  • IoT, Internet of Things: letteralmente “Internet delle cose” cioè gli oggetti connessi ad internet e in grado di dialogare con e grazie ad esso

Dalla creazione di oggetti per puro divertimento, fino ad applicazioni più utili e concrete, la piattaforma Arduino si dimostra essere sempre funzionale, pur nella sua semplicità. Grazie ad essa, infatti, quasi ogni segnale, che sia diretto o il risultato di variazioni ambientali, può essere tradotto in una specifica azione.

Proviamo a fare qualche esempio concreto per chiarire ulteriormente le idee. Con Arduino è possibile progettare:

  • la gestione automatizzata delle serre: attraverso la variazione di determinati input quali l’umidità, il calore e la luminosità si possono azionare determinati comportamenti, per riportare l’ambiente nelle condizioni ottimali, ad esempio l’attivazione di irrigatori, l’apertura di finestre, etc
  • un parking assistant per l’auto: attivazione di un segnale acustico quando il veicolo si avvicina a una determinata distanza da un ostacolo (i sensori di parcheggio delle vostra auto)
  • l’orientamento dei pannelli solari: cogliendo lo spostamento del sole si possono muovere i pannelli per ottenere il massimo della resa energetica
  • dei piccoli robot: impostando specifiche azioni attivabili a seconda degli input
» VUOI IMPARARE A PROGRAMMARE? SCOPRI I NOSTRI CORSI ONLINE «

Programmare Arduino: cosa vuol dire?

Abbiamo detto che la scheda Arduino consente di programmare praticamente qualsiasi cosa in modo semplice e flessibile, vediamo ora di capire il suo funzionamento e perché è diventata in poco tempo un punto di riferimento nel settore.

Come abbiamo accennato la scheda, grazie a sensori in grado di rilevare informazioni dall’ambiente circostante e ad un software scritto appositamente, è in grado di comandare eventuali attuatori per far compiere ad essi determinate azioni prestabilite, mostrare dati in un display, comunicare grazie ad internet con altri sistemi e molto altro.

Tutto questo grazie all’ambiente di sviluppo integrato (IDE) multipiattaforma (disponibile quindi per Linux, Apple Macintosh e Windows) affiancato all’hardware. Grazie a questo software anche i meno esperti sono in gradi di iniziare a lavorare con Arduino, in quanto i programmi realizzati per esso, chiamati sketch, vengono scritti in un linguaggio di programmazione semplice e intuitivo, chiamato Wiring, derivato dal C e dal C++, liberamente scaricabile e modificabile.

Per muovere i primi passi con Arduino, quindi, è sufficiente conoscere i costrutti fondamentali del linguaggio di programmazione C o C++.

» VUOI IMPARARE A PROGRAMMARE? SCOPRI I NOSTRI CORSI ONLINE «

La semplicità di programmazione e il costo contenuto della piattaforma hanno permesso la creazione di tantissimi progetti in questi anni, sia in ambito scientifico che ludico. Il numero dei soggetti interessati quali studenti, artisti, designer, professionisti, hobbisti è cresciuto notevolmente fino ad approdare anche al settore business.

Essendo un progetto totalmente open source, la community ha contribuito a sviluppare e migliorare continuamente l’idea originaria, permettendo di passare da una scheda a 8 bit, a svariate applicazioni per la stampa 3D, per Internet of Things, per la domotica e per la creazione di piccoli robot.

La versatilità di Arduino permette la creazione di progetti utili in diversi settori tanto che oggi i prototipi ideati vengono esposti in fiere apposite che si svolgono in tutto il mondo. Le cosiddette Maker Faire, sono infatti delle occasioni per mettere a diretto contatto inventori e appassionati di tecnologia.

Ma dove risiede il segreto di tale successo?

Rispetto ad altre soluzioni, programmare con Arduino ha i seguenti vantaggi:

  • ha un costo accessibile
  • assicura una completa compatibilità con i sistemi operativi più diffusi, quali Windows, Linux e MacOs.
  • essendo una piattaforma interamente open source, è riuscita a stimolare la collaborazione con migliaia di esperti, creando una community di programmatori in grado di dare il loro contributo per migliorare costantemente i risultati.

Modelli disponibili: le caratteristiche principali

Fino ad ora abbiamo detto che, Arduino è una scheda molto flessibile, dotata di particolari sensori in grado di ricevere degli input dall’ambiente, e trasformarli in azioni, grazie alla piattaforma di sviluppo Wiring, il cui linguaggio è un derivato del C.

Per riuscire a ideare progetti interessanti è importante sapere scegliere la scheda giusta, o meglio la più adatta alle specifiche esigenze. Non esiste, infatti, un modello migliore di altri, ma è possibile individuare quello che meglio si adatta al progetto che si intende realizzare.

Perciò, prima di effettuare una scelta, bisogna avere bene chiaro in mente cosa di vuole creare.

Una delle prime caratteristiche da confrontare è la dimensione della scheda, in quanto si deve adattare perfettamente allo spazio disponibile nel progetto, ma devono essere analizzate anche la potenza e altri valori.

Di seguito, perciò, forniamo un elenco dei modelli attualmente in commercio, descrivendo per ognuno di essi le peculiarità e le caratteristiche principali. E’ possibile scegliere tra le seguenti schede Arduino:

  • Arduino Uno: è la versione più comune e più utilizzata, l’ideale per i primi approcci con la piattaforma in quanto è abbastanza solida e in caso di errori, nella peggiore delle ipotesi, è sufficiente sostituire il chip, che costa pochi euro, e ripartire a sperimentare da zero. E’ caratterizzata da 14 pin di input e output digitali, 6 ingressi analogici, una connessione USB. Si chiama “uno”, per indicare il primo rilascio di un ambiente di sviluppo integrato, IDE “Integrated Development Environment”: Arduino Software 1.0.
  • Arduino Mega: da utilizzare per progetti molto grandi, che necessitano di un gran numero di pin, infatti ha ben 70 ingressi, dei quali 54 digitali e 16 analogici.
  • Arduino Leonardo: può essere collegata direttamente al computer senza micro-controllori intermedi, in altre parole la scheda viene riconosciuta come una periferica HID (Human Interface Device), cioè come se fosse una tastiera o un mouse
  • Arduino Ethernet: pensata appositamente per chi necessita delle potenzialità offerte dall’accesso ad internet tramite ethernet.
  • Arduino Due: destinata agli utenti più esperti che desiderano prestazioni elevate, è dotata di una vasta quantità di periferiche integrate.
  • Arduino Yún: si tratta di una scheda wi-fi caratterizzata da una distribuzione Linux, quindi diversamente dalle altre, è un vero e proprio mini computer.
  • Arduino Micro: perfetta per i progetti più piccoli, visto che le sue dimensioni sono 4,8 x 1,77 cm.

Risorse Arduino disponibili online

Tra i punti di forza che hanno reso Arduino una piattaforma molto apprezzata e utilizzata c’è sicuramente il suo costo contenuto, la compatibilità con i maggiori sistemi operativi (MacOs, Windows e Linux), ma soprattutto la sua “apertura”. La progettazione, infatti, è completamente open source, cioè rilasciata con una particolare licenza che la rende migliorabile e modificabile da molti programmatori.

Migliaia di appartenenti alla community danno il loro contributo, permettendo all’intero sistema di evolversi e svilupparsi rapidamente.

Si tratta di una caratteristica che ha determinato un immediato successo della piattaforma Arduino, fin dai primi mesi di vita. In molti, infatti, oltre a tempestare di domande e richieste di aiuto il team, inviavano proposte di miglioramento.

Come è accaduto all’inizio degli anni ’90 con Linux, la community di appassionati ha iniziato a lavorare in modo autonomo per sviluppare ulteriormente Arduino, apportando continue novità e perfezionamenti, difficilmente raggiungibili con piattaforme chiuse.

Nel web sono presenti inoltre molte risorse interessanti, quali tutorial, blog, approfondimenti, esempi di progetti, in grado di aiutare e dare spunti a chi desidera dare vita alle proprie idee.

In particolare, segnaliamo i seguenti siti web:

  • arduino.cc: è il sito web ufficiale della piattaforma, nel quale è possibile leggere le ultime notizie in merito e consultare vari tutorial in italiano.
  • progettiarduino.com: video ed esempi pratici per realizzare alcuni progetti
  • makeritalia.org: il posto giusto per chi desidera “smanettare” e sperimentare, anche entrando in contatto con altri utenti nel forum.
  • danielealberti.it: un blog interessante, per apprendere nozioni e capire le potenzialità delle schede Arduino.
  • elettronicain.it: una prestigiosa rivista dedicata alla progettazione elettronica.

Da dove iniziare?

Abbiamo detto che per poter sfruttare Arduino è importante conoscere innanzitutto la piattaforma e il suo hardware, avere delle basi di elettronica e conoscere almeno i costrutti fondamentali del linguaggio di programmazione C o del C++ (dato che il linguaggio utilizzato per creare gli sketch è una sua variante). Quindi, la prima cosa da fare è iniziare a studiare, ponendo le basi per potere poi dare vita ai propri progetti e alla propria creatività.

Non si tratta di concetti complicati, ma è importante seguire dei corsi ben strutturati, per evitare di trovarsi impreparati o di bloccarsi a metà strada di un progetto non sapendo come procedere.

» VUOI IMPARARE A PROGRAMMARE? SCOPRI I NOSTRI CORSI ONLINE «

In un secondo momento quando finalmente si possiedono tutte le nozioni necessarie per iniziare, bisogna scaricare dal sito web ufficiale di Arduino l’IDE, cioè un ambiente di sviluppo che permette di scrivere, compilare e trasferire i programmi sulla scheda. Si tratta, in altre parole, di un ambiente di sviluppo, da utilizzare come base per la programmazione.

Una volta appresi i costrutti fondamentali del linguaggio e del funzionamento della scheda, quindi avendo delle buone basi di partenza, è possibile trovare vari spunti online per migliorarsi continuamente. Come abbiamo detto in precedenza, infatti, essendo un progetto open source, Arduino vanta una community molto ampia e attiva.