13 de out. de 2014

Projeto 35 – Clonando controle remoto de TV

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 Protobord
Fios jumpers

Fazendo o download e importando a biblioteca do LCD Nokia 5110:
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;

Agora vamos ao código

                                                          
// 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  
  const int mais_volume = 4;   // Pino onde estará o botão para aumentar o volume 
  const int menos_volume = 5;  // Pino responsavél por diminuir o volume
  const int mais_canal = 6;    // Pino onde estará o botão para mudar o canal em ordem crescente
  const int menos_canal = 7;   // Pino responsavél por mudar o canal em ordem decrescente
  const int liga_desliga = 8;  // Pino onde estará o botão que iremos ligar/desligar a TV 
  const int ledIR = 3;         // Pino onde iremos conectar o LED emissor de infravermelho
 
  // 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) {       
   irsend.sendNEC(0xE0E0E01F, 32); // Código que será enviado a TV para aumentar o volume  (Como a sintaxe manda devemos iniciar com 0x + número em hexadecimal, 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) {      
   irsend.sendNEC(0xE0E0D02F, 32); // Código que será enviado a TV para diminuir o volume   
  }    
 
  // 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.


Esquema do projeto






Vídeo do projeto pronto:






- Se você gostou do post, por favor comente! Nos dê um feedback, isto nos incentiva a continuar! :)
- Curta nossa fan page
- Faça o download do nosso app e mantenha-se atualizado em qualquer lugar



Comentários
0 Comentários

0 comentários:

Postar um comentário