Cercato recentemente
      • Pubblicato il 20 feb 2023
      • Ultima modifica 29 ago 2023
    • 6 min

    Arduino

    Scopri cos’è il microcontroller Arduino, a cosa serve e quali sono le versioni più utilizzate, con esempi di base del linguaggio di programmazione per toccare con mano la rivoluzione dell’Open Source.

    Arduino

    Arduino appare in Italia nel 2005: una scheda elettronica open source (con licenza libera, per chi preferisce termini nostrani), utilizzata per progetti di robotica, elettronica, automazione e tutto quanto può avvalersi delle meravigliose possibilità offerte dalla programmazione con un microcontrollore, un autentico mini computer dalla straordinaria versatilità.

    Vediamo come i creatori di Arduino sono riusciti nel loro intento attraverso questa guida che ti condurrà nel mondo del “microcontroller open source” più affermato, un mondo fatto di un linguaggio intuitivo di programmazione e di versioni sempre più innovative e alla portata di tutte le tasche.

    Cos’è Arduino e a cosa serve

    Arduino è una scheda elettronica compatta che comprende tutti i componenti di base di un computer. È composta principalmente da un’unità di elaborazione centrale programmabile e da una serie di circuiti e componenti elettronici che consentono il collegamento con unità esterne, dispositivi sia digitali che analogici, per realizzare di tutto: da semplici progetti didattici ad applicazioni e prototipi professionali.

    La scheda Arduino

    Di base, la scheda Arduino è formata da un circuito stampato con il microprocessore, che è il microcontrollore vero e proprio, un regolatore di tensione, una serie di piedini o pin connessi alle porte di ingresso e uscita (I/O), sia analogiche che digitali.

    Un'interfaccia USB aggiuntiva consente alla scheda di comunicare con il computer necessario per programmare il microcontrollore.

    Uno Rev 3 Arduino

    Elementi base del linguaggio di programmazione di Arduino

    Il linguaggio di programmazione di Arduino (conosciuto come IDE, acronimo inglese di Integrated Development Environment ossia Ambiente di sviluppo integrato), che può essere scaricato liberamente dal sito ufficiale della piattaforma Arduino, è una versione semplificata dei linguaggi C e C++ con alcune funzioni aggiuntive per la gestione delle interfacce di input/output collegate alla scheda Arduino e che consentono al microcontrollore di dialogare con l’hardware del dispositivo progettato.

    Il codice di programmazione o sketch viene scritto al PC nell’ambiente IDE e inviato tramite un collegamento USB alla scheda Arduino, dove viene eseguito per comandare il funzionamento del dispositivo esterno.

    In ogni sketch compare sempre la funzione setup, fondamentale per la configurazione iniziale del microcontrollore, e la funzione loop, ovvero il programma in sé, che si ripete in maniera ciclica.

    Esempio:

    void setup( ) {

    // istruzioni varie;

    }void loop( ) {

    // istruzioni da ripetere in modo ricorsivo;

    }

    Affinché funzioni, lo sketch deve essere scritto rispettando le regole di sintassi del linguaggio di programmazione di Arduino. Le regole principali sono rappresentate dal simbolo // che consente di aggiungere un commento utile, dalle parentesi graffe {e } all'inizio e alla fine di una porzione di sketch, e dal punto e virgola; dopo ogni istruzione. Per memorizzare i dati, lo sketch distingue tra valori che possono cambiare durante l’esecuzione e valori che restano immutati, ricorrendo a variabili e costanti.

    Esempio di variabile:int valoreSensore = 0; // variabile valoreSensore a cui è assegnato il valore numero intero 0

    Ma la parte fondamentale dello sketch è rappresentata dalle funzioni, che sono blocchi di codice a cui si assegna un nome che può essere utilizzato in varie parti dello sketch, e dalle strutture di controllo, che consentono di eseguire un’istruzione se si verifica una determinata condizione (struttura condizionale) o di ripetere più volte un gruppo di istruzioni (struttura iterativa). La struttura condizionale utilizza le istruzioniifed else o l’istruzione switch, mentre la struttura iterativa utilizza le istruzioni for e while.

    Riassumiamo con un esempio di funzione: digitalWrite(numero pin, valore) - imposta l'uscita del pin digitale su ALTO (5 V) o BASSO (0 V).

    Un esempio di sketch con struttura condizionale:

    if (condizione 1) {

    codice da eseguire se 1 è vera

    }else {

    codice da eseguire se 1 è falsa

    }

    e un esempio di sketch con struttura iterativa, in cui il codice viene ripetuto 10 volte e la variabile x viene aumentata di 1 rispetto al suo valore precedente:

    for (int x = 0; x < 10; x = x + 1) {

    blocco di codice da ripetere

    }

    Principali versioni di Arduino

    Le principali versioni di Arduino che si sono avvicendate negli anni sono:

    Arduino Uno rappresenta il modello di riferimento per tutte le schede Arduino e probabilmente il microcontrollore più adatto per chi è agli inizi. La scheda è basata sul microprocessore ATmega328P e dispone di 14 pin di input/output digitali, 6 ingressi analogici, un clock da 16 MHz e una connessione USB. Il nome è stato scelto in seguito al lancio del software Arduino (IDE) 1.0.

    Arduino Nano è la versione più piccola tra le schede di sviluppo Arduino, ma è tra le versioni più versatili e facili da usare. È basata anch’essa sul microprocessore Atmel ATmega328p con un clock di 16 Mhz. Dispone di 16 KB o 32 KB di memoria Flash a seconda dei modelli, con una memoria SRAM di 1 o 2 KB e una EEPROM da 512 byte/ 1 KB. La scheda è alimentata a 5 Volt, ma la tensione in ingresso può rientrare nell'intervallo 7- 12 V. Presenta 14 pin digitali, 8 pin analogici, 2 pin di reset e 6 pin di alimentazione.

    Scheda di sviluppo Nano Arduino

    La scheda Arduino Mega è considerata la versione più robusta della gamma Arduino. Utilizza il microprocessore ATmega2560, che grazie all’oscillatore al quarzo associato, raggiunge una velocità di clock di 16 MHz. La scheda dispone di 256 KB di memoria Flash, 8 KB di SRAM e 4 KB di EEPROM ed è dotata di un numero di pin pari praticamente al quadruplo della scheda Arduino Uno (54 pin I/O digitali e 16 pin analogici). La scheda Arduino Mega presenta tutta una serie di funzioni che la rendono accessibile sia agli utenti principianti sia ai programmatori esperti.

    Mega 2560 Rev 3 Arduino

    Arduino DUE ha rappresentato un radicale cambiamento per la piattaforma Arduino: la scheda è basata sul microprocessore Atmel ARM Cortex-M3 SAM3X8E a 32 bit e funziona con un clock a 84 MHz. Dispone di 54 pin digitali utilizzabili come ingressi e uscite e di questi ben 12 possono essere utilizzati come uscite PWM. Per la parte analogica la scheda dispone di 12 ingressi analogici e due uscite analogiche, gestite da un convertitore analogico-digitale 12 bit. La stessa risoluzione di 12 bit è supportata dagli ingressi analogici, ma per compatibilità con il codice scritto per Arduino UNO, gli ingressi sono impostati a 10 soli bit di risoluzione.

    Scheda di sviluppo Due Arduino

    Concludendo

    Creata per consentire a creativi appartenenti ai settori più disparati di realizzare le loro idee senza necessariamente essere dei geni dell’elettronica e dell’informatica, la piattaforma Arduino rende accessibile praticamente a tutti uno strumento di progettazione rivoluzionario, senza doversi preoccupare di licenze e diritti d’autore.

    Visita il catalogo Arduino di RS per trovare tutte le versioni di schede e kit Arduino per iniziare o continuare a realizzare i tuoi progetti Open Source.

    Potrebbe interessarti:

    Scheda di sviluppo Nano Arduino

    Scheda di sviluppo Nano Arduino

    Scheda Arduino Nano 3.0 con ATmega328 Arduino Nano 3.0 è una scheda compatta dotata del microcontrollore ATmega328. È una scheda di sviluppo completa adatta alle breadboard, che misura appena 45 x 18 mm.

    Scopri di più