Controle LED usando o sensor IR e o controle remoto IR com Arduino Uno

Controle LED usando o sensor IR e o controle remoto IR com Arduino Uno
Arduino UNO com o Receptor de RI é uma combinação popular para a construção de projetos de controle remoto IR. O receptor de RI é um dispositivo que pode detectar e receber sinais de infravermelho. Juntos, o receptor Arduino UNO e IR pode ser usado para construir projetos que podem ser controlados por um controle remoto portátil ou outro transmissor de infravermelho.

Este artigo aborda:

  • 1: Introdução ao sensor de IR
  • 2: pinagem do sensor de infravermelho
  • 3: Interface o sensor IR com Arduino
  • 3.1: esquemático
  • 3.2: Instalando a biblioteca necessária
  • 4: Decodificação de um IR Remote Buttons
  • 4.1: código
  • 4.2: saída
  • 5: Controlando o LED usando o controle remoto IR
  • 5.1: esquemático
  • 5.2: código
  • 5.3: saída
  • Conclusão

1: Introdução ao sensor de IR

Um receptor de RI é um dispositivo que pode detectar e receber sinais de infravermelho (IR). É normalmente usado em sistemas de controle remoto IR para receber comandos de um controlador remoto IR ou outro transmissor de infravermelho. O receptor de RI consiste em um fotodiodo ou outro componente sensível ao IR que detecta os sinais de RI e um circuito desmodulador que decodifica os sinais.

A saída do receptor de IR geralmente é um sinal digital que pode ser processado por um microcontrolador ou outro dispositivo eletrônico. Os receptores de RI são comumente usados ​​em uma ampla gama de eletrônicos de consumo, incluindo televisores, players de DVD, ar condicionado e outros eletrodomésticos, bem como em aplicações industriais e automotivas.

Vale a pena notar que os sensores do receptor de RI podem ser suscetíveis à interferência de outras fontes de infravermelho, como luz solar ou outros dispositivos de infravermelho. Para evitar isso, é recomendável apontar o sensor de receptor de infravermelho diretamente no controle remoto de infravermelho e manter o sensor longe de outras fontes infravermelhas.

2: pinagem do sensor de infravermelho

O sensor de receptor de RI é um pequeno módulo que normalmente tem três pinos:

  • VCC
  • Gnd
  • FORA

O VCC O pino está conectado a uma fonte de alimentação, como o pino de 5V no arduino, para fornecer energia ao sensor. O FORA O pino está conectado a um pino de entrada digital no Arduino e Gnd O pino está conectado ao pino de solo no Arduino:

3: Interface o sensor IR com Arduino

Para usar o sensor de receptor de infravermelho com um Arduino Uno, uma biblioteca chamada Irremote é necessário. Esta biblioteca pode ser baixada no site da Arduino e permite que o Arduino decodifique os sinais de RI recebidos pelo sensor. Depois que a biblioteca é instalada, ela pode ser incluída no esboço (programa) que é carregado para o Arduino.

Depois que o sensor do receptor de RI estiver conectado e o esboço é carregado, o Arduino pode começar a receber e interpretar sinais de um controle remoto de IR. Os sinais de RI podem ser decodificados usando uma função fornecida pela Biblioteca Irmote, e os sinais decodificados podem ser usados ​​para controlar vários dispositivos.

Por exemplo, um sinal de IR específico pode ser usado para ligar ou desativar um dispositivo ou para controlar o brilho ou a temperatura.

1: esquemático

Aqui está um esquema básico para conectar um sensor de IR a um Arduino:

Sensor IR Arduino
VCC (Power) 5V
GND (terra) Gnd
Out (saída) D8

É importante observar que diferentes sensores de IR podem ter diferentes pinagens e tensões, por isso é importante verificar a folha de dados do sensor específico que você está usando.

2: Instalando a biblioteca necessária

Existem várias bibliotecas remotas de IR disponíveis para Arduino. Você pode usar qualquer uma dessas bibliotecas conforme sua exigência e protocolo remoto IR que você está usando.

Vamos instalar o Irremote biblioteca por Arminjo.

4: Decodificação de um IR Remote Buttons

Existem vários controles remotos IR disponíveis, como televisores, ar condicionados e sistemas de automação residencial. Ao decodificar um controle remoto de infravermelho, podemos projetar um controle remoto universal para todos esses aparelhos.

Para decodificar um controle remoto de IR, faça o upload do código abaixo e pressione os botões no controle remoto IR e observe o monitor serial do Arduino IDE. O exemplo de esboço imprimirá o sinal de IR no formato hexadecimal e o protocolo usado.

Extraia os códigos -chave dos botões Remote IR que você deseja usar em seu projeto. Usando esses códigos de chave e as funções da Biblioteca Irmote, podemos controlar as ações desejadas quando os botões correspondentes são pressionados no controle remoto de IR.

1: código

Carregue o código abaixo através do Arduino IDE no Arduino Uno:

#include /*incluiu IR Remote Library* /
IRRECV IR (8); /*D8 Arduino Pin definido*/
Void Setup ()
Ir.enableirin (); /*Comunicação IR ativada*/
Serial.começar (9600); /*Taxa de transmissão em série definida*/

