Controlando LED RGB com Arduino
O uso de leds para iluminação tem aumentado muito , principalmente devido aos leds de maior potência de iluminação com vida util praticamente ilimitada.
O programa abaixo é um exemplo de como controlar a cor de um led RGB a partir de um Arduino :
/*
* Codigo para testar led RGB
* Ativa as cores principais dos leds em sua intensidade maxima e as misturas entre elas
* Baseado no exemplo constante no site do Arduino
* Jeronimo Avelar Filho <jeronimo@blogdoje.com.br>
*/
// Saida
int greenPin = 9; // conectado ao led verde no pino 09
int bluePin = 10; // conectado ao led azul no pino 10
int redPin = 11; // conectado ao led vermelho no pino
// Variaveis do Programa
int wait = 500; // 500 ms menor valor = transicoes rapidas
int i ;
void setup()
{
pinMode(redPin, OUTPUT); // configura os pinos como saida
pinMode(greenPin, OUTPUT); // não é necessario no Arduino007
pinMode(bluePin, OUTPUT);
i = 1 ;
}
// Main program
void loop()
{
switch (i) { //
case 1: // Vermelho
ativaRgb(255,0,0) ;
break;
case 2: // Verde
ativaRgb(0,255,0) ;
break;
case 3: // Azul
ativaRgb(0,0,255) ;
break;
case 4: // Amarelo
ativaRgb(255,255,0);
break;
case 5: // Cyano
ativaRgb(0,255,255) ;
break;
case 6: // Magenta
ativaRgb(255,0,255) ;
break;
case 7: // Branco ( todos os leds acessos)
ativaRgb(255,255,255);
break;
}
delay(wait) ;
i=i+1 ;
if( i > 7) i= 1 ;
}
void ativaRgb(int redVal,int greenVal, int blueVal) {
analogWrite(redPin, redVal); // Escreve o valor do PWM do led vermelho
analogWrite(greenPin, greenVal); // Escreve o valor do PWM do led verde
analogWrite(bluePin, blueVal); // Escreve o valor do PWM do led azul
}
A função analogWrite é a responsável pelo controle da luminosidade do led. Se o valor de redVal em analogWrite(redPin, redVal) for 255 então o led acenderá na intensidade máxima , se for 0 estará apagado e os valores intermediários farão o led acender nas intensidades intermediárias.
O led usado no teste foi um catodo comum de 4 pinos :

Até o final do ano vou comprar os leds de alta potência para iluminar a arvore de natal , conforme prometido a “dileta esposa”.
Posts relacionados:
Liberada Arduino IDE versão 0016
AVR Technical Library DVD
AvrFreaks
Links:
Arduino: Controlando via PWM
Wikipedia: Modelo de Cores RGB
Philips: Led Luxeon de alta potencia


