- Descrição: Os relés são componentes eletromecânicos capazes de controlar…
Como usar com Arduino – LED RGB
– Descrição:
O LED RGB tem a capacidade de exibir uma grande quantidade de cores que são originadas a partir de três cores primárias. Este tipo de LED possui três LEDs encapsulados em um mesmo dispositivo, onde cada LED representa uma cor distinta: vermelho (Red), verde (Green) e azul (Blue). Cada um destes LEDs pode ser controlado de forma individual e se combinados podem gerar diversas cores.
No LED RGB há um terminal maior que é comum aos outros três e este terminal pode ter configuração anodo comum (o terminal será conectado ao VCC) ou catodo comum (o terminal será conectado ao GND).
– Especificações e características:
– Tensão de operação (vermelho): 2 a 2,5VDC
– Tensão de operação (verde): 3,2 a 3,6VDC
– Tensão de operação (azul): 3,2 a 3,6VDC
– Corrente de operação (em cada LED): 20mA
– Configuração: anodo comum
– Comprimento de onda (vermelho): 620nm
– Comprimento de onda (verde): 520nm
– Comprimento de onda (azul): 470nm
– Temperatura de operação: -40º a 85º celsius
– Ângulo de abertura: 30º
– Aplicações:
Projetos com Arduino ou outras plataformas microcontroladas que necessitem de um LED RGB para sinalizar algo através de cores distintas e sem a necessidade de usar um LED para cada sinalização.
– Proposta da prática:
Utilizar o LED RGB em conjunto com o Arduino e misturar as cores primárias para gerar várias outras cores.
– Lista dos itens necessários:
01 – Arduino com Cabo USB
01 – LED RGB (anodo comum ou catodo comum)
03 – Resistor de 220Ω
01 – Protoboard
04 – Cabos Jumper macho-macho
– Esquema de ligação da prática:
OBS: se o LED RGB que você está utilizando for catodo comum, basta conectar o terminal maior ao GND do Arduino, caso o LED RGB seja anodo comum, basta fazer a conexão do terminal maior conforme o esquema abaixo.
– Tutorial de instalação e configuração do ambiente de programação do Arduino:
Arduino – Instalação e Configuração da IDE no Windows
– Código:
OBS: no código há a linha ‘#define COMMON_ANODE’ que é responsável por informar ao Arduino qual a configuração do LED RGB que está sendo utilizado. Se o LED RGB que você está utilizando é anodo comum não será necessário fazer nenhuma alteração no código, mas caso esteja usando um LED RGB catodo comum, esta linha deverá ser comentada, ou seja, basta substituir pela linha ‘//#define COMMON_ANODE’ (sem as aspas).
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 |
int pinoR = 11; //PINO DIGITAL EM QUE O TERMINAL 'R' ESTÁ CONECTADO int pinoG = 10; //PINO DIGITAL EM QUE O TERMINAL 'G' ESTÁ CONECTADO int pinoB = 9; //PINO DIGITAL EM QUE O TERMINAL 'B' ESTÁ CONECTADO //COMENTE A LINHA ABAIXO SE O LED RGB QUE ESTÁ UTILIZANDO É CATODO COMUM #define COMMON_ANODE void setup(){ delay(5000); pinMode(pinoR, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(pinoG, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(pinoB, OUTPUT); //DEFINE O PINO COMO SAÍDA } void loop(){ setColor(255, 0, 0); //PARÂMETROS PARA PRODUZIR A COR VERMELHA delay(1000); //INTERVALO DE 1 SEGUNDO setColor(0, 255, 0); //PARÂMETROS PARA PRODUZIR A COR VERDE delay(1000); //INTERVALO DE 1 SEGUNDO setColor(0, 0, 255); //PARÂMETROS PARA PRODUZIR A COR AZUL delay(1000);//INTERVALO DE 1 SEGUNDO setColor(255, 255, 0); //PARÂMETROS PARA PRODUZIR A COR AMARELA delay(1000); //INTERVALO DE 1 SEGUNDO setColor(80, 0, 80); //PARÂMETROS PARA PRODUZIR A COR VIOLETA delay(5000); //INTERVALO DE 1 SEGUNDO setColor(0, 255, 255); //PARÂMETROS PARA PRODUZIR A COR AZUL AQUA delay(1000); //INTERVALO DE 1 SEGUNDO } //FUNÇÃO QUE PRODUZ O BRILHO DE CADA UM DOS LEDS DE ACORDO COM OS PARÂMETROS INFORMADOS void setColor(int vermelho, int verde, int azul){ #ifdef COMMON_ANODE //SE O LED RGB FOR DEFINIDO COMO ANODO COMUM, FAZ vermelho = 255 - vermelho; //VARIÁVEL RECEBE O RESULTADO DA OPERAÇÃO '255 MENOS O PARÂMETRO (vermelho) INFORMADO' NA CHAMADA DA FUNÇÃO verde = 255 - verde; //VARIÁVEL RECEBE O RESULTADO DA OPERAÇÃO '255 MENOS O PARÂMETRO (verde) INFORMADO' NA CHAMADA DA FUNÇÃO azul = 255 - azul; //VARIÁVEL RECEBE O RESULTADO DA OPERAÇÃO '255 MENOS O PARÂMETRO (azul) INFORMADO' NA CHAMADA DA FUNÇÃO #endif analogWrite(pinoR, vermelho); //DEFINE O BRILHO DO LED DE ACORDO COM O VALOR INFORMADO PELA VARIÁVEL 'vermelho' analogWrite(pinoG, verde); //DEFINE O BRILHO DO LED DE ACORDO COM O VALOR INFORMADO PELA VARIÁVEL 'verde' analogWrite(pinoB, azul); //DEFINE O BRILHO DO LED DE ACORDO COM O VALOR INFORMADO PELA VARIÁVEL 'azul' } |
– Resultado final:
Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!
Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop
Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Como usar com Arduino – Sensor de Tensão AC 0 a 250V Voltímetro ZMPT101B
Próxima postagem: Node-RED e IBM-Watson | Construindo a Interface
Tenho uma dúvida. Se os pinos estão como OUTPUT. O calculo de quanto pwm vai ser colocado no pino é pra criar o DDP, logo os eletrons vão fluir do 5v para o pino que está como OUTPUT. Isso não queima o circuito não? O pino está tentando enviar elétrons e acaba os recebendo!
Sou um pouco leigo no assunto. Se alguém puder me explicar, por gentileza, como que um pino energizado pode receber elétrons de outra fonte com tensão maior ficaria grato.
bomdia
tem um Delay de 5000
Está correto?
Alex Guará DF
5000 no caso daria 5 segundos, para ter 1 segundo de delay teria de ser 1000
Muito obrigado Euler. Minha solução estava escrita para usar o cátodo e quando eu recebi do fornecedor os leds usando o ânodo, eu fiquei sem saber o que fazer. Graças ao seu tutorial, consegui alterar meu programa.
Valeu!
Olá Jose Antonio Neto.
Fico satisfeito em saber que esta postagem te ajudou de alguma forma.