Oggi vediamo come accendere e spegnere un led con arduino.
Per prima cosa vi consiglio di leggere anche l’articolo introduttivo all’input/output di Arduino. Questi concetti base sono estendibili anche ad altri micronontrollori più o meno evoluti.
Il codice di base:
/*
LED Lampeggiante (Author: Matteo Dalle Feste - matteo@dallefeste.com - info@ciaobit.com - https://ciaobit.com )
Libero utilizzo a fini non commerciali e mantenendo i crediti dell'autore
You can use this script for free. Not for commercial use. Keep author credits
*/
// Dichiaro la variabile LED un numero intero che corrisponde al pin digitale di Arduino/Genuino
int LED = 7;
// definisco il Pin LED come OUTPUT
void setup() {
pinMode(LED, OUTPUT);
}
// Ripeti queste istruzioni all'infinito:
void loop() {
digitalWrite(LED, HIGH); // Accendo led
delay(1000); // Aspetto 1000ms = 1secondo
digitalWrite(LED, LOW); // Spengo il led
delay(1000); // Aspetto 1000ms
}
Arduino e i LED pilotati direttamente
Per capire se Arduino può alimentare direttamente un led, bisogna verificare le specifiche tecniche del modello di Arduino in uso e le specifiche tecniche del led.
In base al modello di Arduino possiamo definire la corrente massima che possiamo prelevare da un pin di output:
Modello | Livello logico | Corrente per I/O pin |
---|---|---|
Arduino/Genuino Uno | 5V | 40mA |
Arduino/Genuino 101 | 3.3V | 20mA |
Arduino/Genuino Zero | 3.3V | 7mA |
Arduino/Genuino Mega 2560 | 5V | 20mA |
Solitamente i piccoli led colorati, quelli da 3mm, 5mm per intenderci, possono essere alimentati direttamente da Arduino.
Come precedentemente accennato, i valori vanno sempre verificati al momento dell’acquisto leggendo le specifiche tecniche del componente (chiamate anche datasheet in inglese).
Segue una tabella di riferimento dei led più comuni con i relativi valori indicativi.
Colore | Lunghezza d’onda (nm) |
Tensione (V) |
Corrente (mA) |
Resistenza minima a 5V |
Resistenza minima a 3.3V |
---|---|---|---|---|---|
Infrarosso | λ > 760 | 1.4 – 1.6 | max: 50 | 82Ω – 1/2w | 39Ω – 1/4w |
Rosso | 610 < λ < 760 | 1.8 – 2.2 | cons: 16-18 max: 20 |
180Ω – 1/8w | 82Ω – 1/8w |
Arancione | 590 < λ < 610 | 1.8 – 2.2 | cons: 16-18 max: 20 |
180Ω – 1/8w | 82Ω – 1/8w |
Giallo | 570 < λ < 590 | 1.8 – 2.2 | cons: 16-18 max: 20 |
180Ω – 1/8w | 82Ω – 1/8w |
Verde | 500 < λ < 570 | 1.8 – 2.2 | cons: 16-18 max: 20 |
180Ω – 1/8w | 82Ω – 1/8w |
Blu | 450 < λ < 500 | 3.0 – 3.4 | max: 30 | 68Ω – 1/8w | 10Ω – 1/8w |
Viola | 400 < λ < 450 | 3.0 – 3.6 | cons: 16-18 max: 20 |
100Ω – 1/8w | 15Ω – 1/8w |
Ultravioletto | 380 < λ < 400 | 3.3 – 3.6 | cons: 16-18 max: 20 |
100Ω – 1/8w | Nessuna |
Bianco | Ampio spettro | 3.2 – 3.4 | cons: 16-18 max: 20 |
150Ω | Nessuna |
Un esempio di collegamento con Arduino UNO potrebbe essere questo:
Arduino e i mosfet per pilotare le LED strip
Le strisce a LED, chiamate anche LED strip, sono dei led messi in serie solitamente a gruppi di 3 elementi. I led, per funzionare correttamente, dovrebbero essere alimentati in corrente e non in tensione. Tuttavia queste strisce a led sono limentate in tensione. Per questo motivo, ad ogni gruppo di led ha una resistenza che ne limita il passaggio di corrente. La striscia ha dei punti dove è possibile tagliarla, questo permette di sceglierne la lunghezza.
Esistono diverse tipologie di strsce a LED. Le principali differenze sono:
- la marca/modello del LED
- la densità di led per metro lineare
- l’eventuale resina di rivestimento che la rende più o meno resistente alle intemperie
Le strisce a led sono solitamente alimentate a 12VDC, ovvero 12 volt in corrente continua (non alternata!). Serve quindi un alimentatore Switching che deve essere dimensionato in base alla striscia a led e alla sua lunghezza.
In questo esempio prendiamo un metro di striscia a led SMD5630. il circuito è simile a quello visto in questo progetto di domotica, con qualche lieve differenza.
Se ti piace l’articolo condividilo sui social! Iscriviti alla pagina facebook e alla newsletter per restare sempre aggiornato sulle novità di Ciaobit.com