O LED RGB é capaz de emitir a luz em uma infinidade de cores. Seu interior contém três led's, nas cores: vermelha (R de red), verde (G de green) e azul (B de blue). Combinando essas três cores em diferentes intensidade e brilho, é possível produzir qualquer outra cor. Através do sinal PWM emitido pelo Arduino, é possível ajustar separadamente a intensidade de cada cor.
Através do sinal PWM emitido pelo Arduino, é possível ajustar separadamente a intensidade de cada cor. O led RGB tem 4 terminais, um comum, podendo ser anodo ou catodo, e os demais correspondentes a cada uma das cores.
Em relação ao brilho, existem dois modelos de led: o brilhante e o difuso (ou fosco).
-O Catodo Comum, com o terminal comum ligado ao negativo.
-O Anodo Comum, com o terminal comum ligado ao positivo.
// definir as variaveis para os pinos utilizados int pinoR = 11; // pino utilizado pelo terminal R (vermelho) int pinoB = 10; // pino utilizado pelo terminal B (azul) int pinoG = 9; // pino utilizado pelo terminal G (Verde) #define COMMON_CATODE //define o Led RGB como catodo comum void setup(){ // define os pinos do Led como saida pinMode(pinoR, OUTPUT); pinMode(pinoG, OUTPUT); pinMode(pinoB, OUTPUT); } // funçao para produzir o brilho do led de acordo com valores informados void setColor(int vermelho, int verde, int azul){ analogWrite(pinoR, vermelho); // define o brilo do led de acordo com o velor de 'vermelho' analogWrite(pinoG, verde); // define o brilo do led de acordo com o velor de 'verde' analogWrite(pinoB, azul); // define o brilo do led de acordo com o velor de 'azul' } void loop(){ setColor(255, 0, 0); // valores para obter a cor vermelha delay(1000); // aguarda 1 segundo setColor(0, 255, 0); // valores para obter a cor verde delay(1000); // aguarda 1 segundo setColor(0, 0, 255); // valores para obter a cor azul delay(1000); // aguarda 1 segundo setColor(255, 255, 0); // valores para obter a cor amarela delay(1000); // aguarda 1 segundo setColor(255, 0, 220); // valores para obter a cor violeta delay(1000); // aguarda 1 segundo setColor(150, 200, 255); // valores para obter a cor azul agua delay(1000); // aguarda 1 segundo setColor(255, 255, 255); // valores para obter um tom de branco delay(1000); // aguarda 1 segundo }