Adquira estes componentes na Loja do Lab de Garagem

Com o LED RGB pode-se acender as três cores primárias: Vermelho(Red), Verde(Green) e Azul(Blue). Além das cores primárias pode-se misturar essas cores para criar outras cores. Por exemplo: Amarelo(Vermelho e Verde), Ciano(Verde e Azul) e Magenta(Azul e Vermelho), Branco(Vermelho, Azul e Verde).

Com o Arduino, pode-se variar a intensidade de cada cor para adquirir a cor desejada. Neste link, tem uma tabela RGB.

Neste Tutorial, fizemos apenas mostrando as cores primárias e as cores citadas no exemplo acima. Na figura abaixo mostra a pinagem necessária para fazer as ligações com o Arduino. Caso queira ver o datasheet, clique aqui.

Agora que sabemos a pinagem do LED RGB, podemos fazer as ligações:

Utilizando os pinos digitais 9,10 e 11 (Pinos PWMs referênciados com '~' na frente) do Arduino, a programação feita está demonstrada abaixo:


int redpin=9;      //Pin 9
int greenpin=10;    //Pin 10
int bluepin=11;      //Pin 11
int var=0;
int var1=0;


void setup()
{
}

void loop()
{
  for(var=250;var<255;var++)
  {
  analogWrite(redpin,var);  //RED
  analogWrite(greenpin,0);
  delay(500);
  analogWrite(redpin,0);    //GREEN
  analogWrite(greenpin,var);
  delay(500);
  analogWrite(greenpin,0);   //BLUE
  analogWrite(bluepin,var);
  delay(500);
  analogWrite(bluepin,0);
  delay(500);
  }
 
  for(var1=250;var1<255;var1++)
  {
  analogWrite(redpin,var1);   //YELLOW
  analogWrite(greenpin,var1);
  delay(500);
  analogWrite(redpin,0);
  delay(500);
  analogWrite(greenpin,var1);  //CYAN
  analogWrite(bluepin,var1);
  delay(500);
  analogWrite(greenpin,0);
  delay(500);
  analogWrite(bluepin,var1);    //MAGENTA
  analogWrite(redpin,var1);
  delay(500);
  analogWrite(bluepin,0);
  delay(500);
  analogWrite(bluepin,var1);
  analogWrite(redpin,var1);
  analogWrite(greenpin,var1);
  }
 
}

Na programação, no primeiro loop "for" mostra as cores primárias começando o PWM em 250 e indo até 255. No segundo loop "for" mostra as cores combinando duas cores primárias: Amarelo, Ciano, Magenta e Branco.

Neste tutorial foi utilizado apenas uma variável para a intensidade de todas as cores, mas pode-se utilizar mais variáveis para mudar as intensidades independentes.

E é isso!! Um tutorial simples e prático para mostrar o que o LED RGB pode fazer!!! Qualquer dúvida, poste aqui no blog!! Se tiver alguma sugestão de tutorial poste neste Link!

Referências:

http://www.sparkfun.com/products/105

http://wiring.org.co/learning/basics/rgbled.html

http://www.rapidtables.com/web/color/RGB_Color.htm

http://arduino.cc/en/Reference/HomePage

Exibições: 64600

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Charles Vassiliades em 23 março 2018 às 8:01

Bom dia ! Será que eu posso usar 2 ou 3 leds usando os mesmos pinos do Arduino sem ter que usar resistores ?

Comentário de Tio Guilherme em 23 maio 2015 às 21:51

coloca o codigo completo porfavor

obrigado

Tio Gui

Comentário de jackson andrade em 20 fevereiro 2015 às 20:22

show de bola

Comentário de Mauro Assis em 27 abril 2013 às 16:35

Arthur,

Na realidade, no caso específico dessa montagem, o resistor pode variar numa faixa grande de valores. Pode ser por isso que o autor não colocou a especificação.

Ou seja, mesmo se vc trocar o vermelho pelo laranja o seu circuito continua funcionando... :)

Comentário de Artur Vasconcelos Cordeiro em 27 abril 2013 às 15:19

olá! seria ótimo se o resistor fosse especificado, pois como iniciante, ainda não decorei a resistência pela cor, e posso estar vendo um laranja na imagem e ser vermelho na realidade.

enfim, minha sugestão é que vocês sempre especifiquem os materiais do tutorial. como por exemplo é feito nos tutoriais do Arduino.cc:

Hardware Required

  • Arduino board
  • Breadboard
  • a LED
  • a 220 ohm resistor

Comentário de Leonardo Barichello em 29 junho 2012 às 11:10

Tenho algumas sugestões de melhoria pro tutorial.

Como se trata de um tutorial, é direcionado a iniciantes e acho que alguns cuidados no código são bons pra criar bons hábitos de programação:

1 - ao invés de usar variáveis pra definir os pinos, é melhor usar "define", pois aí não ocupamos memória da placa com algum que, no fundo, não é uma variável

2 - no setup, apesar de não ser estritamente necessário, acho bom declarar os 3 pinos como de saída

O que acham?

Comentário de Mauro Assis em 3 maio 2012 às 19:15

É, eu tb não conhecia, mas eu comprei 20 para um projeto e eles vieram assim. Já tinha encontrado a solução, que foi essa mesma que vc postou, tks.

Agora estou escrevendo a rotina para gerenciar as sessenta "pernas" de LED com um Arduino Duemilanove. Vou usar 8 chips 74HC595 para multiplexar e com apenas 3 portas do Arduino "tocar" os LEDs todos. Até uma protoboard maior vou ter que comprar... ;)

Comentário de Mauro Assis em 29 abril 2012 às 20:23

Legal o tutorial.

Agora, o que acontece se eu tenho LEDs RGB cujo terminal comum é positivo? Comprei alguns e eles são assim.

Obrigado,

Mauro

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço