Categories: Arduino

Blink, il nostro primo sketch con Arduino

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.

Sketch

É 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.

Arduino Uno originale

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.

Input e output

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.

Acceso/spento, 1/0, HIGH/LOW

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.

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);

Lo facciamo lampeggiare?

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.

Led esterno

Ora vedremo come far lampeggiare un led utilizzando un led esterno. È necessaria una resistenza per proteggere il nostro amato Arduino e il led.

Resistenze

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.

Arduino, una breadboard, una resistenza da 270 ohm e un led rosso

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

Alessandro Oppo

Alessandro è un milanese che vorrebbe scappare da Milano, è appassionato di informatica ma vorrebbe vivere senza telefono, è un artigiano eppure vorrebbe robotizzare tutto, impara una cosa e già vorrebbe studiare dell’altro. Autodidatta da sempre, gli piace sbattere la testa finché tutto non funziona come vuole lui, spesso ci riesce anche! Visita il suo blog personale alexoppo.com Il motto che si ripete dentro la testa è: “Se ci sono riusciti gli altri ci posso riuscire anche io”.

View Comments

Recent Posts

Ponti sospesi: cosa abbiamo sbagliato? cosa si potrebbe fare?

Poco prima di Natale ho avuto la fortuna di poter partecipare a un evento chiamato…

4 mesi ago

Siamo quel che facciamo? – racconto breve

Armando quel giorno era particolarmente stanco. Tutto, per quanto andasse bene, sembrava metterlo sotto pressione.…

9 mesi ago

Il limite è sempre la mente – Racconto breve

Armando guardò l’orologio e vide il proprio riflesso sul quadrante bianco. Il riflesso però non…

10 mesi ago

L’ultimo giorno del carcere – Racconto breve

I muri sono muri, lo sono sempre, anche quando le porte sono aperte. Era la…

10 mesi ago

Riflessioni sul carcere

Pochi di noi riflettono sull’esistenza nella nostra società del carcere. Il carcere è la concretizzazione…

12 mesi ago

Come dovremmo dialogare secondo me

Spesso intraprendiamo delle conversazioni e delle chiacchierate piuttosto inconsapevolmente. Voglio dire che non siamo molto…

12 mesi ago