No products in the cart.
Todos hemos ido por la calle y hemos visto esas luces de colores brillantes y elegantes: los LEDs. En este tutorial veremos teoría sobre LEDs, algo de PWM y un ejemplo con Arduino para aprender a controlarlos.
Los podemos encontrar en dispositivos electrónicos para indicar un estado (por ejemplo, encendido o apagado), en sistemas de iluminación, en juguetes, semáforos, etc. Recientemente, la aparición de los LEDs blancos ultrabrillantes les han abierto el mercado en aplicaciones de iluminación por su alta eficiencia energética.
Los LED’s
Un LED (del inglés light emmiting diode) es un tipo de diodo. Los diodos son dispositivos que se caracterizan por dejar pasar la corriente en un solo sentido. Cuándo se aplica una tensión suficiente a un LED, la corriente fluye a través de él y la energía se libera en forma de fotones de luz. La energía contenida en un fotón de luz es proporcional a su frecuencia, es decir, a su color.
Los LEDs más comunes son los de dos patas:
La anatomía del LED
El Ánodo se conecta dónde tengamos más voltaje, y el cátodo dónde haya menos. La corriente fluye en una dirección, desde el ánodo (positivo) al cátodo (negativo).
Podemos encontrar LEDs de muchas formas y colores diferentes. Por ejemplo, podemos clasificar los LEDs según el diámetro (3mm, 5mm, 10mm), o según el color.
Los LED se nos presentan en diferentes formas.
El color que emiten los LEDs depende del material que están hechos:
En función del color del LED, cambia la tensión necesaria para hacer que se “pinte”. Por ejemplo, para un LED rojo, necesitaremos aplicarle una tensión de 1,8V, mientras que para uno azul, necesitaremos hasta 3,6V.
En cuanto al tamaño, cuanto mayor sea el diámetro del LED, mayor visibilidad tendrá el mismo, pero en cambio también pesarán un poco más. En cuanto al brillo, si pensamos en aplicaciones de iluminación tendremos que hacernos con LED’s de al menos 5mm, y si pensamos en aplicaciones dónde el LED sirva de indicación, el apropiado es el LED de 3mm.
La popularidad de los LEDs no solo se debe a sus funcionalidades, sino también a un conjunto de ventajas que tratamos de enumerar:
Primero de todo, NUNCA CONECTAR UN LED SIN UN RESISTOR. Si no conectamos el resistor, corremos el riesgo de destruir el LED, especialmente aplicando altos voltajes. Además conviene recordar que cuando lo conectemos a una fuente de tensión:
Debemos conectar una resistencia. Si no conectamos la resistencia, destruiremos el LED ya que haremos que pase demasiada corriente a través del mismo.En la hoja de características – datasheet en inglés-, nos tiene que aparecer una curva V-I como la siguiente:
La región pintada en negro es la región en la cual opera el LED, que quiere decir que si le aplicamos al LED una tensión y una corriente dentro de la región pintada, funcionará sin problemas. Por ejemplo, supongamos que decidimos aplicar la tensión y corriente que hemos pintado en rojo:
Con las condiciones anteriormente expuestas el LED funcionará acorde a sus especificaciones.
Supongamos que tenemos una pila de 9Vdc y decidimos que el LED opere bajo las condiciones anteriores. ¿Qué resistor me hará falta? La mejor manera de encontrar el valor del resistor es siguiendo la ley de Ohm:
Circuito ejemplo.
En nuestro caso tenemos que poner una Resistencia de 360Ω. Si ponemos un resistor menor, la intensidad aumentará y si ponemos un resistor mayor, la intensidad bajará.
El brillo que nos proporcione el LED también es modificable según la corriente que apliquemos. En el datasheet del LED también podemos encontrar una curva como ésta:
Para llevar a cabo el tutorial que planteamos utilizaremos el siguiente material:
El software que necesitaremos es:
Haremos un experimento con 3 LEDs: Uno de 10 mm azul, uno de 5mm rojo y uno de 3mm verde. Ya hemos visto que necesitaremos poner resistores en serie a cada LED. El valor que se necesitará para cada uno es:
En el ejemplo haremos que se incremente el brillo de los 3 LEDs (aumentando la intensidad por medio de regular ciclos PWM), y luego decrementar el brillo de los 3 LEDs. El esquema es el siguiente:
Esquema
Vamos a programar el siguiente código en Arduino que nos provocará un “fading” de los 3 LEDs muy rápidamente:
//Opiron Electronics // www.opiron.com // by A.Girod @ girodanton@gmail.com // Codigo de fading de 3 LEDS rojo, verde y azul usando PWM /// /// Programa inspirado en el código de Clay Shirky // Salidas int Pinverde= 9; // LED Verde conectado al pin 9 int Pinrojo = 10; // LED Rojo conectado al pin 10 int Pinazul = 11; // LED Azul conectado al pin 11 // Variables para modular ciclos PWM int Valverde = 1; int Valrojo = 1; int Valazul = 1; int i = 0; // Loop counter void setup() { pinMode(Pinverde,OUTPUT); //Definimos los pines como salidas pinMode(Pinrojo, OUTPUT); pinMode(Pinazul, OUTPUT); } void loop() { for (i = 0; i < 255; i++) { // Incremento PWM, 0 es apagado y 255 es encendido Valverde+=1; Valrojo+=1; Valazul+=1; analogWrite(Pinverde, Valverde); analogWrite(Pinrojo, Valrojo); analogWrite(Pinazul, Valazul); delay(1); // Esperamos 10ms } for (i = 255; i > 0; i--) { // Decremento PWM, 0 es apagado y 255 es encendido Valverde-=1; Valrojo-=1; Valazul-=1; analogWrite(Pinverde, Valverde); analogWrite(Pinrojo, Valrojo); analogWrite(Pinazul, Valazul); delay(1); // Esperamos 10ms } }
Si os fijáis los tres LED aumentan y decrementan el brillo constantemente.
Finalmente, haremos otra pequeña prueba que consistirá en encender y apagar los 3 LEDs sin modular la corriente, como en el ejemplo “Blink” de Arduino.
// www.opiron.com // by A.Girod @ girodanton@gmail.com // Codigo "Blink" a LEDS rojo, verde // Programa inspirado en el código ejemplo "Blink" // Salidas int Pinverde= 9; // LED Verde conectado al pin 9 int Pinrojo = 10; // LED Rojo conectado al pin 10 int Pinazul = 11; // LED Azul conectado al pin 11 void setup() { pinMode(Pinverde,OUTPUT); //Definimos los pines como salidas pinMode(Pinrojo, OUTPUT); pinMode(Pinazul, OUTPUT); } void loop() { digitalWrite(Pinverde, HIGH); // encendemos los 3 leds digitalWrite(Pinrojo, HIGH); digitalWrite(Pinazul, HIGH); delay(500); // esperamos medio segundo digitalWrite(Pinverde, LOW); // apagamos los 3 leds digitalWrite(Pinrojo, LOW); digitalWrite(Pinazul, LOW); delay(500); // esperamos medio segundo }
Agradecemos tu feedback cuando has leído un tutorial, y puedes hacerlo de diferentes maneras:
El tutorial y su contenido – texto, imágenes y código- están bajo licencia Creative Commons Attribution-ShareAlike 3.0 License.
.