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.

LED RGB

O Projeto 6 consiste em alternar entre as 3 cores do LED RGB através do Arduino em um intervalo de 1 segundo.

Funcionamento projeto 6

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.

Montagem LED RGB com 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.

// 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().

Alguma dúvida, comentário ou algo que queira acrescentar? Entre no tópico do nosso fórum!