Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.