16. June 2007 at 10:22 pm :
ola galera blz gostaria de comprar ums leds rgb de 4 terminais mai gostaria de augem que me vendesem com preço abaixo de 2 reais augem ai tem como me vender quero ums 40 leds caso augem ai tenha para vender entre em contato comigo XXXXXX (a) xxxxxxx xxxxx
19. June 2007 at 4:51 pm :
Amigo , verifica no http://www.mercadolivre.com.br. La tem LEDS a venda de diversos tipos , potencias e outras caracteristicas.
21. June 2007 at 8:59 pm :
Caro Jeronimo,
Sou um atual aluno da graduacao na Escola Politecnica da USP e estou gerenciando um projeto que envolve um controle de uma matriz de ‘pontos de luz’ (que provavelmente serao LEDs RGB). Vi seu blog e percebi que era exatamente o que eu precisava entao gostaria de saber se voce nao poderia tirar algumas duvidas minhas ou mesmo me ajudar a encontrar uma boa solucao para meu projeto. Em caso afirmativo por favor me contate pelo e-mail XXXXXX @ xxxxxxxx.xxxxx. Grato…
22. June 2007 at 10:43 pm :
Vitor ,
Um microcontrolador , em especial a linha AVR, possibilita construir diversos tipos de controladores para iluminacao com led´s. Entrarei em contato pvt com voce.
24. June 2007 at 1:29 pm :
preciso adquirir o programa formador de imagens por leds
o que vc possui ?
25. June 2007 at 5:43 pm :
ola amigos augem ai vende comtroladores rgb eu to muito presisando de um meu msn e deivestk@hotmail.com caso augem tenha ai por favor entre em comtato ok abraços deivestk@hotmail.com
27. June 2007 at 1:17 pm :
Rubens , voce ja tem uma definicao do hardware que vai usar para formar as imagens ? Vai utilizar o Arduino para isso ?
2. October 2007 at 6:02 pm :
Boa Tarde, muito bom o site.
Gostaria de saber aonde consigo comprar uma placa arduino, estou montando um projeto com LEDs e está muito difícil achar alguma placa parecida, ja rodei a Ifigenia inteira. Muito Obrigado.
3. October 2007 at 12:01 pm :
Gustavo ,
Para comprar um Arduino montado e pronto para usar , só no exterior , por exemplo : http://www.sparkfun.com/commerce/categories.php?cPath=2_103
Outra opção é montar ou participar de uma oficina de montagem. O Giuliano Obici está organizando uma serie de oficinas de montagem no Sesc Pompeia em São Paulo para outubro e novembro de 2007 . Entre em contato com ele no forum do Arduino : http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1190922854
15. December 2007 at 6:37 pm :
cara auguem ai sabe me ensinar a fazer um controlador para leds rgb por dmx???????
3. June 2008 at 2:52 am :
ALGUÉM ME AJUDA A CONTROLAR LED´S PELO COMPUTADOR E A PROGRAMAR CHIP´S OU SEI LÁ O QUÊ.
PRECISO APRENDER O PRINCÍPIO DESSAS COISAS.
GOSTARIA QUE ALGUÉM ME DITASSE O QUE DEVO COMPRAR E FAZER. QUE DEUS PAGUE QUALQUER AJUDA A ESSE LOUCO.
24. September 2008 at 4:37 pm :
Alguem pode me ajudar, estou querendo comprar um controlador de leds, se chama pr4403, ou algo parecido..agradeco desde ja…
25. September 2008 at 8:26 am :
Bruno , pesquisei rapidamente no google sobre o controlador e me pareceu ser um produto recem lançado e ainda sem uma distribuição de larga escala. O chip ainda não consta do catalogo de distribuidores americanos como a Digikey. Sugiro que voce entre em contato com o fabricante ( http://www.prema.com ) e explique a sua necessidade para usar o chip e corre o risco até de voce ganhar algumas amostras de graça para testar.
Boa Sorte !!
17. March 2009 at 12:04 am :
Fugindo um pouco do assunto em questão, estou precisando controlar aquelas matrizes de LED usando o Arduino e o CI MAX7219, mas não encontro este componente em lugar algum. Teria alguma sugestão?? desde já agradeço!
meu e-mail é lougard@hotmail.com
17. March 2009 at 8:55 am :
Marcelo ,
Voce tem a possibilidade de importa-lo diretamente de algum distribuidor internacional com , obviamente, os custos associados de importação. Agora este chip é caro , custa em torno de 14 dolares nos EUA e talvez valha a pena pesquisar um pouco mais, elaborar no software ou usar componentes mais baratos e faceis de encontrar para a solução
Outras possibilidades são :
- conectar o Arduino diretamente a matriz de leds : http://www.arduino.cc/playground/Main/DirectDriveLEDMatrix
- usar mux e demux para controlar as matrizes de leds. Alguns exemplos abaixo.
http://www.arduino.cc/playground/Learning/4051
http://www.instructables.com/id/Charlieplexing-7-segment-displays/?ALLSTEPS
Boa Sorte !!
24. November 2010 at 8:20 pm :
[...] desta vez não fazia asneiras e depois decidi começar a experimentar com o LED RGB, comecei por aqui e acabei com [...]
31. August 2011 at 9:31 am :
Estou muito precisando tirar umas duvidas sobre esse assunto, será que podia entrar em contato comigo?
Obrigada
31. August 2011 at 10:54 am :
Sheila ,
Coloque a sua duvida aqui nos comentários.