Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Controle Remoto Infravermelho com Arduino

O controle remoto infravermelho (IR) é uma tecnologia amplamente utilizada em dispositivos eletrônicos, como televisores, sistemas de áudio e ar condicionado. Neste artigo, abordaremos como utilizar um controle remoto IR com um Arduino para controlar dispositivos eletrônicos. A importância deste projeto reside na sua aplicabilidade em automação residencial, permitindo o controle remoto de diversos aparelhos. Ajustamos o projeto para ser compatível com o ambiente Arduino, utilizando bibliotecas específicas para leitura e transmissão de sinais IR.

Project: Neste projeto, vamos criar um sistema que permite ao Arduino receber comandos de um controle remoto IR e executar ações específicas, como acender e apagar um LED. O objetivo é demonstrar como decodificar sinais IR e utilizá-los para controlar dispositivos eletrônicos. As funcionalidades incluem a leitura de códigos IR, mapeamento de comandos e execução de ações correspondentes.

Components List:

  • 1 x Arduino Uno
  • 1 x Receptor IR (como o VS1838B)
  • 1 x Controle remoto IR
  • 1 x LED
  • 1 x Resistor de 220 ohms
  • 1 x Protoboard
  • Jumpers

Examples:

#include <IRremote.h> // Inclui a biblioteca IRremote para controle IR

const int RECV_PIN = 11; // Define o pino do receptor IR
IRrecv irrecv(RECV_PIN); // Inicializa o receptor IR no pino definido
decode_results results; // Cria uma variável para armazenar os resultados decodificados

const int ledPin = 13; // Define o pino do LED

void setup() {
  Serial.begin(9600); // Inicializa a comunicação serial para depuração
  irrecv.enableIRIn(); // Inicializa o receptor IR
  pinMode(ledPin, OUTPUT); // Define o pino do LED como saída
}

void loop() {
  if (irrecv.decode(&results)) { // Verifica se há um código IR recebido
    Serial.println(results.value, HEX); // Imprime o valor do código IR em hexadecimal
    if (results.value == 0xFFA25D) { // Verifica se o código recebido é igual ao código do botão "Power" do controle remoto
      digitalWrite(ledPin, !digitalRead(ledPin)); // Alterna o estado do LED
    }
    irrecv.resume(); // Prepara o receptor IR para receber o próximo código
  }
}

Comentários detalhados:

  • #include <IRremote.h>: Inclui a biblioteca necessária para trabalhar com sinais IR.
  • const int RECV_PIN = 11;: Define o pino digital 11 como o pino de entrada para o receptor IR.
  • IRrecv irrecv(RECV_PIN);: Cria uma instância do receptor IR no pino definido.
  • decode_results results;: Cria uma estrutura para armazenar os resultados decodificados dos sinais IR.
  • const int ledPin = 13;: Define o pino digital 13 como o pino de saída para o LED.
  • void setup() { ... }: Configurações iniciais, incluindo a inicialização da comunicação serial e a configuração dos pinos.
  • void loop() { ... }: Loop principal que verifica continuamente se há um código IR recebido e executa a ação correspondente.
  • if (irrecv.decode(&results)) { ... }: Verifica se um código IR foi recebido.
  • Serial.println(results.value, HEX);: Imprime o valor do código IR recebido em formato hexadecimal para depuração.
  • if (results.value == 0xFFA25D) { ... }: Verifica se o código recebido corresponde ao botão "Power" do controle remoto.
  • digitalWrite(ledPin, !digitalRead(ledPin));: Alterna o estado do LED (liga ou desliga).
  • irrecv.resume();: Prepara o receptor IR para receber o próximo código.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.