Microcontroladores , Open Hardware , Open Software e Tecnologia em Geral
Blog do Je » Page 'Controlando LED RGB com Arduino'

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 :
Led RGB

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

Gostou deste post ? Divulgue !
delicious digg google
stumbleupon technorati Yahoo!

15 commentarios to “Controlando LED RGB com Arduino”

  1. 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

  2. Amigo , verifica no http://www.mercadolivre.com.br. La tem LEDS a venda de diversos tipos , potencias e outras caracteristicas.

  3. 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…

  4. 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.

  5. preciso adquirir o programa formador de imagens por leds
    o que vc possui ?

  6. 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

  7. Rubens , voce ja tem uma definicao do hardware que vai usar para formar as imagens ? Vai utilizar o Arduino para isso ?

  8. 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.

  9. 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

  10. cara auguem ai sabe me ensinar a fazer um controlador para leds rgb por dmx???????

  11. 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.

  12. Alguem pode me ajudar, estou querendo comprar um controlador de leds, se chama pr4403, ou algo parecido..agradeco desde ja…

  13. 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 !!

  14. 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

  15. 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 !!

Deixe um comentario

XHTML - Voce pode usar:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Topo da página / Assinar para receber novos Posts (RSS)