In questo articolo vedremo come muovere i primi passi con la scheda di sviluppo Arduino UNO realizzando un semplice progetto.
Che cos’è Arduino?
Arduino progetta, crea e supporta dispositivi elettronici e software che permettono alle persone di realizzare i propri progetti con una semplicità spaventosa.
Arduino mette a disposizione diverse linee di schede di sviluppo che permettono di realizzare un prototipo a bassissimo costo.
In molti stentano a crederlo, ma Arduino è nato in Italia (più precisamente a Ivrea). Se volete saperne di più su come è nato il progetto vi consiglio di guardare questo video e per scoprire tutti i prodotti di Arduino potete visitare il sito ufficiale https://www.arduino.cc/.
La scheda Arduino UNO
La scheda più conosciuta e che utilizzeremo nel nostro esempio è l’Arduino UNO:
Arduino UNO è una scheda basata sul microcontrollore ATmega328P. Ha 14 pin digitali (6 delle quali possono diventare uscite PWM) che si possono utilizzare come ingressi ed uscite e altri 6 pin analogici utilizzabili come ingressi ed uscite .
Lista della spesa
Per muovere i primi passi verso Arduino si può procedere in due modi diversi:
- Utilizzare il simulatore online gratuito Tinkercad di Autodesk raggiungibile a questo link https://www.tinkercad.com/
- Acquistare un kit di Arduino dal sito ufficiale (https://www.arduino.cc/en/hardware#kits) e sperimentare con mano i progetti.
Come si crea un progetto con una scheda Arduino?
La creazione di un progetto utilizzando la scheda Arduino si compone sempre da due fasi:
- La relizzazione del circuito elettronico
- La scrittura di un programma da caricare sulla scheda Arduino
Nella prima fase di realizzazione del circuito si utilizzano la breadboard, la scheda Arduino, i dispositivi elettronici per realizzare il progetto e i cavi jumper per collegare tutto insieme (nel caso di utilizzo di Tinkercad si simula lo stesso procedimento).
Nella seconda fase si scrive un programma in linguaggio Wiring (non spaventatevi, è molto simile al linguaggio C) e lo si carica sulla scheda Arduino utilizzando il software gratuito Arduino IDE (https://www.arduino.cc/en/software) collegando la scheda di sviluppo al computer via USB (con Tinkercad si scrive direttamente il programma e si avvia la simulazione).
Utilizzo base dell’interfaccia di Tinkercad
Prima di proseguire col nostro primo progetto vediamo brevemente come funziona l’interfaccia di Tinkercad.
Consiglio: Anche se avete un kit di Arduino fa sempre comodo realizzare i propri progetti su Tinkercad ed averli sempre a portato di mano.
Dopo aver effettuato la registrazione o l’accesso (iscrivetevi o come studenti, o come account personale) al link https://www.tinkercad.com/ si aprirà la pagina iniziale del vostro profilo:
Qui si trova la lista di tutti i vostri progetti. Per crearne uno nuovo bisogna cliccare sul pulsante “+ Nuovo” e selezionare la voce “Circuito”. A questo punto si aprirà la schermata per realizzare un circuito elettronico:
A sinistra si possono posizionare i componenti elettronici da testare che si cercano e selezionano dalla colonna a destra.
Per testare un circuito con Arduino, nella barra di ricerca nella colonna di destra bisogna digitare “Arduino”, selezionare l’Arduino con già collegato la breadboard e posizionarlo nello spazio vuoto a sinistra:
A questo punto sarà possibile selezionare altri componenti elettronici, posizionarli sulla breadboard e collegarli attraverso dei cavi che si possono disegnare cliccando sui fori della breadboard.
Il mio primo progetto con Arduino: un led che lampeggia
Il primo progetto che realizzeremo per iniziare a familiarizzare con Arduino è un led che lampeggia.
Fase 1: creazione del circuito elettronico
Lista della spesa:
- Scheda Arduino Uno
- Cavo usb
- Breadboard
- Una resistenza di un valore compreso tra i 220 Ω ed 1 kΩ
- Un led di un colore a scelta (rosso, verde, giallo o blu)
- Cavi jumper per effettuare i collegamenti
Lo schema elettronico da realizzare è il seguente:
Come si vede dallo schema funzionale bisogna collegare la resistenza al pin 13 di Arduino, dopo la resistenza si collega l’anodo del nostro led (la parte +, il piedino del led più lungo) ed infine il catodo del led (la parte -, il piedino del led più corto) lo si collega a massa al pin GND dell’Arduino.
Fase 2: scrittura e caricamento del programma
Prima di entrare nel dettaglio del progetto vediamo com’è strutturato un programma di Arduino.
Struttura di un programma Arduino
Un programma Arduino (chiamato sketch) è composto da 3 parti principali:
#include "nomeDellaLibreria.h"
void setup(){
//definisco le operazioni iniziali
}
void loop(){
//la parte di programma che viene ripetuta all'infinito
}
Come avviene già nel linguaggio C, in alto posso richiamare delle librerie esterne e definire le variabili che utilizzerò nel programma.
La funzione setup() è la parte del programma che viene eseguita SOLO una volta all’accensione della scheda e serve per definire le operazioni iniziali che deve svolgere il programma (inizializzazione) e per definire lo scopo dei pin di Arduino che andrò ad utilizzare (se in lettura o in scrittura).
La funzione loop() è la parte viva del programma che verrà ripetuta all’infinito (da quando accendo la scheda fino a quando la spengo).
Le funzioni fondamentali da utilizzare in uno sketch Arduino
Prima di addentrarsi nel codice bisogna sempre identificare i pin di Arduino che dovrò utilizzare e definirne la loro funzione. Nel caso del led che lampeggia utilizzeremo il pin 13 digitale di Arduino in scrittura (OUTPUT), in quanto andremo ad accendere (segnale alto, HIGH) e spegnere (segnale basso, LOW) il led.
Per definire la funzione di un pin si utilizza la funzione pinMode():
pinMode(numeroDelPin,funzione);
//Esempio: se utilizzo il pin 13 in lettura (INPUT)
pinMode(13,INPUT);
//Esempio: se utilizzo il pin 13 in scrittura (OUTPUT)
pinMode(13,OUTPUT);
Per scrivere un valore digitale (HIGH o LOW) su un pin si utilizza la funzione digitalWrite():
digitalWrite(numeroDelPin,valore);
//Esempio: se voglio scrivere un valore alto HIGH sul pin 13
digitalWrite(13,HIGH);
//Esempio: se voglio scrivere un valore basso LOW sul pin 13
digitalWrite(13,LOW);
Per fare in modo che il nostro led lampeggi ci serve una funzione d’attesa che si chiama delay():
delay(valoreInMillisecondi);
//Esempio: se voglio far rimanere fermo il programma per 1s
delay(1000);
Codice completo del nostro primo programma
Dopo tutti questi esempi ecco il codice completo del nostro primo progetto per far lampeggiare il led ogni secondo:
void setup(){
pinMode(13,OUTPUT);
}
void loop(){
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}
Test su Tinkercad
Per testare il programma su Tinkercad bisogna procedere nel seguente modo:
1) Cliccare in alto a destra sul tasto “Codice” e clicco sull’opzione “testo”. Nel messaggio che appare cliccare su “Continua”. Se avete fatto tutto giusto si aprirà una finestra dove potrete inserire il codice per programmare la scheda Arduino.
2) Una volta copiato il codice potrete testare il mio progetto premendo sul tasto “Avvia simulazione” (di fianco a “Codice”).
Ecco il progetto finale realizzato su Tinkercad:
Test con kit Arduino
Per testarlo utilizzando il kit bisogna procedere nel seguente modo:
1) Scaricare, installare ed avviare il programma Arduino IDE (link per il download: https://www.arduino.cc/en/software):
2) Copiare il codice sul programma Arduino IDE:
3) Collegare la scheda Arduino al pc tramite il cavo USB.
4) Cliccare su “Select Board” e selezionare la porta USB al quale è collegata la scheda Arduino:
5) Premere su “Upload” per caricare il programma sulla scheda:
6) Se il caricamento è andato a buon fine sul terminale non apparirà nessun messaggio. In caso contrario appariranno in rosso gli errori da correggere nel codice:
Complimenti! Avete creato il vostro primo progetto di Arduino partendo da zero 🎉🎉🎉