Vous êtes sur la page 1sur 7

Brincando com LED RGB

Como j vimos j usamos o LED normal, agora podemos brincar com o LED RGB. Mas o que seria esse LED RGB praticamente 3 LEDs com nico encapsulamento que possui as cores: Vermelho (R), Verde (G) e Azul (B).

Com esse LED podemos gerar at 16.581.375 cores diferentes usando porta PWM do arduino. Mas lembrando que precisa colocar uma resistncia em cada terminal, eu usei 470ohm. O circuito fica mais ou menos isso:

A programao tambm no tem nada de mais praticamente idntica ao LED normal (Blink) sendo que em vez de programar 1 LED, programei 3 LEDs. Nessa programao a seguir usei a sequncia de cores como a Tabela Verdade com 3 Variveis, tanto

na programao Bsica de liga e desliga o LED e na programaofor para ligar e desligar lentamente.

Programao:
int r = 11; int g = 10; int b = 9; void setup() { pinMode(r, OUTPUT); pinMode(g, OUTPUT); pinMode(b, OUTPUT); } void loop() { // Programao Liga e Desliga os LED's int M = 255; int m = 0; int t = 15; // Tudo apagado analogWrite(r, m); analogWrite(g, m); analogWrite(b, m); delay(1000); // Vermelho acesso analogWrite(r, M); analogWrite(g, m); analogWrite(b, m); delay(1000); // Verde acesso analogWrite(r, m); analogWrite(g, M); analogWrite(b, m); delay(1000); // Vermelho e Verde acesso analogWrite(r, M);

analogWrite(g, M); analogWrite(b, m); delay(1000); // Azul acesso analogWrite(r, m); analogWrite(g, m); analogWrite(b, M); delay(1000); // Azul e Vermelho acesso analogWrite(r, M); analogWrite(g, m); analogWrite(b, M); delay(1000); // Azul e Verde acesso analogWrite(r, m); analogWrite(g, M); analogWrite(b, M); delay(1000); //Todos acessos analogWrite(r, M); analogWrite(g, M); analogWrite(b, M); delay(1000); //Programao Acende e Apaga os LED's lentamente // Vermelho for(int i=0; i<255; i++) { analogWrite(r, i); analogWrite(g, m); analogWrite(b, m); delay(t); } for(int i=255; i>0; i--) { analogWrite(r, i); analogWrite(g, m);

analogWrite(b, m); delay(t); } // Verde for(int i=0; i<255; i++) { analogWrite(r, m); analogWrite(g, i); analogWrite(b, m); delay(t); } for(int i=255; i>0; i--) { analogWrite(r, m); analogWrite(g, i); analogWrite(b, m); delay(t); } //Vermelho e Verde for(int i=0; i<255; i++) { analogWrite(r, i); analogWrite(g, i); analogWrite(b, m); delay(t); } for(int i=255; i>0; i--) { analogWrite(r, i); analogWrite(g, i); analogWrite(b, m); delay(t); } //Azul for(int i=0; i<255; i++) {

analogWrite(r, m); analogWrite(g, m); analogWrite(b, i); delay(t); } for(int i=255; i>0; i--) { analogWrite(r, m); analogWrite(g, m); analogWrite(b, i); delay(t); } //Azul e Vermelho for(int i=0; i<255; i++) { analogWrite(r, i); analogWrite(g, m); analogWrite(b, i); delay(t); } for(int i=255; i>0; i--) { analogWrite(r, i); analogWrite(g, m); analogWrite(b, i); delay(t); } //Azul e Verde for(int i=0; i<255; i++) { analogWrite(r, m); analogWrite(g, i); analogWrite(b, i); delay(t); } for(int i=255; i>0; i--)

{ analogWrite(r, m); analogWrite(g, i); analogWrite(b, i); delay(t); } //Todos for(int i=0; i<255; i++) { analogWrite(r, i); analogWrite(g, i); analogWrite(b, i); delay(t); } for(int i=255; i>0; i--) { analogWrite(r, i); analogWrite(g, i); analogWrite(b, i); delay(t); } }

Para comear a explicar essa programao, primeiramente logo no inicio do loop, declarei 3 variveis, M que seria o valor mximo (255) para as portas pwm, m que seria o valor mnimo (0) e t que seria o tempo que usei no delay na programao dor for. A pequena diferena da programao liga e desliga o LED, seria que geralmente usamos digitalWrite(pin, HIGH ou LOW) usei o analogWrite(pin, 0-255), apesar que, poderia ter usado o primeiro, mas para fazer a programao do LED acender e apagar lentamente precisamos usar portas pwm para controlar a corrente que iria passar no terminal do componente. Na programao for para cada LED usei 2 programaes, 1 para acender e outra para acender lentamente, e claro fazendo as combinaes como citei fazendo por Tabela Verdade.

Mas tambm podemos brincar com esse LED usando um LDR, a cada valor que o LDR detectar

pode acender uma cor diferente, s para comear (sem mistura de cores), ai quem gosta de dificuldade a cada valor seria uma cor diferente mas j misturando todas as cores (ai usaria map na programao, futuramente explicarei).

Na filmagem a seguir, a cmera no mostra muito a cores quando se misturam, por isso na segunda filmagem coloquei uma folha de papel oficio porque dava para ver melhor as mistura de cores.