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

Comunicação Infravermelha com Arduino

A comunicação infravermelha (IR) é uma tecnologia amplamente utilizada em dispositivos de controle remoto, como televisores, aparelhos de som e ar-condicionado. A sua importância reside na capacidade de transmitir dados sem fio através de sinais de luz infravermelha, que são invisíveis ao olho humano. No contexto do Arduino, a comunicação IR pode ser implementada de maneira simples e eficaz para criar projetos de automação residencial, controle remoto de dispositivos e muito mais. Este artigo abordará como configurar e utilizar a comunicação infravermelha com Arduino, incluindo exemplos práticos e códigos comentados.

Project: Neste projeto, vamos criar um sistema de controle remoto utilizando um sensor de receptor IR e um controle remoto IR. O objetivo é controlar um LED através do sinal enviado pelo controle remoto. O projeto demonstrará como decodificar os sinais IR recebidos e executar ações específicas com base nesses sinais.

Components List:

  1. Arduino Uno (1 unidade)
  2. Sensor receptor IR (1 unidade)
  3. Controle remoto IR (1 unidade)
  4. LED (1 unidade)
  5. Resistor de 220 ohms (1 unidade)
  6. Jumpers (vários)
  7. Protoboard (1 unidade)

Examples:

  1. Configuração do receptor IR e decodificação de sinais:
// Inclui a biblioteca IRremote
#include <IRremote.h>

// Define o pino do receptor IR
const int RECV_PIN = 11;

// Cria um objeto IRrecv
IRrecv irrecv(RECV_PIN);

// Cria um objeto decode_results para armazenar os resultados
decode_results results;

void setup() {
  // Inicializa a comunicação serial
  Serial.begin(9600);
  // Inicializa o receptor IR
  irrecv.enableIRIn();
}

void loop() {
  // Verifica se um sinal IR foi recebido
  if (irrecv.decode(&results)) {
    // Imprime o valor do código IR recebido
    Serial.println(results.value, HEX);
    // Reinicia o receptor IR para receber o próximo sinal
    irrecv.resume();
  }
}

Comentário:

  • A biblioteca IRremote é utilizada para lidar com a comunicação IR.
  • O pino 11 é definido como o pino do receptor IR.
  • O objeto IRrecv é criado para receber os sinais IR.
  • No setup(), a comunicação serial é inicializada e o receptor IR é habilitado.
  • No loop(), verifica-se se um sinal IR foi recebido, imprime-se o valor do código IR em hexadecimal e o receptor é reiniciado para receber novos sinais.
  1. Controle de um LED com base no sinal IR recebido:
#include <IRremote.h>

const int RECV_PIN = 11;
const int LED_PIN = 13;

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);

    // Verifica se o código IR corresponde ao botão "ON" do controle remoto
    if (results.value == 0xFFA25D) {
      digitalWrite(LED_PIN, HIGH); // Liga o LED
    }
    // Verifica se o código IR corresponde ao botão "OFF" do controle remoto
    if (results.value == 0xFFE21D) {
      digitalWrite(LED_PIN, LOW); // Desliga o LED
    }

    irrecv.resume();
  }
}

Comentário:

  • Adiciona-se um LED no pino 13.
  • No setup(), configura-se o pino do LED como saída.
  • No loop(), verifica-se se o código IR recebido corresponde aos botões "ON" e "OFF" do controle remoto e, em seguida, liga ou desliga o LED conforme o 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.