Esercizio 1 – Blink

Vai all’indice del corso

Blink

blink

01

02

int led = 13;

Una variabile è un modo per nominare e memorizzare un valore numerico per un successivo utilizzo da parte del programma.

Tutte le variabili devono essere dichiarate prima di poter essere utilizzate. Dichiarare una variabile significa:

  • definire il tipo del valore che può assumere: int, long, float, ecc…
  • assegnare un nome
  • e opzionalmente assegnargli un valore iniziale

queste operazioni vengono fatte una volta sola nel programma, ma il valore della variabile può essere modificato in qualsiasi momento usando l’aritmetica o utilizzando delle assegnazioni.

Nell’esempio che segue viene dichiarato che led è un int, (tipo intero) e che il suo valore iniziale è uguale a 13. Questo è chiamata assegnazione semplice.

Per approfondimenti seguire il link.

Struttura di base di uno sketch

03

La struttura base di un programma Arduino è abbastanza semplice e si sviluppa in almeno due parti. Queste due parti, o funzioni, necessarie racchiudono parti di istruzioni.

Dove setup() indica il blocco di settaggio e loop() è il blocco che viene eseguito. Entrambe le sezioni sono necessarie per far si che uno sketch funzioni.

setup() è la prima funzione ad essere invocata verrà eseguita una volta sola e in essa vengono dichiarate le variabili usate nel programma, è usata per impostare il pinMode o inizializzare la comunicazione seriale.

La funzione loop() contiene il codice che deve essere eseguito ripetutamente, in essa vengono letti gli input, i segnali di output ecc…

Questa funzione è la parte principale di un programma Arduino (sketch), esegue la maggior parte del lavoro.

Per approfondimenti seguire il link.

...
pinMode(led, OUTPUT);
...

pinMode è un’istruzione che dice ad Arduino come usare un determinato pin.

Tra parentesi tonde vengono specificati gli argomenti che possono essere numeri e lettere.

I pin digitali possono essere utilizzati sia come INPUT che come OUTPUT.
Nel nostro caso poiché vogliamo far lampeggiare il diodo LED dobbiamo definire il pin di OUTPUT.

Le parole INPUT e OUTPUT sono costanti definite, che non variano mai nel linguaggio di Arduino.

Per approfondimenti seguire il link.

...
digitalWrite(led, HIGH);
...

L’istruzione digitalWrite possiede due argomenti:

  • il primo definisce il pin,
  • il secondo indica lo stato.

digitalWrite è un’istruzione in grado di impostare un pin definito come OUTPUT ad un valore HIGH o ad un valore LOW, in modo più semplice permette di accendere o spegnere un led connesso al pin specificato nel primo argomento, nel nostro caso LED.

Il ‘pin’ può essere specificato come una variabile o una costante (0-13).

Tenete conto che dire che su un determinato pin vi è uno stato HIGHT, vuol dire che su di esso viene applicata una tensione di +5 V, mentre se lo stato e LOW vuol dire che sul pin è applicata una tensione di 0V.

Per approfondimenti seguire il link.

delay(1000);

delay() è un’istruzione che interrompe per un determinato tempo l’esecuzione del programma.

L’istruzione ha un solo argomento numerico che indica il numero di millisecondi di attesa.

Con “delay(1000)” il programma si bloccherà per 1000 millisecondi ovvero 1 secondo.

Per approfondimenti seguire il link.

Esercizi

Esercizio 1

Variate il tempo di accensione e spegnimento, con tempi uguali di accensione e spegnimento (superiore ad 1 secondo).

Esercizio 2

Variate il tempo di accensione e spegnimento, con tempi diversi di accensione e spegnimento (superiore ad 1 secondo).

Esercizio 3

Provate ad eseguire il programma con tempi di accensione e spegnimento del LED con tempi di:

  • 500 ms
  • 250 ms
  • 100 ms
  • 50 ms

Verificare cosa accade al diminuire del tempo di accensione e spegnimento.