Oi galera.
Primeiramente vamos entender o que é RGB.
Todas as cores existentes são formadas pro uma mistura de 3 cores primitivas (sem entrar em detalhes técnicos e físicos), essas cores são o Red, Green e Blue, por isso a abreviação RGB.
Dependendo da porcentagem de cada cor, formam-se as demais cores que conseguimos enxergar.
Voltando para a eletrônica, podemos observar como isso funciona nesse site:
1 – Led RGB de duas “pernas”.
Esses leds tem um micro CI interno que define o funcionamento dele, que é simplesmente piscar. Ele começa apresentando algumas cores depois muda para um ritmo e não temos como mudar isso.
Por ele ser bem simples, vou deixar apenas um vídeo que
demonstra isso.:
2 – Led RGB de 4 “pernas” de anodo comum.
Ele tem um contato em comum para todas as cores, que é o positivo
ou anodo (a maior perna dentre
as 4), as outras são para o vermelho, verde e azul.
as 4), as outras são para o vermelho, verde e azul.
As conexões desse led são um pouco diferente, pois não vamos utilizar o GND.
Caso fosse um de catodo ou gnd comum, seria ligado da
seguinte forma:
GND no GND do arduino.
Vermelho na saída x.
Verde na saída y.
Azul na saída z.
Conforme imagem abaixo:
Com o led de anodo comum fica um pouco diferente.
Perna maior no 3,3 v do arduino.
Vermelho na saída x.
Verde na saída y.
Azul na saída z.
Conforme imagem:
Devido não utilizarmos o terra, quando você colocar um valor
de saída como 200 por exemplo, esse valor sairá invertido, e será equivalente a
55, que é o restante de 255 (valor máximo de saída do arduino).
Então foi feita uma pequena adaptação no código.
Para termos uma melhor visualização das cores é recomendado colocar um papel ou um plastico em cima do led.
Exemplo da cor dourada:
Exemplo da cor dourada:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Código criado por Marcelo Cella | |
//marcelocella204@gmail.com | |
//parcerias: | |
//http://viciadosemarduino.blogspot.com.br/ | |
//http://sttamp.com/loja | |
int red = 6; | |
int green = 7; | |
int blue = 8; | |
int valr, valg, valb; //criamos variáveis para nos ajudar com a adaptação e inversão de valores | |
int r, g, b; //criamos variáveis para nos ajudar com a adaptação e inversão de valores | |
void setup() { //aqui serão colocados os valores que realmente queremos | |
r = 255; // vermelho 100%, verde menos de 50% e azul desligado | |
g = 105; //assim teremos a cor dourada por exemplo | |
b = 0; | |
} | |
void loop() { | |
valr = (255- r); //valores sendo convertidos | |
valg = (255- g); | |
valb = (255- b); | |
analogWrite (red, valr); //saída já convertida | |
analogWrite (green, valg); | |
analogWrite (blue, valb); | |
delay (1000); | |
} |