Primi passi con Arduino

di Rocco Macellaro
In questa breve guida, affronteremo per passi le procedure per iniziare a lavorare con Arduino, la guida fa riferimento negli esempi forniti ad Arduino Mega, ma le operazioni da compiere sostanzialmente non cambiano molto per le altre numerose versioni di Arduino disponibili in commercio.

La scheda Arduino

Arduino è diventato nel tempo una famiglia di prodotti, in frenetico aumento ed evoluzione, esistono numerose versioni della board Arduino, ma anche altrettanti estensioni (shields) e kit di sviluppo, potete come al solito far riferimento al sito Arduino.cc per l’elenco completo:
https://www.arduino.cc/en/Main/Products.

Prerequisiti

Per iniziare a lavorare con Arduino, sono necessari:

  • Avere la scheda Arduino, come visto esistono numerose versioni di Arduino, in questo articolo facciamo riferimento ad Arduino Mega, ma le cose non cambiano con altre versioni.
  • Avere delle conoscenze di almeno un linguaggio di programmazione, Arduino utilizza il linguaggio C e C++, in una versione alleggerita, si consiglia pertanto la lettura di una guida sul linguaggio C, una guida molto ben fatta consigliata anche dal sito arduino.cc e quella messa a disposizione da HTML.it al seguente link: http://www.html.it/guide/guida-c
  • Avere installato sul pc di sviluppo l’IDE di Arduino, un applicazione software che permette di programmare Arduino, scaricabile per diverse piattaforme al seguente link: https://www.arduino.cc/en/Main/Software
  • Aver installato i driver della scheda Arduino a propria disposizione, i driver sono reperibili sul sito Arduino.cc a seconda della propria versione di Arduino, per partire si po’ far riferimento al seguente link: https://www.arduino.cc/en/Guide/HomePage

Iniziamo

Come già detto Arduino usa il linguaggio C e C++ in versione alleggerita, questo significa che alcune cose del linguaggio C non sono disponibili mentre sono stati introdotte delle cose in più che semplificano l’utilizzo di Arduino, Arduino.cc mette a disposizione una pagina di riferimento molto ben fatto da utilizzare ogni volta che occorre, disponibile all’indirizzo: https://www.arduino.cc/en/Reference/HomePage
Ogni “programma” scritto per Arduino tramite il sui IDE, si chiama Sketch, e contiene una serie di istruzioni che il processore della scheda deve eseguire, ogni Sketch per poter essere compilato dall’IDE deve essere composto da almeno due metodi principali setup() e loop().
Il metodo setup() viene richiamato quando uno Sketch ha inizio, viene utilizzato principalmente per l’inizializzazione delle variabili, le modalità con cui devono funzionare i pin di Arduino (se in input o in output) o inizializzare eventuali librerie esterne (che vedremo in un altro articolo). Questo metodo viene richiamato ad ogni accensione o reset della scheda Arduino.
Il metodo loop() è appunto una funzione che viene richiamata consecutivamente e permette al programma di intervenire per controllare attivamente la scheda Arduino, e il cuore del programma dove vengo specificate le istruzioni che vogliamo far compiere ad Arduino.

In questo articolo partiremo da un progetto veramente semplice, vedremo come comandare l’accensione e lo spegnimento di un led tramite Arduino:

  • Vedremo come sia possibile comandare il led presente direttamente sulla board sul piedino 17.
  • Vedremo come accendere un led connesso su uno dei piedini di output di Arduino.
  • Vedremo come comandare la durata e l’intervallo tra l’accensione e lo spegnimento del led in questione.

Primo Esempio

Far lampeggiare il led presente sulla board Arduino Mega al pin 17. Apriamo l’IDE di Arduino e iniziamo un nuovo Sketch, vedremo i due metodi setup() e loop() già definiti dall’IDE, inseriamo nel codice dello sketch appena creato le righe di codice così come riportate di seguito:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//definiamo la variabile di nome LED e stabilisce che 
//è collegata al pin digitale 13 sulla scheda Arduino Uno
int LED = 13;
 
void setup() {
    //impostiamo il pin 13 (Variabile LED) come uscita digitale
    pinMode(LED, OUTPUT);
}
 
