Proyecto 11 – LED RGB cátodo común

La finalidad de este proyecto es la de utilizar un LED RGB de cátodo común y encenderlo utilizando sus tres colores, rojo, verde y azul. Sólo vamos a utilizar las PWM con valores de 255, por lo que solo tenderemos los 3 colores básicos, el rojo, el verde y el azul.

Qué es un LED RGB?

LED RGB
LED RGB

Anteriormente habíamos visto que era un LED y que encendían de un solo color, ahora vemos el LED RGB (red, green, blue) es un LED que en un solo empaque (encapsulado) tenemos los tres colores (rojo, verde y azul), donde podemos utilizar el PWM para generar hasta 16 millones tonos de colores (16.777.216), utilizando valores de 0-255 del color rojo y del verde y el azul.

Esquema LED RGB

El pin más largo del LED RGB de ánodo común la cual conectaremos a los 5V del Arduino. El pin de la izquierda corresponde al color rojo(R), los siguientes dos pines corresponden a los colores verde(G) y azul(B) por orden.

Componentes

  • Arduino UNO o placa compatible
  • Protoboard o placa de pruebas
  • LED RGB de cátodo común
  • 3 resistencias de 220Ω
  • Cables o Jumpers
Proyecto – 11 – LED RGB cátodo común

En el diagrama podemos apreciar las conexiones, utilizaremos los pines PWM 9, 10, 11, donde la salida 11 del Arduino irá a la resistencia del pin rojo del LED, de igual forma la salida 10 del Arduino irá a la resistencia del pin verde del LED RGB y la salida 9 a la resistencia del pin azul del LED RGB, Por último el ánodo del LED RGB irá a la salida de 5V del Arduino.

Código

const int rojo = 11;
const int verde = 10;
const int azul = 9;

void setup() 
{
  pinMode(rojo, OUTPUT);
  pinMode(verde, OUTPUT);
  pinMode(azul, OUTPUT);
}

void loop() 
{
  analogWrite(rojo, 255);
  analogWrite(verde, 0);
  analogWrite(azul, 0);
  delay(1000);
  analogWrite(rojo, 0);
  analogWrite(verde, 255);
  analogWrite(azul, 0);
  delay(1000);
  analogWrite(rojo, 0);
  analogWrite(verde, 0);
  analogWrite(azul, 255);
  delay(1000);
}

Comenzaremos a revisar el código, primero vamos a ver las declaraciones de las variables.

const int rojo = 11;
const int verde = 10;
const int azul = 9;

Declaramos 3 constantes del tipo entero, en las que vamos a conectar cada uno de los ánodos que representan a cada uno de los tres colores y utilizamos 3 pines del Arduino que sean PWM (~). En nuestro caso utilizamos el pin 11 para el ánodo rojo, el pin 10 para el verde y el pin 9 para el azul.

En la función setup:

pinMode(rojo, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(azul, OUTPUT);

Establecemos los pines asociados a los cátodos rojo, verde y azul como pines de salida.

Y en la función loop:

analogWrite(rojo, 255);
analogWrite(verde, 0);
analogWrite(azul, 0);
delay(1000);
analogWrite(rojo, 0);
analogWrite(verde, 255);
analogWrite(azul, 0);
delay(1000);
analogWrite(rojo, 0);
analogWrite(verde, 0);
analogWrite(azul, 255);
delay(1000);

Con los LED RGB en de cátodo común en el Arduino es tan simple como energizar (high ) el pin con el color que queremos ver y un bajo o LOW los otros dos colores
Ya vamos a ver esto con el código que nos quedará más claro.

analogWrite(rojo, 255);
analogWrite(verde, 0);
analogWrite(azul, 0);
delay(1000);

Primero vemos analogWrite(rojo, 255) donde le asignamos un valor análogo 255 al pin rojo del LED, luego analogWrite(verde, 0) donde asignamos un valor análogo del 0 al pin verde, lo que equivale a un LOW y finalmente analogWrite(azul, 0) donde asignamos un valor análogo del 0 al pin azul, todo esto nos dará que se encienda el color rojo del LED RGB. Por último hacemos una pausa de un segundo delay(1000).

Para ver el color verde tenemos analogWrite(rojo, 0), luego analogWrite(verde, 255), después analogWrite(azul, 0) y una pausa de un segundo delay(1000).

Finalmente para ver el color azul analogWrite(rojo, 0), luego analogWrite(verde, 0), después analogWrite(azul, 255) y una pausa de un segundo delay(1000).

Resumen

Al final el programa hará que se vea el color rojo por un segundo, luego el color verde por un segundo y el verde por un segundo, antes de volver a comenzar el ciclo.

Para experimentar con otros colores diferentes al los del ejercicio anterior podemos buscar los valores RGB de otros colores en https://www.w3schools.com/colors/colors_picker.asp y hacer que nuestro LED cambie a mas colores.

Código 2

Vamos a ver otro código en el cual se usan las salidas PWM para generar más de tres colores con los LED RGB.

int rojo = 11; 
int verde=10; 
int azul=9;
int val;

void setup() 
{
pinMode(rojo, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(azul, OUTPUT);
}

void loop()
{
  for(val=255; val>0; val--)
  {
    analogWrite(11, val);
    analogWrite(10, 255-val);
    analogWrite(9, 128-val);
    delay(10);
  }
  for(val=0; val<255; val++)
  {
    analogWrite(11, val);
    analogWrite(10, 255-val);
    analogWrite(9, 128-val);
    delay(10);
  }
}

Deja un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.