Leds RGB sometidos a vista de rayo láser
Aloha novatillos del mundo electrónico! Las bombillas led multicolor controlables desde los teléfonos móviles nos invaden. Todo hijo de vecino ha sacado ya a la venta su modelo en internet.
Estas bombillas no son más que leds RGB. Estos leds son conocidos hasta por los más novatos y se trata de leds capaces de ofrecer un color concreto utilizando tres parámetros…
Sin desvelar nada más… ¿Empezamos?
RGB, dame dame banda
Los leds RGB se trata de leds capaces de cambiar a un color determinado según los valores de los colores rojo (Red), verde (Green) y azul (Blue). Esta forma de definir un color es común en el diseño por ordenador y se trata de dar valores entre 0 y 255 a cada uno de estos colores para formar colores concretos mediante la mezcla de ellos.
Estos leds RGB contienen un led de cada color que se ilumina en función de nuestra señal. Como espero que ya hayas deducido, esta señal no podrá venir de pines digitales al uso ya que si todos los valores fuesen HIGH la luz sería blanca continuamente al encenderse todos al máximo.
Tendremos que echar mano de los pines digitales PWM, que son los que nos permitirán poner un voltaje concreto en cada uno de los pines acorde a un valor entre 0 y 255 en valores digitales.
Es decir, nos vamos a preocupar de elegir el valor y es Arduino y sus pines digitales PWM los que se encargaran de saber qué voltaje es el correcto para ese valor elegido.
La pata larga es la que manda
Lo primero es conectar el led correctamente. Los leds RGB disponen de 4 patas. Esto es porque es como si en el componente dispusiésemos de 3 leds, cada una de las patas es uno de estos leds. Luego habrá una cuarta pata que será más larga y es la que cerrará el circuito, la llamaremos común.
En este caso hay dos opciones. Puede que la parte común a los 3 leds sea la negativa de los mismos leds, esto es lo que se llama cátodo común. También puede ser que la parte común sea la positiva de los leds, en este caso se llamaría led RGB de ánodo común.
Esto de ánodo y cátodo debería sonarte de los diodos, en los cuáles llamamos ánodo a la base de la flecha (La parte positiva, por donde entra la corriente al componente) y cátodo a la punta de flecha (La parte negativa, por dónde sale la corriente que fluye por el componente).
En un principio, externamente no sabremos cuál de los dos tipos de led RGB tenemos, por lo que habrá que mirar especificaciones del componente o probar continuidad con un multímetro para ver qué led se enciende y dónde está el positivo y negativo cuando lo hace (Esto nos puede ayudar para conocer qué color de led corresponde a cada pata).
En el caso del cátodo común, lo que haremos será conectar cada una de las tres patillas más cortas a una resistencia de 330 Ohms. Estas resistencias irán conectadas cada una a un pin digital PWM de Arduino. La pata larga del componente irá conectada a GND de Arduino.
Otra idea sería la de conectar una sola resistencia de 330 Ohms pero en lugar de en los pines digitales, sería entre la pata larga y GND, así ahorraríamos dos resistencias y se produciría la caída de tensión deseada igualmente.
En cuanto al caso de ánodo común, lo que habrá que hacer es conectar cada una de las tres patas cortas a una resistencia de 330 Ohm y esas resistencias, cada una a un pin digital PWM. La pata larga la conectarremos ahora a 5V de Arduino, a la alimentación.
Resistencias, nadie os aguanta pero en este caso yo sí…
Si te fijas, hemos añadido 3 resistencias. Normalmente cuando utilizamos leds no es algo obligatorio en Arduino ya que la propia placa contiene resistencias que protegen a nuestros leds y esa es la razón por la que podemos conectar un led directamente en el pin digital 13 y GND sin necesitar tan siquiera una protoboard.
¿Por qué ahora necesitamos resistencias si Arduino ya está protegido? Si nos fijamos ahora tenemos una parte común, es decir, sumaremos 3 corrientes que irán por un mismo cable a GND o tendremos los 5V que irán directos (Sin las resistencias que protegen en los pines digitales) a los leds, por lo que los leds se quemarán seguro si no ponemos remedio.
Así que se hace necesario añadir esta caída de voltaje que nos reduzca la corriente. Una caída que ya hemos visto antes que podemos simplificar con una sola resistencia 😉
Información básica sobre Proteción de datos
Responsable ➥ Sergio Luján Cuenca
Finalidad ➥ Gestionar el envío de correos electrónicos con artículos, noticias y publicidad. Todo relacionado con los temas de rufianenlared.com
Legitimación ➥ Consentimiento del interesado
Destinatarios ➥ Estos datos se comunicarán a MailRelay para gestionar el envío de los correos electrónicos
Derechos ➥ Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad
Plazo de conservación de los datos ➥ Hasta que se solicite la supresión por parte del interesado
Información adicional ➥ Puedes encontrarla en la política de privacidad y el aviso legal
Software, sin ti no hay team
A la hora de programar esto, sencillamente hay que aplicar un analogWrite en los pines PWM elegidos, algo tal que así:
void setup() { pinMode(9, OUTPUT); pinMode(6, OUTPUT); pinMode(5, OUTPUT); } void loop() { analogWrite(9, 255); analogWrite(6, 0); analogWrite(5, 0); delay(1000); }
Si nos fijamos en este código, he puesto al máximo (255) el color rojo que es el pin digital 9 y al mínimo (0) los otros dos pines. Por lo que veremos una luz roja.
¡Perfecto! ¡Qué fácil! Facilísimo ,si y solo si estamos ante un led RGB de cátodo común en el que nosotros manejamos la tensión que se está enviando a ese pin.
Cuando nos encontramos ante un led RGB de ánodo común lo que llega son 5 Voltios y se van hacia nuestros pines digitales que están a un voltaje determinado.
Por lo que ante este caso se encontraría que en el pin rojo entran 5V y en el otro lado hay 5V, no se encendería el led rojo por estar al mismo potencial.
Por contra, los otros dos leds tendrían 5V de entrada y 0V de salida por lo que se encenderían al máximo teniendo una combinación de azul y verde al 100% y rojo al 0%. Vamos, lo que viene siendo un azul claro muy muy Rufián en la Red… 😛
Ponle llamitas a este post
Y con esto ya te dejo tranquilo. Bueno va, una última cosa. Estaba pensando que con esto de los leds RGB podría crearse una pequeña hoguera. Y he encontrado este código en Github que permite recrear un fuego.
Claro, para que tenga gracia hay que tapar los leds lateralmente con alguna hoja o cartón, de manera que veamos por la parte superior ese movimiento como de llamas cambiando de color. Puedes ver a lo que me refiero en este vídeo (Aunque ellos lo hacen utilizando varios leds… ):
Así que aquí te dejo, pensando en qué puedes utilizar estos leds RGB en tus proyectos, ¡Sueña como un niño!