void loop() {
    digitalWrite(LED, HIGH); // accendiamo il LED sul pin 13
    delay(1000); // inseriamo in tempo di attesa di un secondo
    digitalWrite(LED, LOW); // spegniamo il LED sul pin 13
    delay(1000); // inseriamo un tempo di attesa di un secondo 
}
Il pezzo di codice è abbastanza semplice, viene definita una variabile di nome LED all’interno della quale salviamo il numero del pin che vogliamo utilizzare (nel nostro caso il numero 13), nel metodo Setup() specifichiamo che vogliamo utilizzare il pin 13 come pin di uscita (OUTPUT), dopo di che nel metodo loop() diciamo alla board Arduino, che ad ogni ciclo dovrà fornire al pini 12 (LED) il valore HIGH(che corrisponde al valore di tensione alto +5V) poi aspettare 1 secondo e riportare il valore dello stesso pin a LOW(valore di tensione basso 0V) seguito nuovamente da un attesa di un secondo, dopo di che il ciclo riprenderà rieseguendo sempre la stessa sequenza.
Ultimata la modifica del codice, scegliere dal menu Sketch la voce Verifica e compila o premere Ctrl+R, ci verrà richiesto di salvare lo Sketch sul disco (salviamolo in una posizione che desideriamo) e successivamente l’IDE comincerà a compilare il nostro codice, se tutto viene compilato correttamente e non abbiamo fatto errori vedremo un messaggio di conferma nella parte bassa dell’IDE Compilazione completata, a questo punto siamo pronti per caricare il codice sulla nostra scheda Arduino.
Colleghiamo la scheda al pc tramite il cavo USB, dopo di che scegliere dal menu Strumenti > Scheda dell’IDE, la scheda che abbiamo appena collegato al pc, nel mio caso Arduino Mega. Dopo di che selezionare dal menu Strumenti > Porta, la porta COM alla quale abbiamo collegato la scheda, per sapere (sotto windows) la porta assegnata alla scheda, occorre cliccare con il pulsante destro del mouse sull’icona Computer, presente sotto start, e scegliere proprietà, nella finestra che si apre scegliere Gestione dispositivi, scorrere la vista ad albero fino ad individuare la voce Porte (Com e LPT), espanderla e verificare la porta sulla quale compare il nome della scheda Arduino che avete connesso al pc.
Ultimata questa procedura, scegliere dal menu File dell’IDE la voce Carica oppure premere i pulsanti Ctrl+U, lo sketch da voi creato verrà caricato sulla vostra scheda Arduino, per avere conferma del fatto che la comunicazione è attiva e che i dati sono in trasferimento dal pc alla scheda, potete vedere lampeggiare sulla scheda Arduino il led Tx/Rx. Quando l’Ide ha ultimato il caricamento del codice, potete vedere il programma in esecuzione su Arduino, il led posizionato sul pin numero 17 comincerà a lampeggiare con un intervallo di un secondo tra l’accensione e lo spegnimento.

Secondo Esempio

In questo secondo esempio andremo ad accedere un led connesso al pin numero 10 di Arduino. Modifichiamo il pezzo di codice utilizzato per il primo esempio, come segue:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//definiamo la variabile di nome LED e stabilisce che 
//è collegata al pin digitale 10 sulla scheda Arduino Uno
int LED = 10;
 
void setup() {
    //impostiamo il pin 10 (Variabile LED) come uscita digitale
    pinMode(LED, OUTPUT);
}
 
void loop() {
    digitalWrite(LED, HIGH); // accendiamo il LED sul pin 10
    delay(2000); // inseriamo in tempo di attesa di un secondo
    digitalWrite(LED, LOW); // spegniamo il LED sul pin 10
    delay(3000); // inseriamo un tempo di attesa di un secondo 
}
Questa volta il programma accenderà il led attenderà per 2 secondi e spegnerà nuovamente il led aspettando 3 secondi prima di riprendere il ciclo di esecuzione. Per eseguire questo codice colleghiamo alla nostra scheda Arduino un led sul pin numero 10 con una resistenza da 220 hom, così come riportato nel seguente schema e nella foto di esempio.
Eseguiamo nuovamente i passi precedenti per compilare e caricare il codice sulla scheda e osserviamo il risultato finale.
L’esempio riportato su questa guida è veramente semplice e rappresenta un punto di partenza per coloro che si avvicinano per la prima volta al modo Arduino.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *