Come collegare un LED esterno al tuo Arduino

Sep 14, 2020

Lo leggi in 9 minuti

Una guida dettagliata su come collegare LED e altri dispositivi passivi al tuo Arduino Uno e sui semplicissimi circuiti che dovresti conoscere per partire con il piede giusto.

Come collegare un LED esterno al tuo Arduino


Le cose pratiche che affronteremo in questa breve guida sui LED e le Resistenze


Se hai già letto la mia guida completa alla scelta di Arduino e acquistato il prodotto scelto su amazon.it o arduino.cc, sarai certamente riuscito a lanciare le prime brevi applicazioni con sensori e LED interni.
In quest post ci occuperemo invece di collegare LED e sensori esterni ad Arduino e dei circuiti non banali che ci serviranno sempre nella Robotica e nella Elettronica Digitale in genere.

In particolare vedremo come gestire le operazioni di input e output con le porte digitali di Arduino.


I componenti che ci serviranno per la nostra realizzazione


Arduino uno

una qualsiasi scheda Arduino Uno compatibile


Per scegliere il tuo Arduino fai riferimento a questo post del blog, in ogni caso ricorda che puoi segliere senza problemi anche una versione "basic" come la "Uno R3".

Notebook

Una Breadboard per il montaggio senza saldature



Nei vecchi montaggi lo stagno per il saldatore e la pasta salda erano la base per collegare i componenti. Saldare comunque non è una tecnica che si può apprendere in pochi giorni e gli appassionati hanno sempre cercato sistemi alternativi. Le Breadboard sono, fino ad oggi, la soluzione migliore. Se vuoi approfondire adesso leggi questo post del blog.

Notebook

resistenze di vario tipo meglio se in kit, una da 220 Ω e una da 2.2 KΩ



Le resistenze sono immancabili in qualsiasi circuito, anche il più semplice e disporre di tutta la serie dei valori possibili è un grosso vantaggio. Il costo dei kit è così basso che comprarle in blocco è una scelta inevitabile. Nella elettronica digitale si usano in genere resistenze di 14 di watt.

Notebook

Alcuni LED, meglio se in confezione multipla



Costano così poco che per loro vale lo stesso discorso fatto per le resistenze: conviene comprare un kit. A differenza delle resistenze sono componenti abbastanza fragili e per “bruciarli” basta collegarli ad una batteria di 9V senza resistenze intermedie. (Non fatelo!). Un motivo in più per comprarle in una bella serie multicolore.

Notebook

Connettori vari - Jumpers per breaboards



I connettori standard o Jumpers sono il completamento ideale delle Breadboard. Accertati di comprare prodotti di buona qualità altrimenti l’eventuale risparmio si tradurrà in ore di lavoro perse per un singolo filo spezzato.

Se hai già tutti i componenti procedi alla sezione successiva, altrimenti acquistali su Amazon o su un altro sito e continua successivamente. Non avere troppa fretta di iniziare ;-).


Scopriamo come usare le Breadboard per assemblare i componenti


Abbiamo già parlato della Breadboard e per non rileggere il post ti ricordo brevemente le cose principali:

Le Breadboard sono composte da 4 linee di rame longitudinali e da numerosi conduttori disposti di traverso, tipo spina di pesce. Nella immagine precedente con la freccia rossa sono evidenziati i fili longitudinali che corrono sul fondo della scheda. Non sono visibili perchè ricoperti da un foglio di cartoncino. La idea di base di queste schede è di usare le linee longitudinali per distribuire la corrente (polo positivo e negativo della batteria o accumulatore), mentre i conduttori trasversali sostituiscono le saldature dei componenti.


Come useremo la Breadboard in questo primissimo progetto




drawing
Iniziamo a collegare il filo giallo che proviene dall’alto e inseriamolo in un foro della prima riga della Breadboard. Si possono inserire fino a 5 componenti elettrici in ognuna delle righe (i 5 fori della riga sono evidenziati in verde) e tutti sarebbero elettricamente connessi al filo giallo. Noi abbiamo aggiunto soltanto una resistenza da 220 Ω.

