O que significa a sigla RGB? Significa Red (vermelho), Green (verde) e Blue (azul), as cores dos três LEDs que compõem o RGB. Contendo 3 LEDs, o RGB tem 4 terminais: um comum (que pode ser ânodo ou cátodo), os restantes correspondentes a cada uma das cores que apresenta:
O aspeto de um RGB anodo comum, é igual ao de um catodo comum e para identificar o tipo de RGB com que estamos trabalhando, podemos testá-lo no próprio Arduino. Se o LED vermelho (por exemplo) ligar com o terminal (-) do Arduino ligado ao terminal comum (sempre o terminal mais longo, caso o RGB seja novo - se não for, os terminais podem já ter sido cortados...), e o terminal positivo (+) ligado ao terminal do LED vermelho, então estamos diante de um RGB de catodo comum; caso o LED acenda com o terminal (+) do Arduino ligado ao terminal comum, estamos na presença de um RGB de anodo comum. Nunca se esqueça de colocar um resistor antes do LED de 220 ou 330Ω. No nosso caso, estamos trabalhando com um LED RGB de anodo comum. Portanto o GND do Arduino vai ligado ao terminal comum. Caso você for utilizar um LED de catodo comum, liga no terminal comum o positivo do Arduino.
Material Utilizado:
Código
//Projeto LED RGB
//EduArduino
int redPin = 2;
int greenPin = 3;
int bluePin = 4;
//uncomment this line if using a Common Anode LED
#define COMMON_ANODE
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop()
{
setColor(255, 0, 0); // red
delay(1000);
setColor(0, 255, 0); // green
delay(1000);
setColor(0, 0, 255); // blue
delay(1000);
setColor(255, 255, 0); // yellow
delay(1000);
setColor(255, 0, 255); // purple
delay(1000);
setColor(0, 255, 255); // aqua
delay(1000);
}
void setColor(int red, int green, int blue)
{
#ifdef COMMON_ANODE
red = 255 - red;
green = 255 - green;
blue = 255 - blue;
#endif
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}