- Descrição: O Módulo Adaptador I2C para Display LCD (16X2 /…
Como usar com Arduino – KIT Controle Remoto Infravermelho
– Descrição:
O KIT Controle Remoto Infravermelho é um dos módulos mais procurados para plataformas embarcadas, pois é formado pelos itens necessários para se aprender mais sobre tecnologia infravermelha.
Com a utilização do KIT Controle Remoto Infravermelho em conjunto com um microcontrolador é possível clonar as teclas do controle remoto para em seguida definir ações especificas no microcontrolador de acordo com a tecla pressionada no controle remoto clonado. Também é possível clonar outros modelos de controle remoto (TVs, som, DVD, BluRay, TV a cabo). São diversos projetos que podem ser desenvolvidos a partir da utilização desse KIT.
O KIT Controle Remoto Infravermelho é composto de um controle remoto compacto, um módulo fotorreceptor universal para clonagem de controle remoto que opera na faixa de 38KHz, um LED emissor infravermelho e três cabos jumper fêmea-fêmea.
Especificações (Controle Remoto):
– Controle remoto infravermelho
– Alimentação: bateria CR25
– Teclado numérico / navegação
– Possui 18 teclas
– Compacto
Especificações (Módulo Fotorreceptor / Receptor IR VS1838B KY-022):
– Tensão de operação: 2,7 a 5,5VDC
– Corrente de operação: 0,4 a 1,5mA
– Distância de recepção do sinal: 18m
– Frequência de operação: 38KHz
– Ângulo: 45º
Especificações (LED Emissor Infravermelho):
– LED 5MM Infravermelho
– Tensão de operação: 1,6VDC
– Corrente de operação: 20mA
– Comprimento da onda: 940nM
– Ângulo: 15º ~ 30°
– Aplicações:
Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário clonar as teclas de um controle remoto, controlar algum tipo de saída a partir de um controle remoto ou enviar os códigos clonados.
– Proposta da prática:
1) Utilizar o Módulo Fotorreceptor / Receptor IR VS1838B KY-022 que faz parte do KIT Controle Remoto Infravermelho, e em conjunto com o Arduino fazer a clonagem das teclas 1 / 2 / 3 do controle remoto.
2) Em seguida controlar três LEDs a partir do pressionamento das teclas clonadas.
– Lista dos itens necessários:
01 – Arduino com Cabo USB
01 – KIT Controle Remoto Infravermelho
01 – LED Difuso 5mm Vermelho
01 – LED Difuso 5mm Verde
01 – LED Difuso 5MM Amarelo
03 – Resistor de 150Ω
01 – Protoboard
06 – Cabos Jumper macho-macho
03 – Cabos Jumper macho-fêmea
– Esquema de ligação da prática (clonagem das teclas):
– Tutorial de instalação e configuração do ambiente de programação do Arduino:
Arduino – Instalação e Configuração da IDE no Windows
– Biblioteca:
– Importando bibliotecas para o ambiente de programação do Arduino:
Arduino – Importando bibliotecas para a IDE
– Código (clonagem das teclas):
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 |
#include <IRremote.h> //INCLUSÃO DE BIBLIOTECA int RECV_PIN = 2; //PINO DIGITAL UTILIZADO PELO FOTORRECEPTOR KY-022 IRrecv irrecv(RECV_PIN); //PASSA O PARÂMETRO PARA A FUNÇÃO irrecv decode_results results; //VARIÁVEL QUE ARMAZENA OS RESULTADOS (SINAL IR RECEBIDO) void setup(){ Serial.begin(9600); //INICIALIZA A SERIAL irrecv.enableIRIn(); //INICIALIZA A RECEPÇÃO DE SINAIS IR } void loop(){ //CAPTURA O SINAL IR if (irrecv.decode(&results)) { Serial.print("Código HEX: "); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.println(results.value, HEX); //IMPRIME NO MONITOR SERIAL O CÓDIGO IR EM FORMATO HEXADECIMAL Serial.print("Código DEC: "); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.println(results.value); //IMPRIME NO MONITOR SERIAL O CÓDIGO IR EM FORMATO DECIMAL Serial.println(""); //QUEBRA DE LINHA NA SERIAL irrecv.resume(); //AGUARDA O RECEBIMENTO DE UM NOVO SINAL IR } delay(100); //INTERVALO DE 100 MILISSEGUNDOS } |
– Resultado (clonagem das teclas):
OBS: veja que os códigos são capturados em formato hexadecimal (HEX) e em decimal (DEC). O ideal é que pressione o mesmo botão mais de uma vez para confirmar que o código clonado está correto. Anote os códigos (DEC) que você clonar, pois você irá precisar deles a seguir.
– Esquema de ligação da prática (controle dos LEDs):
– Código (controle dos LEDs):
OBS: antes de carregar o código abaixo no Arduino, substitua os valores das variáveis codTecla1 (linha 11) / codTecla2 (linha 12) / codTecla3 (linha 13) pelos códigos (DEC) que você clonou e anotou.
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
#include <IRremote.h> //INCLUSÃO DE BIBLIOTECA int RECV_PIN = 2; //PINO DIGITAL UTILIZADO PELO FOTORRECEPTOR KY-022 IRrecv irrecv(RECV_PIN); //PASSA O PARÂMETRO PARA A FUNÇÃO irrecv const int ledVermelho = 8; //PINO DIGITAL UTILIZADO PELO LED VERMELHO const int ledVerde = 9; //PINO DIGITAL UTILIZADO PELO LED VERDE const int ledAmarelo = 10; //PINO DIGITAL UTILIZADO PELO LED AMARELO long int codTecla1 = 16738455; //CÓDIGO DA TECLA 1 (ALTERE PARA O CÓDIGO DECIMAL QUE VOCÊ CAPTUROU) long int codTecla2 = 16750695; //CÓDIGO DA TECLA 2 (ALTERE PARA O CÓDIGO DECIMAL QUE VOCÊ CAPTUROU) long int codTecla3 = 16756815; //CÓDIGO DA TECLA 3 (ALTERE PARA O CÓDIGO DECIMAL QUE VOCÊ CAPTUROU) int stLedVermelho = 0; //VARIÁVEL QUE CONTROLA O ESTADO DO LED VERMELHO (LIGADO / DESLIGADO) int stLedVerde = 0; //VARIÁVEL QUE CONTROLA O ESTADO DO LED VERDE (LIGADO / DESLIGADO) int stLedAmarelo = 0; //VARIÁVEL QUE CONTROLA O ESTADO DO LED AMARELO (LIGADO / DESLIGADO) decode_results results; //VARIÁVEL QUE ARMAZENA OS RESULTADOS (SINAL IR RECEBIDO) void setup(){ irrecv.enableIRIn(); //INICIALIZA A RECEPÇÃO DE SINAIS IR pinMode(ledVermelho, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(ledVerde, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(ledAmarelo, OUTPUT); //DEFINE O PINO COMO SAÍDA } void loop() { //CAPTURA O SINAL IR if (irrecv.decode(&results)) { if((results.value == codTecla1) && (stLedVermelho == 0)){ //SE O CÓDIGO IR CAPTURADO FOR IGUAL A codTecla1 E A //VARIÁVEL stLedVermelho FOR IGUAL A 0, FAZ digitalWrite(ledVermelho, HIGH); //LIGA O LED VERMELHO stLedVermelho = 1; //VARIÁVEL RECEBE O VALOR 1 }else{//SENÃO, FAZ if((results.value == codTecla1) && (stLedVermelho == 1)){ ///SE O CÓDIGO IR CAPTURADO FOR IGUAL A codTecla1 E A //VARIÁVEL stLedVermelho FOR IGUAL A 1, FAZ digitalWrite(ledVermelho, LOW); //DESLIGA O LED VERMELHO stLedVermelho = 0; //VARIÁVEL RECEBE O VALOR 0 } } if((results.value == codTecla2) && (stLedVerde == 0)){ //SE O CÓDIGO IR CAPTURADO FOR IGUAL A codTecla2 E A //VARIÁVEL stLedVerde FOR IGUAL A 0, FAZ digitalWrite(ledVerde, HIGH); //LIGA O LED VERDE stLedVerde = 1; //VARIÁVEL RECEBE O VALOR 1 }else{//SENÃO, FAZ if((results.value == codTecla2) && (stLedVerde == 1)){ ///SE O CÓDIGO IR CAPTURADO FOR IGUAL A codTecla2 E A //VARIÁVEL stLedVerde FOR IGUAL A 1, FAZ digitalWrite(ledVerde, LOW); //DESLIGA O LED VERDE stLedVerde = 0; //VARIÁVEL RECEBE O VALOR 0 } } if((results.value == codTecla3) && (stLedAmarelo == 0)){ //SE O CÓDIGO IR CAPTURADO FOR IGUAL A codTecla3 E A //VARIÁVEL stLedAmarelo FOR IGUAL A 0, FAZ digitalWrite(ledAmarelo, HIGH); //LIGA O LED AMARELO stLedAmarelo = 1; //VARIÁVEL RECEBE O VALOR 1 }else{//SENÃO, FAZ if((results.value == codTecla3) && (stLedAmarelo == 1)){ ///SE O CÓDIGO IR CAPTURADO FOR IGUAL A codTecla3 E A //VARIÁVEL stLedAmarelo FOR IGUAL A 1, FAZ digitalWrite(ledAmarelo, LOW); //DESLIGA O LED AMARELO stLedAmarelo = 0; //VARIÁVEL RECEBE O VALOR 0 } } irrecv.resume(); //AGUARDA O RECEBIMENTO DE UM NOVO SINAL IR } delay(10); //INTERVALO DE 10 MILISSEGUNDOS } |
– Resultado final (controle dos LEDs):
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 – Módulo Relé 5V de Estado Sólido SSR 1 Canal
Próxima postagem: Node-RED : Ferramentas e suas funcionalidades
Ótimo conteúdo.
No exemplo acima é para acender e apagar leds, no caso se fosse para controlar um rádio que não tem controle remoto original de fabrica (nem sensor de infravermelho), como saberia onde ligar a saída do arduino no rádio.
Espero ter sido claro com minha dúvida.
Agradeço desde já.
Estou utilizando o código acima, e toda vez que pressiono um botão que não esta sendo utilizado o programa “Trava” e não consigo mais executar funções que antes funcionavam normalmente.
Boa tarde, achei interessantissimo esse codigo, me ajudou a entender melhor o que eu procurava, agora estou com uma duvida, por exemplo:
no seu exemplo só acende o led, correto? gostaria de criar uma piscada no led, tipo, ficar 60ms ligado e desligar por 150ms, para ele simular um strobo de aviao, no caso tem como eu fazer tipo, apertar uma tecla e ele começar a fazer o flash, apertar de novo e ele parar de piscar, independente dos outros leds com suas consecutivas teclas?
ficou confuso né?
eu tentei usando o switch case, mas, no momento que aperto a tecla do led que está com a sequencia criada ele já nao desliga mais, e nem liga os outros (que estavam apenas para ligar e desligar mesmo)
se quiser posso mandar meu codigo por email
Será que daria pra usar com controles automotivos aqueles de longa distância? Tô com um projeto de fazer um conversor de sinais infravermelho em sinais elétricos de voltagens distintas pra cada tecla pressionada. Pra usar como um controle resistivo.
olá muito bacana, fiz os testes e funcionou perfeitamente, mas eu gostaria de saber se tem como eu controlar a intensidade do brilho através do controle tbm
Olá Jefferson.
Agradeço pelo comentário!
Sim, fazendo as devidas alterações no código é possível.
Olá Euler,
É muito interessante essas coisas controladas remotamente;
Vc tem alguma coisa relacionada a Controle Remoto e Matriz de Led, módulo 8×32, por exemplo, ou algo mais simples? Obrigado
Olá Daniel.
Agradeço pelo comentário!
Prática envolvendo controle remoto e matriz de led ainda não temos aqui no Blog.
Qual seria a ideia do projeto envolvendo estes dois itens?
Boa noite!
Excelente tutorial.
Consegui fazer com o controle de duas TV’s porém o do ar condicionado LG mesmo pressionando apenas uma vez o botão só retorna FFFFFF, será q é “criptografado”? Poderia me ajudar?
Olá Filipe.
Controle remoto de ar condicionado costuma não ser possível clonar as teclas a partir do Fotorrecptor IR utilizado com o Arduino.