Como controlar un led RGB con Arduino

Hola Yonkis de la Robótica!!

Hoy tengo un tuto con nuestra queridísima placa de Arduino que es canelita en rama para aquellos que les chiflan las lucecitas y efectos de iluminación.

Se trata de controlar un led RGB (Red Green Blue). Y… ¿qué es un led RBB?. Podés descubrirlo en este vínculo o os lo resumo: Un Led RGB es una luz que dispone de 4 patillas el cual puede emitir luz de toda la gamma cromática, ya que dispone de los tres colores básicos y puede regular cada una de sus intensidades con las que los emite. Para el control de este LED es común usar  un pin de conexión por cada color y uno para el nodo común. Este nodo común puede ser el cátodo o el ánodo como se muestra a continuación:

Cómo una imagen vale mas que mil palabras y para que no leáis el artículo en valde, os dejo un vídeo en el que se muestra perfectamente lo que vamos a realizar:

Lista de materiales a utilizar:

  • Placa Arduino UNO (o equivalente)
  • LED RGB de Cátodo común
  • Cables de conexión
  • Placa protoboard
  • Resistencias de 220ohm

Esquema de conexión:

Se deberá conectar a los pines PWM que dispone el Arduino. En este caso

  • Pin 11 – Rojo
  • Pin 10 – Verde
  • Pin 9 – Azul

Os muestro el código, o podéis descargarlo aquí:

/*
  RGB Led
/* Led pins (PWM)
 *  Red - pin 9
 *  Green - pin 10
 *  Blue - pin 11
 */
int rgbPins[3] = {9, 10, 11};

void setup()
{
  for(int i = 0; i < 3; i++) {
    pinMode(rgbPins[i], OUTPUT);
  }
}

void loop()
{ 
  setColor(0xFF0000);  // red
  delay(1000);
  setColor(0x00FF00);  // green
  delay(1000);
  setColor(0x0000FF);  // blue
  delay(1000);
  setColor(0xFFFF00);  // yellow
  delay(1000);  
  setColor(0x500050);  // purple
  delay(1000);
  setColor(0x00FFFF);  // aqua
  delay(1000);
}
 
void setColor(long color) {
  analogWrite(rgbPins[0], color >> 16);
  analogWrite(rgbPins[1], color >> 8 & 0xFF);
  analogWrite(rgbPins[2], color & 0xFF);
}

Bien, podéis disfrutar de todos los colores con este código, solo tenéis que cargarlo en el Arduino con el IDE y listo.

Un salu010

Etiquetas:, , , , ,

"Trackback" Enlace desde tu web.

Deja un comentario