Magos do Arduino

Receptor Infravermelho (IR)

Aprenda a utilizar um Receptor Infravermelho (IR) com o Arduino

Magos do Arduino

Receptor Infravermelho (IR)

Um receptor infravermelho é um dispositivo eletrônico que detecta sinais de luz infravermelha.

Geralmente invisível ao olho humano, ela pode ser emitida por um controle remoto ou outro transmissor IR.

Ele é amplamente usado em sistemas de controle remoto, como em TVs, ar-condicionados, aparelhos de som, e até robôs.

Quando um controle remoto emite pulsos de luz infravermelha codificados, o receptor IR capta esses pulsos e os converte em sinais elétricos que podem ser interpretados por um circuito eletrônico.

Sensível a uma faixa específica de frequência (geralmente 38 kHz).

Costuma ter três pinos: um para alimentação (VCC), um para terra (GND) e um para o sinal (OUT).

Pode funcionar até cerca de 5 a 10 metros de distância do emissor, dependendo do modelo e das condições do ambiente.

Para integração com o Arduino, precisaremos da biblioteca IRremote, que pode instalada no gerenciador de bibliotecas do Arduino IDE.

Receptor Infravermelho (IR)

Neste projeto você criará um circuito que faz o uso de um Receptor Infravermelho (IR) com o Arduino.

Para a criação deste circuito serão necessários os seguintes componentes:

  • 1x Breadboard (opcional)
  • 1x Arduino UNO
  • 1x Módulo Receptor Infravermelho (IR)
  • Jumpers

Circuito Receptor Infravermelho (IR)

Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.

Circuito Receptor Infravermelho (IR)

Schematics Receptor Infravermelho (IR)

A seguir temos o schematics do circuito, que detalha suas conexões e fornece detalhes mais específicos do que o circuito da imagem anterior.

Schematics Receptor Infravermelho (IR)

Código fonte para o circuito do Receptor Infravermelho (IR)

Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.

/**
 * Código do curso Magos do Arduino para utilizar um receptor 
 * infravermelho (IR) com o Arduino. 
 * 
 * Utilize um receptor IR com o Arduino para receber comandos 
 * de um controle remoto, imprimindo os valores recebidos no 
 * monitor serial e acendendo ou apagando o LED do Arduino.
 *
 * (c) Copyright KazaleIT
 * @kazaleitoficial no YouTube
 **/

#include <IRremote.hpp>

#define PINO_RECEPTOR_IR 12
#define BTN_0 0xE916FF00 // valor do botão 0 no controle remoto
#define BTN_1 0xF30CFF00 // valor do botão 1 no controle remoto

void setup() {
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
  IrReceiver.begin(PINO_RECEPTOR_IR);
}

unsigned long valor;

void loop() {
  if (IrReceiver.decode()) {
    // imprime comando em hexadecimal
    valor = IrReceiver.decodedIRData.decodedRawData;
    Serial.print("Comando recebido: ");
    Serial.println(valor, HEX);
    // imprime informações completas recebidas
    Serial.println("Todas informações recebidas:");
    IrReceiver.printIRResultShort(&Serial);
    // imprime comando utilizado para envio com emissor IR
    Serial.println("Comando para enviar dados com emissor IR:");
    IrReceiver.printIRSendUsage(&Serial);
    // permite receber a próxima leitura
    IrReceiver.resume();
  }

  // verifica os valores recebidos e acende ou apaga o LED do Arduino
  switch (valor) {
    case BTN_0:
      digitalWrite(LED_BUILTIN, LOW);
      break;
    case BTN_1:
      digitalWrite(LED_BUILTIN, HIGH);
      break;
  }

  delay(100);
}