Blink

Negli articoli precedenti abbiamo esaminato le funzioni essenziali per la programmazione di Arduino. Ora non ci resta che utilizzarle per realizzare il nostro primo progetto che, come tradizione vuole quando si inizia ad utilizzare un nuovo strumento e/o linguaggio di programmazione, non può essere altro che il semplice "Hello World!".

Nel caso dei sistemi embedded consiste nel far lampeggiare un led, solitamente già montato sulla board e quindi senza la necessità di ricorrere all’utilizzo di jumper (cavetti).

Codice

Poiché l’inizializzazione di un Pin è un’operazione che va eseguita una ed una sola volta nel corso del programma, possiamo effettuarla all’interno di void setup() nel seguente modo:

void setup(){
   /*Inizializzazione del pin in uscita*/
   pinMode(13, OUTPUT);
}

Per una migliore comprensione del codice e per evitare di utilizzare direttamente valori numerici nelle istruzioni che andiamo a scrivere (in questo caso il valore 13) è consigliato definire una variabile globale ed assegnarle il valore 13 per poi utilizzarla come primo parametro nella funzione pinMode().

int led = 13;

void setup(){
   /*Inizializzazione del pin in uscita*/
   pinMode(led, OUTPUT);
}

Detto ciò, passiamo alla funzione loop() che ci permetterà di eseguire le istruzioni che ci andremo a scrivere all’interno in modo ciclico.

void loop(){
   digitalWrite(led, HIGH);    /*Led accesso*/
}

Dopo averlo acceso, sfruttando l’istruzione digitalWrite(led,HIGH), il passo successivo è quello di spegnere il led riutilizzando la medesima funzione ma impostando il secondo parametro al valore LOW in questo modo:

void loop(){
   digitalWrite(led, HIGH);    /*Led accesso*/
   digitalWrite(led, LOW);    /*Led spento*/
}

L’ultima cosa che ci manca è garantire che il led rimanga accesso o spento per un certo tempo e per fare questo è necessario utilizzare la funzione delay che ci garantisce un ritardo tra due istruzioni. Essa non fa nient’altro che mettere in "pausa” il programma per un certo tempo (in millisecondi) specificato come parametro.

void loop(){
   digitalWrite(led, HIGH);    /*Led accesso*/
   delay(1000);
   digitalWrite(led, LOW);    /*Led spento*/
   delay(1000);
}

Codice Finale

int led = 13;

void setup(){
   /*Inizializzazione del pin in uscita*/
   pinMode(led, OUTPUT);
}

void loop(){
   digitalWrite(led, HIGH);    /*Led accesso*/
   delay(1000);
   digitalWrite(led, LOW);    /*Led spento*/
   delay(1000);
}




Related Posts

Comunicazione Seriale

Blink Esterno

Most Read

Cos'è Arduino?

Arduino IDE

Setup() & Loop()

Funzioni, Variabili e Strutture

Related Posts

Comunicazione Seriale

Blink Esterno

Catagories