L’altra estremità delle resistenza è connessa alla quinta riga partendo dall’alto. La resistenza risulta così collegata al connettore del LED. Allo stesso modo il connettore inferiore del LED è connesso ad una estrermità del filo nero e il filo nero arriva fino a un foro della lunga colonna verticale. Le colonne si estendono per tutta la lunghezza della basetta e conducono la corrente di alimentazione.

In questo modo uno qualsiasi dei componenti collegati alle colonne sarà connesso al filo nero. In questo modo si possono fare infiniti circuiti. E possiamo assemblare tutto senza fare saldature.

Qualche cenno sulle resistenze


drawing

Le resistenze si oppongono al flusso della corrente e non hanno un verso particolare; detto in termine tecnico non hanno una polarità. Il loro valore viene determinato dal produttore e indicato attraverso delle minuscole fascette colorate (in genere 4) sul corpo della resistenza. Qui una tabella che permette di calcolare il valore.



Come collegare un LED



In generale i LED (Light Emitting Diodes) sono componenti molto piu complessi delle resistenze, lasciano passare la corrente in una sola direzione e perciò hanno un polo positivo e un polo negativo. Il connettore più lungo è quello positivo e viene chiamato anodo, mentre quello più corto si chiama catodo ed è il polo negativo. Il lato del catodo viene sempre evidenziato con una una tacca “piatta” sul minuscolo contenitore di plastica.


Assembliamo Arduino, LED e resistenza!


Qui sopra lo schema teorico disegnato con Fritzing.

Il circuito è semplicissimo: usa una sola resistenza da mettere in serie al LED per limitare la corrente assorbita.


Così dovrebbe invece apparire il montaggio reale:

Iniziamo a collegare la resistenza al pin 13: la resistenza deve essere di 220 Ω. Le resistenze hanno 4 striscette e piazzando la resistenza in modo da avere la striscia oro a destra dovresti vedere questi colori: rosso, rosso, marrone, oro.

Collega la resistenza all’anodo, cioè il connettore più lungo del LED e quindi collega il terminale più corto del LED alla “massa” (0V) del circuito.

Il polo positivo di un LED si chiama anodo(+), quello negativo catodo(-). L’anodo(+) è sempre più lungo del catodo!

Per collegare il LED alla massa usa un filo nero. In genere per collegare un componente alla massa si usa un filo nero. E’ solo una convenzione, i fili sono internamente tutti uguali.

Per controllare le connessioni elettriche procedi in questo modo: Prendi il filo giallo e collegalo direttamente al pin 5V di Arduino. In questo modo diamo corrente al LED bypassando la parte software del progetto. Per il momento limitiamoci ai collegamenti. Il LED si dovrebbe accendere all’istante: se non si accende il circuito è stato cablato in modo errato. Ricontrolla e se necessario riassembla tutto da zero. Se invece il LED si accende prendi il filo giallo e ricollegalo al pin 13. Adesso puoi fare l’upload del programma!


Adesso che la parte hardware del progetto funziona, vediamo il software

Il programma da caricare su Arduino:

int led = 13;
int buttonPin = 2;
 
int val = 0;
int riferimento = 0;
int state = LOW;
 
void setup(){ 
   pinMode(led, OUTPUT);
   pinMode(buttonPin, INPUT);
}
         
void loop(){ 
   val = digitalRead(buttonPin); 
   if  ((val == 1) && (riferimento == 0)){ 
      if (state == LOW) {
          state = HIGH;
      } 
      else {
          state = LOW;
      }
   } 
    
   riferimento = val;
         
   if (state == LOW){
      digitalWrite(led, HIGH);
   } 
else { digitalWrite(led, LOW); } delay(10); }

