LED

Come accendere e spegnere un LED con Arduino?

Nell’articolo di oggi iniziamo le prime lezioni basilari su come adoperare Arduino UNO e inizieremo con accendere e spegnere un LED. Premettiamo che Arduino UNO è già dotato di un LED integrato, connesso al pin digitale 13, ma ne utilizzeremo comunque uno per mostrare il collegamento.

Cosa Serve?

Per eseguire questo primo tutorial avremo bisogno di un Arduino UNO o un clone, un LED ed una resistenza da 220 OHM. La resistenza è importante perchè Arduino UNO utilizza i 5V come tensione di lavoro e dobbiamo necessariamente abbassare la tensione per evitare danni al LED. Per chi non lo sapesse, essi sono DIODI A EMISSIONE DI LUCE che necessitano di un corretto posizionamento per funzionare; non temete però se lo posizionate nel modo scorretto: esso non si accenderà e basterà riposizionarlo nella giusta posizione affinché funzioni. Per effettuare bene i collegamenti è altamente consigliato l’uso dei jumper (cavi di connessione) e una breadboard (la scheda forata). In basso la lista dei materiali da acquistare su Amazon:

Collegamenti

Adesso che abbiamo tutto il necessario, iniziamo collegando il tutto come riposato nello schema sottostante. Collegheremo il LED al pin 13 di Arduino, fornendogli corrente a 5V da questo pin e collegando l’altra estremità del LED al Ground (GND).

LED

In blu il cavo che porta la corrente dal pin 13, mentre in nero il cavo connesso al GND. Come si vede, la resistenza va posta tra il pin e il nostro diodo a emissione di luce. Potete anche osservare come sia presente “L” proprio accanto al simbolo di Arduino posto sulla scheda: questo è il LED integrato. Accenderemo sia quest’ultimo che quello collegato alla breadboard contemporaneamente.

Codice

Il codice è abbastanza semplice e potete copiarlo e incollarlo così com’è. Ricordatevi che per Delay si intendono le attese e che il la funzione digitalWrite ha solo due opzioni (HIGH o LOW) per accendere o spegnere il LED:


// la funzione setup esegue una volta sola il codice
void setup() {
pinMode(13, OUTPUT); // Impostiamo la direzione del PIN 13 su OUTPUT perchè emetta un segnale
}

// la funzione LOOP ripete all'infinito le operazioni
void loop() {
digitalWrite(13, HIGH); // Accende il LED portando la tensione a 5V(HIGH)
delay(1000); // attesa di 1 secondo
digitalWrite(13, LOW); // Spegne il LED portando la tensione a 0V (LOW)
delay(1000); // attesa di 1 secondo

Il LED collegato al pin 13 si accenderà, restando così per 1 secondo, poi si spegnerà per altri 1000 millisecondi e poi ritornerà ad accendersi. Ricordate che 1 secondo corrisponde a 1000 millisecondi e che i Delay si misurano proprio secondo questa unità.