PROJETO 35 – CLONANDO CONTROLE REMOTO DE TV

Olá pessoal, neste tutorial vamos apreender como enviar comandos em hexadecimais para controlar sua TV como volume, trocar de canal e ligar/desligar. O projeto em si é de fácil compreensão, desde que seguindo como foi explicado no passo a passo. Então mãos aos componentes.Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!

COMPONENTES NECESSÁRIOS

1 LED infravermelho emissor TIL32 (ou similar)

5 Pushes buttons

6 Resistores de 330Ω

1 Protoboard

Fios jumpers

FAZENDO O DOWNLOAD E IMPORTANDO A BIBLIOTECA DO IRREMOTE_MASTER:

1) Acesse o link https://onedrive.live.com/?cid=F877FDED1DE63FAA&id=F877FDED1DE63FAA%21122;

2) Faça o download do arquivo IRremote_Master;

3) Descompacte o arquivo;

4) Agora entre no diretório (C:) e na pasta Arquivos de Programas, Arduino, libraries, copie o arquivo descompactado nesta pasta;

5) Pronto para utilizar;

CONECTANDO OS COMPONENTES

CÓDIGO DO PROJETO


// Projeto 35 – Clonando controle remoto de TV

#include <IRremote.h> // Biblioteca para controlar o led infravermelho
IRsend irsend; // Variável para poder enviar o código a TV

// Variáveis constantes para o controle remoto
// Pino onde estará o botão para aumentar o volume
const int mais_volume = 4;

// Pino responsavél por diminuir o volume
const int menos_volume = 5;

// Pino onde estará o botão para mudar o canal em ordem crescente
const int mais_canal = 6;

// Pino responsavél por mudar o canal em ordem decrescente
const int menos_canal = 7;

// Pino onde estará o botão que iremos ligar/desligar a TV
const int liga_desliga = 8;

// Pino onde iremos conectar o LED emissor de infravermelho
const int ledIR = 3;

// Inicia o botão com o valor do estado em 0
int buttonState = 0;

void setup() {
pinMode(ledIR ,OUTPUT); // Definimos o LED de infra como de saída

Serial.begin(9600); // Iniciamos o Serial Monitor

// Configurando as entradas dos botões como de entrada
pinMode(mais_volume, INPUT);
pinMode(menos_volume, INPUT);
pinMode(mais_canal, INPUT);
pinMode(menos_canal, INPUT);
pinMode(liga_desliga, INPUT);
}

void loop(){
// Se o botão mais_volume for pressionado ele ira enviar o código...
//para aumentar o volume na TV
if (digitalRead(mais_volume) == HIGH) {

// Código que será enviado a TV para aumentar o volume (Como a...
//sintaxe manda devemos iniciar com 0x + número em hexadecimal, 32)
irsend.sendNEC(0xE0E0E01F, 32);

}

// Se o botão menos_volume for pressionado ele irá enviar o código para...
//diminuir o volume na TV
if (digitalRead(menos_volume) == HIGH) {

// Código que será enviado a TV para diminuir o volume
irsend.sendNEC(0xE0E0D02F, 32);
}

// Se o botão mais_canal for pressionado ele irá enviar o código para...
//aumentar o canal na TV
if (digitalRead(mais_canal) == HIGH) {
irsend.sendNEC(0xE0E048B7, 32);
}

// Se o botão menos_canal for pressionado ele irá enviar o código para...
//diminuir o canal na TV
if (digitalRead(menos_canal) == HIGH) {
irsend.sendNEC(0xE0E008F7, 32);
}

// Se o botão liga_desliga for pressionado ele irá enviar o código para...
//ligar/desligar a TV
if (digitalRead(liga_desliga) == HIGH) {
irsend.sendNEC(0xE0E040BF, 32);
}
}

Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino.

Abra seu Serial Monitor pressionado as teclas Ctrl + Shift + M simultaneamente.

Pressione qualquer botão de seu controle remoto e se tudo estiver OK você verá impresso na tela do Serial Monitor os dados de seu controle remoto.

fonte: facacomarduino.info