Este artigo aborda:
1: Introdução ao sensor de IR
Um LED de receptor de RI ou diodo emissor de luz de receptor infravermelho, é um dispositivo usado para detectar e receber sinais de infravermelho. É comumente usado em sistemas de controle remoto, onde recebe sinais de um controle remoto e os envia para um microcontrolador ou outro dispositivo para processamento.
Usando um sensor de infravermelho e arduino, é possível criar uma maneira personalizada e conveniente de controlar os aparelhos CA sem a necessidade de interruptores manuais ou botões físicos, também pode ser integrado a outros dispositivos domésticos inteligentes para automação.
2: pinagem do sensor de infravermelho
O sensor de receptor de RI é um pequeno módulo que normalmente tem três pinos:
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 Gnd o pino está conectado ao pino de solo no Arduino e no FORA O pino está conectado a um pino de entrada digital no Arduino:
3: Introdução ao relé
Um relé é um interruptor operado eletricamente que permite o controle de circuitos de alta tensão ou alta corrente usando um sinal de baixa tensão. Quando usado em conjunto com um microcontrolador Arduino, ele fornece uma maneira simples e eficaz de controlar uma ampla gama de dispositivos e eletrodomésticos.
O Arduino envia um sinal para o relé, fazendo com que ele abra ou feche um circuito, que por sua vez controla a energia para o dispositivo conectado. Para obter mais detalhes sobre a integração do revezamento com Arduino, leia o artigo interface do revezamento com Arduino e ESP32.
Um relé contém os seguintes pinos de controle:
Normalmente fechado: Os relés nesta configuração são fechados por padrão. A corrente flui entre comum e NC em uma configuração normal, a menos que um sinal de gatilho interrompa o fluxo de corrente.
Comum: Controle a corrente principal (tensão de alimentação do dispositivo externo)
Normalmente aberto: Normalmente, a configuração aberta é oposta à NC, como nesta corrente de modo não flui por padrão, ela só flui após o sinal de gatilho ser recebido do Arduino.
4: Relay Pinout
Uma pinagem de revezamento de canal duplo é:
Número do PIN | Nome do pino | Especificação |
---|---|---|
1 | VCC | Suprimento de bobina de retransmissão |
2 | EM 2 | Entrada para o canal 2 |
3 | EM 1 | Entrada para o canal 1 |
4 | Gnd | Gnd |
5 | NÃO | Normalmente aberto |
6 | Comum | Terminal com |
7 | NC | Normalmente fechado |
Observação: Se você estiver usando um relé com mais de um canal, lembre -se de curto o JD VCC e VCC PIN com um conector (amarelo) como mostrado na imagem acima.
5: interface o sensor IR com Arduino
Para usar o sensor de receptor de RI com um Arduino, 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 |
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:
6: Decodificação de um IR Remote Buttons
Antes de podermos controlar um aparelho AC, devemos decodificar o controle remoto IR para que possamos definir esse valor hexadecimal específico dentro do código Arduino. Esse valor hexadecimal corresponde a um botão remoto IR usando o qual podemos ligar ou desligar o aparelho.
Existem vários controles remotos IR disponíveis, como televisores, ar condicionados e sistemas de automação residencial. Ao decodificar um controle remoto de IR, 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 vai imprimir o sinal de IR em Hexadecimal formato e o protocolo usado.
1: código
A placa Arduino UNO pode ser programada enviando código através do Arduino IDE:
#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 é 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 da IDE:
IR botão remoto | Código Hex |
---|---|
Botão vermelho | 0xfb04ef00 |
Botão verde | 0XFA05EF00 |
Botão azul | 0xf906ef00 |
Ao definir esses códigos hexadecimais dentro do programa Arduino, podemos definir qualquer um dos botões Remote IR como um controle para aparelhos AC e lâmpadas. Aqui continuaremos com o código hexáticos do botão vermelho.
7: Controlando uma lâmpada CA usando o RIOTO IR e Arduino UNO
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.
1: esquemático
A imagem dada explica a conexão da lâmpada CA com o Arduino e o Receptor de RI:
Bulbo CA e Sensor IR | Pino Arduino |
---|---|
Lâmpada | D5 |
Sensor IR fora | D8 |
Pino de relé | Pino Arduino |
---|---|
EM 2 | D5 |
VCC | Vin |
Gnd | Gnd |
Com | AC (+ive) |
NC2 | AC (-ive) |
2: código
A seguir, o código Arduino para a lâmpada de controle remoto IR, o seguinte código pode ser carregado para a placa Arduino UNO através do Arduino IDE:
#include /*Inclua IR Remote Library* /
IRRECV IR (8); /*IR PIN definido*/
re relé = 5; /*Pino de retransmissão no Arduino para relé CA (pino D5)*/
bool relay_state = 1; /*Estado do relé*/
Void Setup ()
Ir.enableirin (); /*A comunicação IR ativa*/
pinmode (relé, saída); /*Definir pinos de relé 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 de relé para bulbo CA*/
se (ir.decodedirdata.decodedrawdata == 0xfb04ef00 && relay_state == 1)
DigitalWrite (revezamento, alto);
Serial.println ("lâmpada on");
Relay_state = 0;
caso contrário, se (ir.decodedirdata.decodedrawdata == 0xfb04ef00 && relay_state == 0)
DigitalWrite (revezamento, baixo);
Serial.println ("lâmpada off");
Relay_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. Em seguida, um alfinete para uma lâmpada CA é definido em D5.
No configurar() Parte, inicializamos a comunicação e a taxa de transmissão de IR são definidos. Junto com isso, um pino de lâmpada CA é definido como saída usando pinmode () função.
Em laço() parte do código if-else A condição é usada para a lâmpada CA. Você pode definir qualquer um dos botões Remote IR descrevendo o valor hexadecimal dentro do código.
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 enviar o código para a placa Arduino, pressionar o botão vermelho na lâmpada CA remota IR brilhará após receber um sinal do relé:
Para desligar a lâmpada CA, basta pressionar o botão novamente, pois usamos a condição de alternância no código Arduino:
A seguir, a saída do terminal serial:
Usando o mesmo método, qualquer aparelho CA pode ser controlado com um interruptor de relé e um controle remoto de IR.
8: Projetando um controle IR baseado em smartphone para aparelhos AC usando Arduino Uno
Se o seu smartphone tiver um sensor IR, você poderá projetar um controle remoto personalizado para controlar dispositivos e eletrodomésticos. Primeiro, temos que decodificar o controle IR baseado em smartphone usando Arduino, você precisará de um módulo de receptor de infravermelho e uma placa Arduino.
Usando o código acima, podemos decodificar facilmente qualquer controle remoto IR em smartphones e também podemos projetar um personalizado.
A seguir, estão algumas imagens de amostra de IR Remote presentes nos smartphones:
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, fazendo upload de um esboço e decodificando os sinais de RI, você pode controlar facilmente aparelhos e dispositivos CA, como televisores, ar condicionados e sistemas de automação residencial.