Como utilizar um controle remoto e receptor IR com o Arduino

 

 

COMO UTILIZAR UM CONTROLE REMOTO E RECEPTOR IR COM O ARDUINO

 

 

A comunicação por infravermelho (IR) é uma tecnologia sem fio amplamente utilizada e fácil de implementar, que oferece uma variedade de aplicações úteis. No dia a dia, encontramos exemplos proeminentes dessa tecnologia, como os controles remotos de TV/vídeo, sensores de movimento e termômetros infravermelhos. Além disso, a comunicação IR é empregada em diversos projetos interessantes envolvendo o Arduino.

Com um simples transmissor e receptor de infravermelho, é possível criar uma ampla gama de dispositivos controlados remotamente, como robôs, sensores de distância, monitores de frequência cardíaca, e muito mais. A versatilidade e a facilidade de integração do infravermelho com o Arduino tornam-no uma escolha popular para entusiastas e desenvolvedores.

O objetivo deste artigo é detalhar o conceito de infravermelho e explicar seu funcionamento. Além disso, forneceremos instruções passo a passo sobre como configurar um receptor de infravermelho e um controle remoto com o Arduino.  Ao compreender os princípios do infravermelho e aprender a implementá-lo em projetos com Arduino, o leitor estará apto a explorar todo potencial dessa tecnologia para criar soluções personalizadas e criativas.

 

O que é a radiação infravermelha?

A radiação infravermelha é uma forma de luz semelhante àquela que percebemos no nosso entorno. A principal distinção entre a luz infravermelha e a luz visível reside na frequência e no comprimento de onda. A radiação infravermelha se encontra além do alcance da luz visível, tornando-se invisível aos olhos humanos. A Figura 1 ilustra o espectro eletromagnético.

 

                                                       Figura 1 - Espectro eletromagnético

 

Um detalhe a ser observado sobre a comunicação por infravermelho (IR), é a necessidade de uma linha de visão direta entre o transmissor e o receptor, uma vez que o IR é um tipo de luz. Diferentemente de tecnologias como WiFi ou Bluetooth, ela não é capaz de transmitir através de paredes ou outros materiais.

 

Como funcionam os controles e receptores infravermelhos?

Um sistema de comunicação por infravermelho convencional envolve a utilização de um emissor de infravermelho e um receptor de infravermelho. O emissor se assemelha a um LED comum, porém emite luz no espectro infravermelho, em vez do espectro visível. Ao observar a parte frontal de um controle remoto de TV, é possível identificar o LED do emissor de infravermelho. Na Figura 2 apresentamos o controle transmissor IR que utilizaremos neste artigo.

 

Figura 2 – Controle transmissor IR

 

Características do controle IR

 - Quantidade Teclas: 17

 - Bateria: 3V CR2025/160mAH (Não Inclusa)

 - Faixa de alcance: 8m ~ 10m

 - Comprimento de onda infravermelho: 940nm

 - Codificação: o formato de codificação NEC, esquema de codificação upd6122, o código de utilizador 00FF

 - Tamanho: 86 X 40 X 6mm

 - Frequência: 38Khz

 - Vida útil das teclas: 20000 acionamentos

 

O receptor IR é o VS1838B um fotodiodo e pré-amplificador que converte a luz IR em um sinal elétrico. Na Figura 3 apresentamos o receptor IR que utilizaremos neste artigo.

 

Figura 3 – Receptor IR VS1838B

 

Características do receptor IR VS1838B

 - Frequência de trabalho: 38Khz

 - Tensão de trabalho: 2,7 a 5,5V

 - Consumo de corrente: 0,4 a 1,5mA

 - Ângulo: +/- 45°

 - Tensão em nível lógico baixo: 0,4V

 - Tensão em nível lógico alto: até 4,5V

 

Modulação de sinal IR

A luz infravermelha é emitida pelo sol, lâmpadas e qualquer outra fonte de calor. Isso resulta em um ambiente com bastante ruído de luz infravermelha ao nosso redor. Para evitar que esse ruído interfira no sinal infravermelho (IR), é utilizada uma técnica chamada modulação de sinal.

 

Na modulação de sinal IR, um codificador presente no controle remoto IR converte um sinal binário em um sinal elétrico modulado. Esse sinal elétrico é então enviado para o LED transmissor. O LED transmissor converte o sinal elétrico modulado em um sinal de luz IR também modulado. Por sua vez, o receptor IR recebe o sinal de luz IR e realiza a demodulação, convertendo-o de volta para o formato binário original antes de transmitir as informações para um microcontrolador. Este processo pode ser observado na Figura 4.

 

Figura 4 – Processo de modulação do sinal IR

 

O sinal IR modulado é uma série de pulsos de luz IR ligados e desligados em uma alta frequência conhecida como frequência portadora. A frequência portadora usada pela maioria dos transmissores é 38 kHz, porque é rara na natureza e, portanto, pode ser distinguida do ruído ambiente. Desta forma, o receptor IR saberá que o sinal de 38 kHz foi enviado do transmissor e não captado do ambiente ao redor.

 

O diodo receptor detecta todas as frequências de luz infravermelha, mas possui um filtro passa-banda e só permite a passagem de infravermelho em 38 kHz. Em seguida, ele amplifica o sinal modulado com um pré-amplificador e o converte em um sinal binário antes de enviá-lo para um microcontrolador.

 

Códigos Hexadecimais IR

Cada vez que você pressiona um botão no controle remoto, um código hexadecimal exclusivo é gerado. Esta informação é modulada e enviada por IR para o receptor. Para decifrar qual tecla foi pressionada, o microcontrolador receptor precisa saber qual código corresponde a cada tecla do controle remoto.

