#1 Il primo Sketch

Ovvero come far lampeggiare un led

Oggi inizieremo a prendere confidenza con la programmazione di Arduino, inizieremo con un piccolo sketch che farà lampeggiare un led, cosi da iniziare a capire la differenza tra la parte setup e loop dello sketch ed i primi comandi che possiamo dare ad Arduino.
Il software necessario, come detto nella lezione in cui vi spiegavo come programmare Arduino troverete in questo link

Mentre per la parte hardware vi occorre, ovviamente Arduino

una resistenza da 270 Ω, io vi consiglio questo kit che contiene tutto il necessario per lavori futuri, ha anche una breadboard ed i cavi di collegamento.
un led del colore che più vi piace
Basetta di prova BreadBoard

In questo caso visto il tipo di sketch se non avete la resistenza o il led, potete sfruttare il led integrato su Arduino, infatti la scheda presenta un led collegato al pin 13.

Una volta scaricato il software, apritelo, come potete vedere nella parte in alto troviamo alcuni pulsanti, mentre sotto troviamo una parte bianca in cui scrivere;  il software già divide in maniera chiara la parte setup e loop, di cui abbiamo parlato in lezione precedente.

Noterete che oltre alle righe void setup(){} e void loop(){}, vi sono altre due righe che iniziano con //
queste potete cancellarle tranquillamente sono due righe di commento.

Nella parte seutp, inseriremo le istruzioni di configurazione, quindi in questo tutorial, inseriremo le istruzioni per configurare il pin 13, useremo il pin 13 così da sfruttare anche il led incorporato su Arduino, diremo alla scheda che il pin, dovrà fornire informazioni e non riceverle, ma come si scrive in linguaggio Arduino?

Rispettate perfettamente il metodo di scrittura seguendo maiuscole e minuscole come ho fatto io, altrimenti non verrà riconosciuto da Arduino.
Il comando pinMode necessita di due parametri il numero del pin 13 e il suo stato, in questo caso OUTPUT perché serve che sia in uscita, viceversa se volevamo leggere dei dati dal pin lo impostavamo come INPUT.

Finita la parte setup, passiamo alla parte loop, inizieremo a dire cosa deve fare Arduino sul pin 13, come abbiamo detto noi vogliamo far lampeggiare un led.

Analizziamo anche questa parte di sketch, come detto nella lezione precedente, la parte loop dice ad Arduino cosa fare e lo farà ciclicamente finché non verrà spento.
In questo caso stiamo dicendo alla scheda di accendere (HIGH), il pin 13.
Ma così Arduino accenderà il led, ma non lo farà lampeggiare, quindi come otterremo il lampeggio?
Aggiungendo una pausa prima del comando successivo, che nel nostro caso sarà spegni il pin 13.

Cosa abbiamo aggiunto allo sketch?
Abbiamo solo aggiunto una pausa con il comando delay() e poi un successivo comando uguale al precedente, ma questa volta dicendo ad Arduino che il pin deve essere spento, in pratica Arduino accenderà il pin 13, aspetterà 1 secondo e poi spegnerà il pin.
Questa serie di comandi verrà ripetuta all’infinito finché non staccheremo l’alimentazione alla scheda.

Prima di seminare il tutorial, una breve spiegazione su delay.
Delay è un comando per inserire una pausa tra un comando ed un altro, il valore tra parentesi è il tempo espresso in millisecondi della durata della pausa, per capire meglio come funziona il delay, vi consiglio di variare il valore aumentandolo o diminuendolo per ottenere un lampeggio più lento o più veloce.
Prima di concludere scriviamo lo sketch in maniera completa, inserendo nelle righe anche dei commenti da promemoria, questi andranno sempre inseriti dopo // oppure dovranno essere scritti tra /* e */

Se avete scritto lo sketch in maniera corretta vedrete lampeggiare il led.
Qualora vogliate montare il led e la resistenza sulla breadboard, vi riporto sotto lo schema.

Guarda il tutorial su YouTube

/ 5
Grazie per aver votato!

Allegati

2 Risposte a “#1 Il primo Sketch”

  1. Salve
    volevo chiedere un consiglio per quanto riguarda uno sketch….lo posto qui percheè non trovo dove chiedere….premetto che non me ne intendo di arduino e vorrei usarlo per il modellismo..ho trovato questo sketch..e vorrei modificarlo in modo tale che dopo un tot.tempo i led si spengano per poi riaccendersi nel ciclo successivo….scusate il disturbo…ecco:
    // Indico le variabili globali
    int Tempo = 160;
    int TmpRandom = 160;
    int Giallo_1 = 11;
    int Rosso = 10;
    int Giallo_2 = 9;

    // Settaggi pin di arduino
    void setup()
    {
    pinMode(Giallo_1, OUTPUT); //Led giallo1 come uscita
    pinMode(Rosso, OUTPUT); //Led rosso come uscita
    pinMode(Giallo_2, OUTPUT); //Led giallo2 come uscita

    }

    void loop() {

    //imposta l’uscita con un livello a caso da 0 a 160 come da variabili impostate

    analogWrite(Giallo_1, random(TmpRandom)+Tempo);
    analogWrite(Rosso, random(TmpRandom)+Tempo);
    analogWrite(Giallo_2, random(TmpRandom)+Tempo);
    delay(random(80));

    }

    1. Ciao Massimiliano, se ho capito bene tu vuoi ottenere un lampeggio con il tempo di ON e di OFF stabilito o random deciso da Arduino?

      Per prima cosa il tuo sketch è scritto male, Giallo_1, Rosso, Giallo_2 sono variabili e non nomi dati ai pin, io scriverei cosi:
      #define Giallo_1 11

      Poi non userei il comando analogWrite ma digitalWrite.
      Inoltre non hai definito la variabile random.

      se il tempo è stabilito puoi provare così:
      void loop(){

      digitalWrite (Giallo_1, HIGH);
      delay (500) //tempo acceso per mezzo secondo
      digitalWrite (Giallo_1, LOW);
      delay (500) //led spento per mezzo secondo
      }

      chiedi pure se hai dubbi 🙂

Lascia un commento

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