Benvenuti su 9minuti, oggi faremo insieme il primo passo con Arduino, ovvero scriveremo il nostro primo programma.
Darò per scontato che abbiate già scaricato e installato l’IDE di Arduino. Se non lo avete ancora fatto vi aspetto qui.
Se avete fatto qualche ricerca in rete avrete visto che tutti quanti cominciano con lo sketch chiamato blink, ovvero un piccolo programma che consente di far lampeggiare un led.
C’è un motivo se viene proposto ai novizi e oggi anche noi lo useremo come primo sketch con Arduino.
Dato che stiamo imparando segniamoci questa parola nel nostro vocabolario mentale.
É il nome che viene dato ai programmi scritti per Arduino. Se vedete un file che si chiama programma.ino quello è uno sketch e lo riconoscete dal .ino alla fine.
Potrebbe chiamarsi Pippo o anche Franco, ma se c’è il .ino alla fine per noi sarà solamente uno sketch.
Io qui vi propongo la mia versione dello sketch Blink, sperando di riuscire a esporla in maniera chiara e senza farvi annoiare troppo.
Dato che è il nostro primo esercizio con Arduino e non vogliamo complicarci troppo la vita, ci concentreremo sulle prima righe di programmazione tralasciando la parte elettronica.
Per prima cosa aprite l’IDE di Arduino, ovvero il programma che avete scaricato dal sito di Arduino o utilizzate il web editor.
Ora vedrete le due principali parti di qualsiasi sketch il setup e il loop.
void setup(){ } void loop(){ }
Iniziano e finiscono dove si apre e dove si chiude la parentesi graffa.
Il setup e luogo dove indicheremo quali PIN di Arduino stiamo utilizzando.
Indice
Input significa che il segnale viene mandato ad Arduino. Ad esempio se noi avessimo un sensore di temperatura e questo inviasse dati al nostro Arduino si tratterebbe di un input. Se invece dovessimo accendere un led o far partire un motore il segnale andrebbe da Arduino al nostro led o al nostro motore: questo è un output.
Se utilizzassimo il PIN 7 in output scriveremmo
pinMode(7, OUTPUT);
Vi faccio notare il punto e virgola alla fine del nostro comando. Fate attenzione perché tutti i comandi ne hanno bisogno e se ne dimenticate uno vi verrà segnato come errore.
E se usassimo il pin 13?
Noi per il nostro primo sketch con Arduino useremo il PIN 13, perché proprio su questo PIN è presente un led. Si tratta di un minuscolo led sulla scheda di Arduino che ha al suo fianco una L. Noi utilizzeremo questo led integrato invece che collegare un altro led esternamente.
Nel setup scriveremo quindi questo codice.
void setup(){ pinMode(13, OUTPUT); }
Per quanto riguarda il loop invece dobbiamo immaginarlo come un ciclo, ovvero i comandi che ci scriviamo all’interno vanno letti in ordine dall’alto verso il basso e arrivati all’ultima riga saliamo di nuovo su fino a leggere la prima e così via.
In un secondo il loop può essere eseguito più di 10.000 volte.
L’informatica non è altro che elettronica e le fondamenta di questa materie coincidono: acceso o spento: passa la corrente o non passa?
Nell’informatica questo si traduce in 1 e 0 oppure in HIGH e LOW come nel caso di Arduino.
Vogliamo accendere il nostro led per cui aggiungiamo al setup le istruzioni del loop.
void setup(){ pinMode(13, OUTPUT); } void loop(){ digitalWrite(13, HIGH); }
Carichiamo lo sketch con l’apposito comando e aspettiamo che l’IDE di Arduino compili lo sketch e lo invii Al nostro microcontrollore.
É un sinonimo per indicare il nostro Arduino. Il termine che ho usato è quello tecnico per indicare il chip che fa da cuore nella nostra schedina blu.
Se avete caricato correttamente lo sketch dovreste vedere il led con a fianco la lettera L che si illumina.
Assieme ai complimenti per il nostro primo sketch con Arduino ti dico anche che avresti potuto scrivere 1 invece che HIGH per ottenere il medesimo risultato.
digitalWrite(13, 1);
Beh ma adesso l’abbiamo acceso proviamo anche a farlo lampeggiare. Senza troppo pensarci potremmo scrivere
digitalWrite( 13, LOW);
sotto il nostro primo comando ma il povero Arduino cercherebbe di spegnere e accendere il led diecimila o più volte in un secondo risultando per noi invisibile.
Dobbiamo quindi inserire un tempo d’attesa fra i due comandi. Questa cosa si fa con il comando delay con specificato il numero di millisecondi della nostra attesa. Se tra i due comandi scrivessi
delay(2000);
significherebbe che, dopo aver eseguito il primo comando e aver acceso il led, Arduino rimane fermo per 2 secondi e poi esegue il comando per spegnere il led. Immediatamente dopo però leggera il comando di accensione e questo vuol dire che il nostro led non farà in tempo a spegnersi che sarà già nuovamente acceso. É quindi necessario inserire un secondo delay() sotto l’ultimo comando. Scriviamo quindi un delay da 1000 millisecondi e carichiamo lo sketch sul nostro Arduino.
Il led dovrebbe accendersi e spegnersi dopo due secondi, rimanere un secondo spento e poi ripartire col secondo giro.
Chiaramente il secondo delay che abbiamo aggiunto lo avremmo anche potuto mettere in cima al loop come primo comando. Avremmo avuto però un piccolo ritardo di un secondo dopo il caricamento dello sketch, ma siccome il loop somiglia tanto ad un cane che si morde la coda, non avremmo riscontrato differenze visibili.
Ora vedremo come far lampeggiare un led utilizzando un led esterno. È necessaria una resistenza per proteggere il nostro amato Arduino e il led.
Sono quelle specie di wurstel di colore solitamente blu con striscie di vernice colorata che sembra salsa. Il tutto è infilzato da un minuscolo spiedo. C’è un motivo se usiamo quella da 270ohm ma non lo vedremo oggi. Si tratta di un valore ricavato con la legge di ohm.
Per il momento fidiamoci.
Attenzione alle gambe del led. Il lato più lungo va sul rosso perché è il lato positivo.
Ove possibile utilizzate i cavetti neri o scuri per il gnd, ovvero la terra, e il rosso o altri colori per il più che partirà quasi sempre dalla colonna dei tredici pin digitali.
Il nostro primo sketch con Arduino è andato alla grande, spero che il tutorial vi sia piaciuto e che lo vogliate condividere sui vostri social network per aiutarmi nel mantenere il sito web. Se c’è qualche domanda che vorresti farmi o se hai riscontrato problemi, o ancora se avessi suggerimenti ti chiedo di non esitare a scriverlo nei commenti.
Grazie e alla prossima,
Alessandro
Poco prima di Natale ho avuto la fortuna di poter partecipare a un evento chiamato…
Armando quel giorno era particolarmente stanco. Tutto, per quanto andasse bene, sembrava metterlo sotto pressione.…
Armando guardò l’orologio e vide il proprio riflesso sul quadrante bianco. Il riflesso però non…
I muri sono muri, lo sono sempre, anche quando le porte sono aperte. Era la…
Pochi di noi riflettono sull’esistenza nella nostra società del carcere. Il carcere è la concretizzazione…
Spesso intraprendiamo delle conversazioni e delle chiacchierate piuttosto inconsapevolmente. Voglio dire che non siamo molto…
View Comments
Ciao Alessandro,
Complimenti spieghi in modo semplice e chiaro
Grazie Andrea!