Controle Remoto IR com Arduino

O Controle Remoto IR é um dispositivo utilizado para controlar de forma remota algum tipo de aparelho compatível com tecnologia infravermelha.
Em conjunto com uma plataforma microcontrolada (Arduino, PIC e outros) e um fotorreceptor IR é capaz de decodificar o sinal do Controle Remoto IR de uma maneira rápida e simples para ser usado em seu projeto.

Especificações do Controle Remoto IR

    • Tensão: 3V DC
    • Dimensões: 86 * 40 * 6.0mm
    • Faixa de alcance: 8m ~ 10m
    • Bateria: 3V CR2025
    • Frequência de trabalho: 38Khz
    • Vida útil das teclas: 20000 acionamentos

Especificações do Receptor:

    • Tensão de trabalho: 2,7V ~ 5,5V
    • Consumo de corrente: 1,5uA
    • Frequência de trabalho: 38Khz
    • Tensão em nível lógico baixo: 0,4V
    • Tensão em nível lógico alto: até 4,5V
    • Temperatura de trabalho: -20° ~ 85°
    • Fácil integração com microcontroladores

Aplicação simples

Componentes para serem utilizados no exemplo:

    • 01 – Arduino
    • 04 – LEDs
    • 03 – Resistores (podendo ser de 220Ω)

Partindo para o projeto, primeiramente devemos incluir a Biblioteca IRremote.h. Em seguida, devemos montar o projeto conforme o esquema abaixo.

ESQUEMA CONTROLE REMOTO IR

Então, feito isso, devemos obter os códigos transmitidos pelo Controle Remoto IR para serem usados para acender os LEDs.
Utilizaremos o próprio exemplo da biblioteca para obter os códigos.
Logo, em ExemplosIRremoreIRrecvDemo carregaremos esse código, abriremos o Monitor Serial, pressionaremos a teclas de 1 a 0 e observaremos que para cada botão um código hexadecimal é impresso na tela.

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  // In case the interrupt driver crashes on setup, give a clue
  // to the user what's going on.
  Serial.println("Enabling IRin");
  irrecv.enableIRIn(); // Start the receiver
  Serial.println("Enabled IRin");
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}

 

Desses, utilizaremos somente os códigos de 1 a 4 para acender e apagar os LEDs:

 FF6897       ⇒       1

 FF9867       ⇒       2

 FFB04F       ⇒      3

 FF30CF       ⇒      4

Código do Projeto

Aproveitando esse próprio exemplo e com poucas alterações, faremos o código para acender e apagar os LEDs.

CONTROLE REMOTO IR

Então, basta agora somente carregar no Arduino o código:

#include <IRremote.h>

#define RECV_PIN 11

IRrecv irrecv(RECV_PIN);

decode_results results;

float codigo;

# define led_vermelho 4
# define led_amarelo  5
# define led_azul     6
# define led_verde    7

void setup()
{
  Serial.begin(9600);
  // In case the interrupt driver crashes on setup, give a clue
  // to the user what's going on.
  Serial.println("Enabling IRin");
  irrecv.enableIRIn(); // Start the receiver
  Serial.println("Enabled IRin");

  pinMode(led_vermelho, OUTPUT);
  pinMode(led_amarelo, OUTPUT);
  pinMode(led_azul, OUTPUT);
  pinMode(led_verde, OUTPUT); '
}

  void loop() {
  if (irrecv.decode(&results)) {
  Serial.println(results.value, HEX);
  //irrecv.resume(); // Receive the next value

  codigo = results.value;

  if (codigo == 0xFF6897) {
  digitalWrite(led_vermelho, digitalRead(led_vermelho) ^ 1); // Acende e apaga LED botão 1
}

  if ( codigo == 0xFF9867) {
  digitalWrite(led_amarelo, digitalRead(led_amarelo) ^ 1); // Acende e apaga LED botão 2
}

  if ( codigo == 0xFFB04F) {
  digitalWrite(led_azul, digitalRead(led_azul) ^ 1); // Acende e apaga LED botão 3
}

  if ( codigo == 0xFF30CF) {
  digitalWrite(led_verde, digitalRead(led_verde) ^ 1); // Acende e apaga LED botão 4
}

  irrecv.resume(); // Receive the next value

}

}

Então, com isso é só pressionar os botões e observar o funcionamento.
Concluímos que é muito simples e fácil utilizar esse dispositivo com o Arduino.

Onde comprar Controle Remoto IR?

LOJAS

Conheça também!