0.00(0 items )

No products in the cart.

Todo sobre Leds y Arduino by Opiron

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

¿Cómo funciona?

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.

La anatomía del LED

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).

¿En qué formas podemos encontrar LEDs?

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.

  • Leds de 3mm: Son los más pequeños pero menos brillantes que los de 5mm. Se usan para indicación (encendido / apagado)
  • Leds de 5mm: Son los más brillantes y los más típicos. Se usan para iluminación.
  • Leds de 10mm : Son los más grandes y menos comunes y pueden ser usados para indicación e iluminación.

El color que emiten los LEDs depende del material que están hechos:

Cuadro Color vs Material vs Vf

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.

¿Qué LED compro?

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.

Ventajas de los LEDs

La popularidad de los LEDs no solo se debe a sus funcionalidades, sino también a un conjunto de ventajas que tratamos de enumerar:

  1. Bajo coste.
  2. Larga vida útil (> 50.000 horas).
  3. Alta eficiencia energética.
  4. Bjo consumo, < 13W.
  5. Tamaño reducido.

Conexión de un LED a electricidad

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:

  • El ánodo tiene que ir conectado al positivo de la fuente.
  • El cátodo a tierra.

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:

Gráfico

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:

  • V= 1.8V
  • I= 20 mA

Con las condiciones anteriormente expuestas el LED funcionará acorde a sus especificaciones.

¿Qué resistor pongo?

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:

Esquemático

Circuito ejemplo.

  • Vcc= I·R + Vled (1)
  • 9=0.02·R+1.8
  • 7.2=0.02·R
  • R = 7.2/0.02 = 360Ω

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

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:

Tutorial

Hardware necesario

Para llevar a cabo el tutorial que planteamos utilizaremos el siguiente material:

Software necesario

El software que necesitaremos es:

Pasos a seguir

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:

  • Led Verde-> 200 Ohm
  • Led Rojo->  200 Ohm
  • Led Azul->  100 Ohm

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

Código 1: Fading

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.

Código 2: Blink

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

Agradecemos tu feedback cuando has leído un tutorial, y puedes hacerlo de diferentes maneras:

  • Si te ha gustado el tutorial te agradecemos que lo compartas con la comunidad de usuarios.
  • Si tienes dudas respecto al tutorial, contacta con nosotros mediante el foro.
  • Si te gustaría recibir formación relacionada con Programación, Arduino, etc, podemos ayudarte, contacta con nosotros mandando un correo a info@opiron.com.
  • Si tienes alguna sugerencia de mejora, o simplemente te gustaría subir un tutorial a nuestra web, será bueno para nosotros. Contacta con nosotros en info@opiron.com.
  • ¿Te gustaría participar en nuestro chat en vivo? Todos los viernes estamos en Google Plus. Podrás exponer tus proyectos y conocernos. También te invitamos a seguirnos en Facebook twitter.
  • Si necesitas un componente y te gusta lo que hacemos, visita nuestra tienda.

El tutorial y su contenido – texto, imágenes y código-  están bajo licencia Creative Commons Attribution-ShareAlike 3.0 License.

Entradas relacionadas

.