dijous, 4 de juliol del 2013

Connectar un led RGB a l'Arduino

Així com a l'anterior article vaig comentar el led de dos colors (verd i vermell) també existeixen els leds tricolors, que permeten il·luminar amb vermell, verd i blau. Això fa que jugant amb les intensitats, sigui possible representar molts colors. En el meu cas aquest sensor al meu pack és el KY-011. I el tutorial d'on he tret com connectar-lo el podeu trobar a adafruit learning system.

Com es connectar

La connexió és ben senzilla ja que es fa com qualsevol altre led. Tant si està integrat en una placa com si es tracta d'un led independent, sempre tindrà tres pins:

  1. GND: que va directe a l'arduino
  2. R: pin vermell, que va connectar a una resistència de 220 ohm i després a un pin de sortida analógica de l'arduino (per exemple el #9)
  3. G: pin verd que va connectar a una resistència de 220 ohm i després a un pin de sortida analògica (per exemple el #10)
  4. B: pin blauque va connectar a una resistència de 220 ohm i després a un pin de sortida analògica (per exemple el #11)

Codi d'exemple

El següent exemple va rotant els colors que representa el led. Per fer-ho té 3 variables, una per cada component de la llum, que van incrementant-se a ritmes diferents.

int ledr = 9;
int ledg = 10;
int ledb = 11;

int red=0;
int green=0;
int blue=0;

void setup() {                
  pinMode(ledr, OUTPUT);
  pinMode(ledg, OUTPUT);
  pinMode(ledb, OUTPUT);
}

void loop() {
  
  analogWrite(ledr, red);
  analogWrite(ledg, green);
  analogWrite(ledb, blue);
  red=red+10;
  green=green+30;
  blue=blue+40;
  if (red>254) red=0;
  if (green>254) green=0;
  if (blue>254) blue=0;
  delay(200);
}