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.
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 Exemplos → IRremore → IRrecvDemo 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.
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?