Void Loop ()
se (ir.decode ()) / *IR função da biblioteca remota para decodificar remoto * /
Serial.println (Ir.decodedirdata.decodedrawdata, hexadecimal); /*Imprimir valor hexadecimal*/
atraso (1000);
Ir.retomar (); /*Aguarde a próxima entrada* /

O código começou incluindo uma biblioteca remota IR. Depois disso, definimos o pino digital Arduino no qual o sinal de IR será lido. Próximo no configurar() Parte, inicializamos a comunicação e a taxa de transmissão de IR são definidos.

Em laço() Parte do código, decodificamos o sinal de IR recebido no formato hexadecimal que é então impresso no monitor serial.

2: saída

Depois de enviar o código, pressionamos três botões vermelhos, verdes e azuis no controle remoto de IR.

Seguindo Hexadecimal O código é obtido para o botão vermelho, verde e azul no monitor serial IDE.

IR botão remoto Código Hex
Botão vermelho 0xfb04ef00
Botão verde 0XFA05EF00
Botão azul 0xf906ef00

5: Controlando o LED usando o controle remoto IR

Para controlar um dispositivo com o controle remoto de IR, você precisará usar o decodificado Hexadecimal sinais em seu esboço. Por exemplo, você pode usar um if-else Declaração para verificar o sinal decodificado e ligar ou desativar um dispositivo específico. Você também pode usar os sinais decodificados para controlar o brilho ou a temperatura de um dispositivo.

1: esquemático

A imagem dada explica a conexão de três LEDs coloridos diferentes com o Arduino e o Receptor de RI.

Sensor LED e IR Pino Arduino
VERMELHO D5
VERDE D6
AZUL D7
Sensor IR fora D8

2: código

A seguir, o código Arduino para LEDs de controle remoto IR. O código pode ser enviado para a placa Arduino UNO, abrindo o Arduino IDE.

#include /*Inclua IR Remote Library* /
IRRECV IR (8); /*IR PIN definido*/
int azul = 7; /*LED azul no pino D7*/
int verde = 6; /*LED verde no pino d6*/
int vermelho = 5; /*LED vermelho no pino d5*/
bool red_state = 1; /*Estado LED vermelho*/
bool verde_state = 1; /*Estado de LED verde*/
bool blue_state = 1; /*Estado de LED azul*/
Void Setup ()
Ir.enableirin (); /*A comunicação IR ativa*/
pinmode (azul, saída); /*Blue LED Pin Set como saída*/
pinmode (verde, saída); /*Pino de LED verde conjunto como saída*/
pinmode (vermelho, saída); /*Red Pin Set como saída*/
Serial.começar (9600);

Void Loop ()
se (ir.decode ()) /*decodificar o sinal de infravermelho no formato hexadecimal* /
Serial.println (Ir.decodedirdata.decodedrawdata, hexadecimal);
/*Verifique se há entrada de IR*/
/*Código LED vermelho*/
se (ir.decodedirdata.decodedrawdata == 0xfb04ef00 && red_state == 1)
DigitalWrite (vermelho, alto);
Serial.println ("Red LED on");
Red_state = 0;

caso contrário, se (ir.decodedirdata.decodedrawdata == 0xfb04ef00 && red_state == 0)

DigitalWrite (vermelho, baixo);
Serial.println ("Red Led Off");
Red_state = 1;

/*Verifique a saída IR*/
se (ir.decodedirdata.decodedrawdata == 0xfa05ef00 && Green_state == 1)
/*Código LED verde*/
DigitalWrite (verde, alto);
Serial.println ("LED verde em");
Green_state = 0;

caso contrário, se (ir.decodedirdata.decodedrawdata == 0xfa05ef00 && Green_state == 0)

DigitalWrite (verde, baixo);
Serial.println ("Green Led Off");
Green_state = 1;

/*Verifique o código IR*/
se (ir.decodedirdata.decodedrawdata == 0xf906ef00 && blue_state == 1)
/*Código LED azul*/
DigitalWrite (azul, alto);
Serial.println ("LED azul em");
Blue_state = 0;

caso contrário, se (ir.decodedirdata.decodedrawdata == 0xf906ef00 && blue_state == 0)

DigitalWrite (azul, baixo);
Serial.println ("led de azul");
Blue_state = 1;

Ir.retomar ();

O código começou incluindo uma biblioteca remota IR. Depois disso, definimos o pino digital Arduino no qual o sinal de IR será lido. Os próximos três pinos para LEDs são definidos. Todos os três LEDs têm estados separados para que possamos usar a função de alternância dentro do código usando a condição e a condição.

No configurar() Parte, inicializamos a comunicação e a taxa de transmissão de IR são definidos. Junto com isso, os três pinos LED são definidos como saída usando pinmode () função.

Em laço() parte do código if-else condição é usada separadamente para todos os três LEDs. Todos os três LEDs são controlados separadamente usando o código hexadecimal.

IR botão remoto Código Hex
Botão vermelho 0xfb04ef00
Botão verde 0XFA05EF00
Botão azul 0xf906ef00

Observação: Lembre -se de que estes são o código hexadecimal para o remoto que estamos usando. Seu controle remoto pode ter um código Hex diferente. Portanto, substitua o código pelo código hexadecimal que você obteve no monitor serial.

3: saída

Depois de fazer upload de código para a placa Arduino, pressione qualquer um dos três leds de três botões que brilharão. Se pressionarmos o botão vermelho, o LED vermelho brilhará e vice -versa:

Da mesma forma, também podemos brilhar esses LEDs simultaneamente. Para desligar o LED, basta pressionar o botão novamente, pois usamos a condição de alternância no código Arduino.

Usando o mesmo método, podemos controlar os aparelhos CA substituindo os LEDs por um interruptor de relé.

Conclusão

Em resumo, a decodificação de um controle remoto de IR com um microcontrolador Arduino é uma maneira simples e econômica de controlar vários dispositivos. Ao conectar um receptor de RI ao Arduino, carregando um esboço e decodificando os sinais de RI, você pode controlar facilmente dispositivos como televisores, ar condicionados e sistemas de automação doméstica.