- Componentes necessários
- Como funciona a comunicação IR?
- Diagrama de circuito
- Programação para Decodificador Remoto Arduino IR
- Salvar os dados do decodificador remoto IR na planilha do Excel
A comunicação IR (infravermelho) é uma tecnologia de comunicação sem fio simples, de baixo custo e amplamente utilizada. A luz infravermelha é um pouco semelhante à luz visível, exceto que o comprimento de onda é um pouco mais longo. Esta propriedade de IR torna-o indetectável ao olho humano e perfeito para comunicação sem fio.
Existem muitas aplicações onde você precisa decodificar os sinais IR para operar alguns dispositivos com controle remoto IR. Portanto, neste tutorial, usaremos o receptor de IR TSOP1838 para construir um decodificador remoto de IR usando Arduino. O código hexadecimal para cada botão será registrado na planilha do Microsoft Excel. Este simples decodificador de controle remoto IR pode ser usado em projetos como robô de controle remoto IR, automação residencial e outros projetos controlados por IR.
Anteriormente, usávamos IR remoto e receptor TSOP para construir muitos aplicativos úteis, como:
- Circuito de dimmer TRIAC com controle remoto IR
- Automação residencial controlada por infravermelho usando Arduino
- IR Remote Controlled Home Automation using PIC Microcontrolador
- AC controlado por telefone celular usando Arduino e Bluetooth
Componentes necessários
- Arduino Uno / Arduino Nano
- Receptor IR (TSOP1838)
- Jumper Wires
- Tábua de pão
Como funciona a comunicação IR?
Como outros sistemas de comunicação, a comunicação infravermelha também possui um transmissor e um receptor. O transmissor se parece com um LED, mas produz luz no espectro IV em vez do espectro visível. Enquanto o receptor IR é um fotodiodo integrado com um pré-amplificador que transforma a luz IR em um sinal elétrico. Para comunicação IR, tanto o transmissor quanto o receptor devem estar apontados um para o outro. Para saber mais sobre o transmissor IR e circuito receptor, siga o link.
Quando um botão remoto é pressionado, o LED IR (Transmissor) emite luz infravermelha. Esta luz é recebida pelo receptor que normalmente é um fotodiodo ou fototransistor. Mas a luz IV também é emitida pelo sol, lâmpadas e qualquer outra coisa que produza calor. Isso pode interferir no sinal do transmissor, portanto, para evitar, o sinal do transmissor é modulado usando uma frequência portadora entre 36 kHz a 46 kHz. Ao receber o sinal, o receptor IR demodula o sinal e o converte em binário antes de enviá-lo ao microcontrolador.
Aqui estamos usando um controle remoto de TV para enviar sinais IR e TSOP1838 com Arduino para recebê-los.
Além disso, verifique vários aplicativos baseados em IR aqui, incluindo o Circuito Jammer do Controle Remoto da TV e o circuito do testador IR.
Diagrama de circuito
O diagrama de circuito para o decodificador remoto IR usando Arduino é fornecido abaixo:
As conexões são muito simples, pois o sensor do receptor de infravermelho possui apenas três pinos, Vs, GND e dados. Conecte o pino Vs e GND do receptor IR ao pino GND 3,3V do Arduino e o pino de dados ao pino 2 digital do Arduino.
Programação para Decodificador Remoto Arduino IR
O código completo para o Decodificador Arduino IR é fornecido no final da página.
Para decodificar o IR Remote, primeiro, precisamos baixar e adicionar uma biblioteca IR ao Arduino IDE. Você pode baixar a biblioteca IR Remote aqui. Depois de baixar o arquivo, abra seu IDE Arduino e vá para Sketch> Incluir biblioteca> Biblioteca Add.Zip . Selecione o arquivo da biblioteca e clique em 'Abrir'.
Comece seu código incluindo o arquivo de biblioteca do IR Remote.
#incluir
Depois disso, defina o pino do Arduino onde você conectou o pino de dados do receptor IR. No meu caso, ele está conectado ao pino D2 do Arduino.
int IRPIN = 2;
Depois disso, crie uma instância para o pino do receptor IR.
IRrecv irrecv (IRPIN);
Na próxima linha, defina um objeto para a classe decode_results , que será usado pelo receptor IR para enviar as informações decodificadas.
decode_results result;
Dentro do setup () função, iniciar a comunicação serial, e iniciar o receptor IR chamando o IRrecv função enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("Ativando IRin"); irrecv.enableIRIn (); Serial.println ("IRin ativado"); Initialize_streamer (); }
Na função loop () , irrecv.decode verifica constantemente se há um novo sinal e, se um novo sinal for recebido, o código do sinal recebido será armazenado em uma função result.value .
void loop () {if (irrecv.decode (& result)) {Serial.print ("Valor:"); Serial.println (result.value, HEX); Write_streamer (); irrecv.resume (); } atraso (500); }
Para enviar dados para uma planilha Excel do Arduino, estamos usando PLX-DAQ. Usando a função Write_streamer () , estamos enviando os dados serialmente em um padrão específico, assim como exibindo o valor no monitor serial. As linhas principais são explicadas abaixo:
void Write_streamer () {Serial.print ("DATA"); // sempre escreva "DATA" para indicar o seguinte como Data Serial.print (","); // Mover para a próxima coluna usando um "," Serial.print (result.value, HEX); // Armazena a data no Excel Serial.print (","); // Mover para a próxima coluna usando um "," Serial.println (); // Fim da linha mover para a próxima linha}
Assim que o hardware e o programa estiverem prontos, é hora de fazer o upload do programa para a placa Arduino Nano. Após carregar o código, aponte o controle remoto em direção ao receptor IR e pressione os botões do controle remoto. O código hexadecimal para cada botão será impresso no monitor serial.
Salvar os dados do decodificador remoto IR na planilha do Excel
Agora, para enviar dados para uma planilha Excel, vamos usar o PLX-DAQ. É um software Excel Plug-in que ajuda você a escrever valores do Arduino diretamente em uma planilha Excel em seu laptop ou PC. Use o link para baixar o arquivo. Após o download, extraia o arquivo e clique no arquivo.exe para instalá-lo. Isso criará uma pasta chamada PLX-DAQ em sua área de trabalho.
Agora abra o arquivo 'planilha PLX-DAQ' na pasta da área de trabalho. Se as macros estiverem desabilitadas em seu Excel, você verá um bloqueio de segurança conforme mostrado na imagem abaixo:
Clique em Opções-> Ativar o conteúdo -> Concluir -> OK para ativar as macros. Depois disso, você obterá a seguinte tela:
Agora selecione a taxa de transmissão como “9600” e a porta na qual seu Arduino está conectado e clique em Conectar para iniciar o streaming de dados. Seus valores devem começar a ser registrados como mostrado na imagem abaixo.
É assim que um Decodificador Remoto Arduino IR pode ser construído facilmente para converter os sinais remotos IR em código HEX equivalente.
O código Arduino completo com um vídeo de demonstração é fornecido abaixo.