Diferentes controles remotos enviam códigos diferentes para os pressionamentos de tecla, portanto, você precisará determinar o código gerado para cada tecla em seu controle remoto específico. Se você verificar o data sheet, os códigos de chave IR devem estar listados. Caso contrário, existe um código simples do Arduino que lerá a maioria dos controles remotos populares e imprimirá os códigos hexadecimais no monitor serial quando você pressionar uma tecla.

 

Conectando o sistema IR com o Arduino Uno

A integração do Arduino Uno com o receptor IR é bastante simples. Iremos demonstrar como você pode usar o controle remoto IR para controlar os pinos de saída do Arduino, alterando o estado lógico de 3 LED’s de cores distintas (vermelho, amarelo e azul).

No circuito que será proposto o receptor IR será conectado e alimentado pelo próprio Arduino Uno.

 

Materiais para montagem

 

Passos para a montagem do circuito

A montagem do circuito deve ser feita conforme a Figura 5. Observe atentamente a posição correta de conexão dos pinos do receptor VS1838B IR no Arduino Uno. Os resistores são necessários para limitar a corrente nos respectivos LED’s.

 

Figura 5 – Montagem do circuito

 

Para facilitar a montagem do circuito anterior detalhamos as principais conexões na tabela a seguir:   

 

 

Programação do Arduino

Para este projeto utilizaremos a biblioteca IRremote. Esta biblioteca é responsável por simplificar a programação de códigos utilizando o sistema IR.

Para instalar a biblioteca IRremote no Arduino, siga os seguintes passos:

 - Abra a IDE do Arduino em seu computador.

 - Vá até o menu "Sketch" e selecione "Incluir Biblioteca" (ou "Include Library").

 - No submenu que aparece, clique em "Gerenciar Bibliotecas" (ou "Manage Libraries").

 - Na janela "Gerenciador de Bibliotecas", digite "IRremote" na barra de busca.

 - A biblioteca IRremote deve aparecer nos resultados da pesquisa. Clique nela para selecioná-la.

 - Em seguida, clique no botão "Instalar" (ou "Install").

 - Aguarde até que a instalação seja concluída. Você verá uma mensagem informando quando a instalação for bem-sucedida.

 - Feche o Gerenciador de Bibliotecas.

 

Descobrindo os códigos hexadecimais do controle

Antes de partirmos para a programação principal é necessário descobrir os códigos hexadecimais dos botões do controle IR. Para encontrar os códigos-chave do seu controle remoto, digite e carregue o código a seguir no seu Arduino e em seguida abra o monitor serial:

 

 

No nosso caso iremos utilizar apenas 3 botões do controle. Ao pressionar as teclas 1, 2 e 3 do nosso controle os códigos hexadecimais obtidos no monitor serial do Arduino foram FF6897, FF9867 e FFB04F respectivamente.

Os resultados podem ser observados na Figura 6.

 

Figura 6 – Valores hexadecimais obtidos relativos aos botões 1, 2 e 3 do controle IR

 

Para circuitos onde houver a necessidade de mais acionamentos, basta descobrir os códigos hexadecimais das demais teclas. É importante notar que os códigos hexadecimais podem variar de acordo com o controle utilizado. Por este motivo é importante não pular esta etapa de identificação das teclas do controle que será utilizado.

Você deve anotar os códigos obtidos para utilizar na próxima etapa. Para o nosso caso temos:

 

Após descobrir os códigos hexadecimais relativos aos botões 1,2 e 3 basta adicioná-los nos campos indicados do código precedidos de 0x (por exemplo, 0xFF6897).

 

 

Após digitar o código, basta fazer o upload no Arduino Uno. O processo para fazer o upload do código no Arduino Uno é bem simples:

 - Conecte o seu Arduino Uno utilizando o cabo USB.

 - Vá em Ferramentas ? Placa ? Arduino Uno para selecionar sua placa no menu Arduino.

 - Em seguida escolha a porta serial correta para sua placa vá em ferramentas ? Porta serial ? COMx (Escolha a porta serial ao qual o seu Arduino estiver conectado).

 - Por fim, basta clicar no botão Carregar. 

Se não houver nenhum erro de digitação ou configuração, o código será gravado no Arduino. Caso contrário verifique se o código foi digitado corretamente e se as configurações estão corretas.

 

Funcionamento

Após o código ser carregado com sucesso no Arduino, ao pressionar o botão 1 do controle IR, o Arduino irá alterar o estado lógico do LED vermelho. Da mesma maneira ao pressionar o botão 2 do controle IR, o Arduino irá alterar o estado lógico do LED Amarelo. E por fim, ao pressionar o botão 3 do controle IR, o Arduino irá alterar o estado lógico do LED verde.

A partir deste circuito que apresentamos, utilize sua criatividade adicionando mais componentes a serem acionados, como relés, lâmpadas, motores e muito mais.

 

Conclusão

Neste artigo, exploramos a integração do Arduino com um receptor infravermelho (IR). Demonstramos como o Arduino pode receber e interpretar sinais infravermelhos de um controle remoto e executar ações correspondentes. Ao longo deste artigo, observamos os componentes necessários para montar um sistema de controle IR básico, explicando em detalhes como conectar os componentes corretamente e como utilizar a biblioteca para decodificar os sinais infravermelhos.

Além disso, abordamos a programação do Arduino para mapear os códigos infravermelhos recebidos para ações específicas, como o controle de LED’s. No entanto, as possibilidades são vastas, podendo controlar uma ampla gama de dispositivos, como motores, sensores, displays, entre outros.