Lo usiamo così abitualmente che lo diamo per scontato: perché utilizzare un resistore da 220 Ω per far accendere un LED?
Tra i primi compiti che impariamo a svolgere con Arduino c’è l’accensione di un LED. Così impariamo tutti a programmare con la dev-board più conosciuta al mondo. Tutte le guide che troviamo, compresa la nostra che trovate a questo LINK, ci mostrano come collegare il LED ad Arduino UNO tramite un resistore, tuttavia non si spiega mai perché è proprio necessario un resistore da 220Ω. Oggi ve lo spieghiamo noi.
Per spiegarvi perché adoperare questo resistore sarà prima necessario tirare fuori un po’ di studi fatti alle scuole superiori; dovremmo infatti rimembrare la prima legge di Ohm, all’interno della quale troviamo la formula:
V indica la tensione o differenza di potenziale, ossia il lavoro necessario per separare due cariche che misuriamo in Volt(V), R invece indica la resistenza, ossia la proprietà dei resistori di opporsi al passaggio di corrente elettrica, misurata in Ohm(Ω), I corrisponde alla corrente elettrica che misuriamo in Ampere(A). Appare evidente che conoscendo la tensione e l’intensità di corrente possiamo ricavare il valore della resistenza, adoperando la formula inversa:
Non ci resta che adoperare questo principio al circuito che usiamo su Arduino. Scegliendo un pin digitale qualsiasi, colleghiamo il nostro resistore, un LED e poi chiudiamo collegando al Ground.
Per i non addetti ai lavori, ricordiamo che il LED è un diodo a emissione di luce, quindi ha una polarità. Il polo positivo (anodo) del LED è riconoscibile dal pin di collegamento più lungo, mentre il negativo (catodo) è più corto.
Sappiamo che il segnale digitale emesso da Arduino ha una tensione di 5V, mentre le informazioni relative al LED possiamo ottenerle cercando nel relativo datasheet. Non tutti i LED però sono uguali; nel caso del LED rosso, quello che adopereremo per i nostri calcoli, la tensione è di circa 1,8V, mentre il LED di colore bianco richiede ben 3,5V di tensione.
Colore | Tensione |
---|---|
Rosso | ≈1,8V |
Giallo | ≈2,2V |
Verde | ≈2,4V |
Blu | ≈3,0V |
Bianco | ≈3,5V |
Infrarosso | ≈1,3V |
Tutti i LED però adoperano una corrente di circa 20mA. Anche questo dato lo possiamo ricavare dai datasheet. Avendo a disposizione tutti questi dati, possiamo procedere con il calcolo della resistenza. Comprendiamo facilmente che se fornissimo i 5V direttamente al LED, che come abbiamo visto ne richiede 1,8V, esso si danneggerà irrimediabilmente, pertanto dobbiamo abbassare questa tensione. Questo è il lavoro che il nostro resistore dovrà svolgere. Calcoliamo così la differenza di potenziale elettrico, sottraendo ai 5V di Arduino gli 1,8V necessari per il LED.
Se VA è 5 e VL è 1,8, la nostra differenza di tensione (V) sarà corrispondente a 3,2V. Chiariamo che il simbolo V che utilizziamo è meramente informale, visto che sarebbe più corretto adoperare ΔV, trattandosi di una differenza. Il prossimo passo sarà convertire l’intensità di corrente, espressa in milliAmpere, portandoli in Ampere:
Passiamo a svolgere i calcoli necessari per calcolare la resistenza richiesta:
Il risultato ottenuto sarà 160Ω, non esattamente quello che ci aspettavamo. In effetti è abbastanza distante dai 220Ω adoperati in molti esempi. Come è possibile questo? La risposta è molto semplice: i resistori da 160Ω non sono disponibili sul mercato, quindi la scelta ricade sul valore prossimo disponibile in mercato, ovvero 220Ω. Deduciamo anche un’altra cosa da questa affermazione: è altamente sconsigliabile adoperare valori inferiori rispetto a quelli calcolati, poiché un resistore dotato di una minore resistenza si danneggerà velocemente e potrebbe causare anche danni all’intero circuito.
Se volete provare anche voi a pilotare il vostro LED con Arduino, ecco la lista dei materiali necessari:
- Arduino UNO: https://amzn.to/2LjKWvg
- Arduino UNO (clone): https://amzn.to/2LfJhH0
- LED: https://amzn.to/2Wl9YAv
- Resistenze da 220 OHM: https://amzn.to/3bku2qR
- Jumper: https://amzn.to/3dH3Mc1
- BreadBoard: https://amzn.to/2WMJ3fR