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