Descripción ADM
El color de la iluminación en el LED RGB, depende de la tensión aplicada a cada uno de los microLEDs. Se verá rojo, si solo hay tensión en el LED rojo, Verde si solo hay tensión en el LED verde y azul si solo hay tensión en el LED azul.
El color de la iluminación en el LED RGB, depende de la tensión aplicada a cada uno de los microLEDs. Se verá rojo, si solo hay tensión en el LED rojo, Verde si solo hay tensión en el LED verde y azul si solo hay tensión en el LED azul.

Los demás colores se consigue encendiendo los tres LEDs en diferentes intensidades, es lo que se llama una mezcla aditiva.
1 LED RGB con ánodo común o Cátodo común
3 Resistencia de 100
Protoboard y cables para las conexiones y el cable USB para conectar arduino al PC y hace además de alimentación.
Esquema
LED RGB Ánodo Común
Conectaremos un LED RGB con sus resistencias limitadoras a los Pines 9, 10 y 11 de arduino, que tienen la capacidad de modular el ancho de pulso, y por tanto convertir una seña digital en analógica. Mediante software, haremos que el LED RGB cambie el color de su iluminación.
LED RGB Cátodo Común
Si ponemos tensión en el LED rojo en el LED azul al mismo tiempo, obtendremos una iluminación magenta. Si ponemos tensión en el rojo y en el verde obtendremos una iluminación amarilla, y si ponemos tensión el verde y el azul obtendremos una luz cyan.
Hasta ahora hemos hablado de poner la misma tensión, pero si los valores de tensión son distintos, colores variarán a tonos intermedios, obteniendo así una gran variedad de colores . Si ponemos tensión máxima en los 3 a la vez, tendremos luz blanca.
El circuito variará dependiendo de si se conecta un LED RGB de ánodo común o si se conecta un LED RGB de cátodo común.
El RGB de ánodo común, este va conectado al positivo de la fuente +5V vcc, y cada una de las patillas restante van a una entrada de arduino con su correspondente resistencia.
El RGB de cátodo común, este va conectado al negativo o GND, y cada una de las patillas restante van a una entrada de arduino con su correspondente resistencia.
Importante conectar una resistencia a cada patilla, que no sea la común, porque de esta manera el brillo será equilibrado, ya que los tres diodos al máximo de tensión tendrán todos la misma tensión y el resultado será una luz casi blanca.
Se puede poner una sola resistencia en el común, ahorrando en el montaje dos resistencia, pero esto es un error, porque el brillo no estará equilibrado, ya que los tres diodos al máximo de tensión no tendrán todos la misma tensión, sino que cada uno tendrá una tensión diferente en función de su unión y color, lo que se traduce que no se consigue una luz blanca, sino verdosa o amarillenta, y por tanto todos los colores que emitan serán falsos y no se corresponderán con los valores reales.
Este es el tipo de LED RGB más utilizado. Cuanta más tensión positiva haya en cada patilla más se iluminarán los respectivos LED hasta el máximo permitido por las resistencias limitadoras. Controlaremos la iluminación a través de las pines 9, 10 y 11 que ademas son las que permiten PWM, con lo cual las podremos utilizar tanto en modo digital como en modo analógico.
Este circuito no es muy utilizado ni recomendable, salvo para ocasiones especiales. El LED RGB ánodo común, se conecta el común al positivo y los cátodos a las salidas 9,10 y 11 con sus respectivas resistencias limitadoras.
Este tipo de RGB no es muy utilizado, porque va al contrario que el cátodo común. En el circuito de cátodo común cuanto mayor es la tensión mayor es la intensidad lumínica de los LEDs, aquí cuanto mayor es la tensión, menor es la intensidad lumínica de los LEDs.
Circuito Cátodo Común: con salida analógica con 255 se obtiene máxima luz y con 0 se apaga el LED
Circuito Ánodo Común: Usando salida analógica con 255 se apaga el LED y con 0 se obtiene máxima luz.
La patilla más larga del RGB es el ánodo/cátodo común y necesitas 3 resistencias de 100 o 150 ohmios.
Si tu RGB tiene una montura Keyes, no tendrás que preocuparte por eso porque ya viene marcado y además trae sus tres resistencia en la placa.
Montaje
En esta ocasión tenemos 3 posibles montajes, 2 en cátodo común y 1 en ánodo común.Esta es una forma de montar el circuito del RGB de cátodo común, el más utilizado, aquí a diferencia del esquema hemos tomado GND del que está situado en el lado de los pines digitales, ya sabéis que arduino uno tiene varios pines para GND.
Es el mismo montaje que el anterior, RGB con cátodo común, pero con montura Kayes, que ya viene como hemos dicho con sus resistencias SMD incorporadas en la placa. La salidas no son las mismas que un Diodo LED RGB al uso. Por eso hemos usado fotografía, para que sea lo más real posible.
Este es el montaje de un RGB con Ánodo Común, hemos puesto el positivo de color amarillo, para recordar que todo es al contrario que con el cátodo común, el montaje es prácticamente el mismo pero el común va directo al positivo +5Vcc y en el código ya veremos que también en al contrario.
Código
Con este código vamos a comprobar que el circuito está bien conectado, para ello se va a producir una secuencia de rojo, verde, azul, apagado y vuelta a empezar
void setup() {
for(int i = 9 ; i < 12 ; i++){
pinMode(i, OUTPUT);
}
}
void loop() {
color (255,0,0);
delay(1000);
color (0,255,0);
delay(1000);
color (0,0,255);
delay(1000);
color (0,0,0);
delay(2000);
}
void color(int R, int G, int B){
analogWrite(11,R);
analogWrite(10,G);
analogWrite(9,B);
}
En el setup, tenemos el bucle for que inicializará y establecerá de forma automática, los pines 9, 10 y 11 como pines de salida.
En el loop, empezamos llamando a la función color que se desarrolla más abajo, pasándole los parámetros para que se encienda solo el color rojo, esperamos 1 segundo y volvemos a llamar a la función color, donde apagamos el rojo, pasándole los parámetros para que se encienda solo el color el verde, esperamos otro segundo y volvemos a llamar a la función color y apagamos el verde pasándole los parámetros para que se encienda solo el color el azul, esperamos otro segundo volvemos a llamar a la función color y le pasamos parámetros para que se apaguen todos los LEDs, esperamos 2 segundo y vuelta a empezar.
En el loop, empezamos llamando a la función color que se desarrolla más abajo, pasándole los parámetros para que se encienda solo el color rojo, esperamos 1 segundo y volvemos a llamar a la función color, donde apagamos el rojo, pasándole los parámetros para que se encienda solo el color el verde, esperamos otro segundo y volvemos a llamar a la función color y apagamos el verde pasándole los parámetros para que se encienda solo el color el azul, esperamos otro segundo volvemos a llamar a la función color y le pasamos parámetros para que se apaguen todos los LEDs, esperamos 2 segundo y vuelta a empezar.
Tenemos la fución color() donde espera que se les pase 3 números enteros, de 0 a 255, si le pones el 256 para arduino es 0, el 257 es 1 y así sucesivamente. Por tanto solo admite de 0 a 255.
void setup() {
for(int i = 9 ; i < 12 ; i++){
pinMode(i, OUTPUT);
}
}
void loop() {
color (0,255,255);
delay(1000);
color (255,0,255);
delay(1000);
color (255,255,0);
delay(1000);
color (255,255,255);
delay(2000);
}
void color(int R, int G, int B){
analogWrite(11,R);
analogWrite(10,G);
analogWrite(9,B);
}
Esta es la versión, para un diodo LED RGB con Ánodo común. El programa es exactamente el mísmo que para un LED RGB con Cátodo Común, a excepción de los parámetros que están invertidos. El resultado final es exactamente el mismo, se ilumina el color rojo, luego el verde, luego el azul, se apaga el LED y comienza de nuevo.
Cuando decimos que los parámetros están invertidos, se quiere decir lo siguiente: En el LED RGB catodo común el 0 es apagado, pues aquí el 0 es encendido a máxima intensidad.
En el LED RGB cátodo común el 255 es encendido a máxima intensidad, pues aquí el 255 es LED apagado.
Vamos a repetir el código, pero añadiendo colores intermedios entre el rojo y el verde, entre e verde y el azul, entre el azul y el rojo, y luego todos a la vez.
void setup() {
for(int i = 9 ; i < 12 ; i++){
pinMode(i, OUTPUT);
}
}
void loop() {
color (255,0,0);
delay(1000);
color (255,255,0);
delay(1000);
color (0,255,0);
delay(1000);
color (0,255,255);
delay(1000);
color (0,0,255);
delay(1000);
color (255,0,255);
delay(1000);
color (255,255,255);
delay(2000);
}
void color(int R, int G, int B){
analogWrite(11,R);
analogWrite(10,G);
analogWrite(9,B);
}
Este código es el mismo que el anterior, los únicos cambios están en la función void loop (), que hemos añadido 4 líneas más donde al llamar a la función color(), donde en lugar de para a la función, 255, en un color, le hemos pasado en dos colores, o en los tres colores, donde se producirá la mezcla de colores, y conseguiremos así los colores intermedios, además de los colores principales. Como se puede ver, se puede ver, las instrucciones o funciones, pueden ir una a continuación de la otra, separadas por punto y coma ; y no es necesario que vaya siempre una debajo de otra. Ello nos puede ayudar a que un código tenga menos líneas, aunque estas sean un poco más largas.
Con este código veremos el color rojo, amarillo, verde, celeste (cyan), azul, violeta (magenta), blanco y apagado, y luego vuelve a empezar. los cambios se harán cada 3 segundos, para que nos de tiempo a visualizar los colores.
void setup() {
for(int i = 9 ; i < 12 ; i++){
pinMode(i, OUTPUT);
}
}
void loop() {
color (0,255,255);
delay(1000);
color (0,0,255);
delay(1000);
color (255,0,255);
delay(1000);
color (255,0,0);
delay(1000);
color (255,255,0);
delay(1000);
color (0,255,0);
delay(1000);
color (0,0,0);
delay(2000);
}
void color(int R, int G, int B){
analogWrite(11,R);
analogWrite(10,G);
analogWrite(9,B);
}
cerca del diodo, veremos los colores por
separado.
Hasta ahora hemos llamado a la función color con valores de 0 o 255, pero se puede llamar con valores intermedios por ejemplo color (243,46,139); obtendríamos combinación luminosa rosa, de esta manera tenemos 16.5 millones de colores para elegir en nuestro LED.
Para averiguar la mezcla RGB necesitamos para conseguir un determinado color es tan sencillo, como utilizar un programa de edición de imagen como el paint de Windows, pinchamos en el icono de editar colores y nos sale el siguiente cuadro de diálogo:
separado.
Hasta ahora hemos llamado a la función color con valores de 0 o 255, pero se puede llamar con valores intermedios por ejemplo color (243,46,139); obtendríamos combinación luminosa rosa, de esta manera tenemos 16.5 millones de colores para elegir en nuestro LED.
Para averiguar la mezcla RGB necesitamos para conseguir un determinado color es tan sencillo, como utilizar un programa de edición de imagen como el paint de Windows, pinchamos en el icono de editar colores y nos sale el siguiente cuadro de diálogo:
Pinchamos con el ratón en el cuadro arco iris de la derecha, y luego elegimos si lo queremos más claro o más oscuro en los tonos de la derecha. El color elegido lo veremos en el cuadro de Color|Sólido, y su valores RGB los encontraremos abajo a la derecha, donde he remarcado el cuadro rojo. En la imagen ejemplo vemos que hay 249 de rojo, 46 de verde y 139 de azul, y es así como podemos elegir los colores para nuestro LED RGB.
Utilizando la función random(n) podemos hacer que nuestro LED RGB cambie su color entre los 16,5 millones de colores de forma aleatoria.
En este caso hemos vuelto a cambiar solo la función void loop(), hemos llamado a la función color, y en lugar de pasar valores para los colores, hemos utilizado en los tres colores la función random, que devuelve un número al azar o aleatorio, entre 0 y n, en este caso entre 0 y 255, así cada medio segundo nuestro LED RGB cambiará por un color impredecible, y lo hará constantemente.
Utilizando la función random(n) podemos hacer que nuestro LED RGB cambie su color entre los 16,5 millones de colores de forma aleatoria.
void setup() {
for(int i = 9 ; i < 12 ; i++){
pinMode(i, OUTPUT);
}
}
void loop() {
color (random(255),random(255),random(255));
delay(500);
}
void color(int R, int G, int B){
analogWrite(11,R);
analogWrite(10,G);
analogWrite(9,B);
}
En este caso hemos vuelto a cambiar solo la función void loop(), hemos llamado a la función color, y en lugar de pasar valores para los colores, hemos utilizado en los tres colores la función random, que devuelve un número al azar o aleatorio, entre 0 y n, en este caso entre 0 y 255, así cada medio segundo nuestro LED RGB cambiará por un color impredecible, y lo hará constantemente.


