LED tricolor RGB (Red-Green-Blue)
Projeto 6 – Luzes Coloridas
Alguns LEDs são capazes de mudar a sua cor, chamamos eles de LED RGB. Ele tem o mesmo funcionamento básico de um LED comum porém possui três cores no mesmo componente, como se fossem três LEDs juntos: Red(R), Green(G) e Blue(B). Assim podemos trocar as cores via programação e até mesmo fazer misturas.
Como mostrado na figura abaixo, o LED RGB possui quatro pernas, sendo a perna maior o pino positivo comum para todos os LEDs internos.
O Projeto 6 consiste em alternar entre as 3 cores do LED RGB através do Arduino em um intervalo de 1 segundo.
Material necessário
1x LED RGB 5mm
3x Resistor 220 ohm
5x Jumper Macho-macho
1x Cabo USB
1x Placa Uno
Montagem do circuito
A montagem deste circuito é feita como se fossem três LEDs colocados no mesmo projeto. Adicione um resistor para cada perna de cor do LED RGB e conecte o pino 5 V do Arduino à perna positiva do LED RGB. Cada pino de cor do LED é conectado a uma porta digital do Arduino.
Importante! Note que o fio vermelho 5 V deve ser conectado à perna mais comprida do LED.
Programa Projeto 6 – Luzes Coloridas
O programa consiste em alternar cada uma das cores do LED em um intervalo de 1 segundo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | // Projeto 6 - Luzes Coloridas int led_R = 7; // pino LED Vermelho (R) int led_G = 6; // pino LED Verde (G) int led_B = 5; // Pino LED Azul (B) void setup() { pinMode(led_R, OUTPUT); // Definimos os pinos como saida pinMode(led_G, OUTPUT); pinMode(led_B, OUTPUT); apagaLed(); } void loop() { acendeVermelho(); // aqui fizemos uma pequena funcao que acende uma cor e apaga as outras delay(1000); acendeVerde(); delay(1000); acendeAzul(); delay(1000); apagaLed(); delay(1000); } void acendeVermelho() { digitalWrite(led_R, LOW); digitalWrite(led_G, HIGH); digitalWrite(led_B, HIGH); } void acendeVerde() { digitalWrite(led_R, HIGH); digitalWrite(led_G, LOW); digitalWrite(led_B, HIGH); } void acendeAzul() { digitalWrite(led_R, HIGH); digitalWrite(led_G, HIGH); digitalWrite(led_B, LOW); } void apagaLed() { digitalWrite(led_R, HIGH); digitalWrite(led_G, HIGH); digitalWrite(led_B, HIGH); } |
Possíveis erros
Caso o projeto não funcione verifique alguns dos possíveis erros:
- Verifique se os jumpers estão na mesma coluna dos terminais dos componentes, fazendo assim a conexão;
- Verifique se os jumpers estão ligados nos pinos corretos no Arduino;
- Verifique se o terminal positivo do LED RGB está na posição correta ligado ao 5 V do Arduino;
- Verifique se o código carregou na placa através da IDE Arduino.
Desafios
Veja abaixo alguns desafios que você pode tentar!
- Faça uma mistura de cores acionando duas cores ao mesmo tempo;
- Utilize os conceitos que aprendemos no projeto anterior para trocar as cores do LED ao apertar um botão;
- Faça o controle do brilho de cada uma das cores utilizando os conceitos aprendidos no Projeto 3 e a função analogWrite() no lugar de digitalWrite().