Vediamo tutto in modo analitico riga per riga:

 led int = 13 ;

Qui stiamo dichiarando una variabile chiamata led che contiene il numero 13. Nel linguaggio di Arduino bisogna specificare sempre il tipo di variabile: ne esistono di tipo int o di tipo float, così chiamate dall inglese floating, “fluttuante” per indicare i numeri a virgola mobile. In linea di massima per i programmi piu semplico useremo solo degli int, e in questo programma particolare quando Arduino legge la variabile led la converte immediatamente nel valore 13.

Arduino uno
la brevissima funzione setup() ... leggi sotto per capire in dettaglio


setup() è un pezzo molto particolare di codice che viene eseguito solo all’inizio del programma: serve allla scheda Arduino per sapere cosa fare quando viene avviata o viene premuto il tasto di reset. A livello di programmazione non è altro che una funzione, cioè un pezzo di codice isolato con delle parentesi graffe {}. Come per le variabili a volte puo essere utile specificare il tipo. Alcune funzioni ritornano dei valori di tipo float, altre degli int e altre ancora non ritornano alcun valore e sono dette di tipo void.

pinMode(led, OUTPUT);

Guardando la scheda Arduino dall’alto puoi vedere che ci sono due file di fori alle estremità laterali; i fori prendono un nome particolare e sono chiamati pin. I pin che vanno da 0 a 13 sono dei pin digitali e possono funzionare sia in modalità INPUT che in OUTPUT. Noi useremo il pin 13 come output per accendere il LED.

Dopo la funzione setup() inizia una altra funzione:

Arduino uno
la funzione loop() …


La funzione loop, come indica il nome, esegue continuamente le stesse istruzioni e si può considerare la parte principale del codice e in genere la piu complessa.

digitalWrite(led, HIGH);

digitalWrite() accende in OUTPUT uno dei pin. Il primo valore dopo la parentesi è il pin che deve essere acceso, mentre il secondo indica il segnale da inviare. In gergo si dice mettere in HIGH o in LOW. Parlando di corrente quando il pin 13 viene messo in ON inizia a condurre una tensione di 5 V.

delay(1000);

delay() serve solo a fare una pausa di x millisecondi e quindi complessivamente Arduino si ferma per una secondo.

digitalWrite(led, LOW);

digitalWrite(led, LOW) mette in LOW cioè a 0 V il pin 13 e quindi spegnerà il LED.

delay(1000);

E’ lo stesso ritardo di prima 1000 millisecondi e lascerà in pin in OFF per un secondo.

 } 

La parentesi graffa è la fine della funzione loop().


Come installare il programma

Per caricare il programma su Arduino devi andare su File/Nuovo, incollare il programma copiato dal post, andare su File/Salva con nome e scrivere “led10”.
Quindi devi andare su Sketch, Compila/Upload e aspettare che l’IDE di Arduino finisca il suo lavoro.


Un esperimento finale

Avendo testato l’hardware a parte e copiato il programma, a questo punto tutto dovrebbe essere Ok. Se ti senti pronto a provare delle modifiche, prova a cambiare la resistenza di 220 Ω con una da 2.2 kΩ e cioè con 4 strisce rosso, rosso, rosso, oro.

e quindi dai una occhiata al LED!     :-)

Cosa succede? Si accende? Prova tu stesso!


Con piccoli esperimenti come questo puoi imparare la Robotica e la Elettronica digitale passo passo, senza perderti con libroni enormi che puoi comunque studiare in seguito.

Ricorda che l’obiettivo di questo blog è quello di farti appassionare all’argomento e darti gli strumenti di base per lavorare da adesso come tecnico, senza impegnare anni di studio all’università!



Iscriviti ora alla nostra newsletter e dopo avere confermato la tua iscrizione troverai ogni 15 gg nella tua mail un argomento o un progetto pratico da seguire, con la lista dei componenti e il software necessario.

newsletter