Controle Remoto IR para acionamentos digital

Publicado: março 1, 2011 em Projetos Arduino

Oi pessoal segue mais um projeto básico com Arduino, dessa vez iremos usar um controle remoto de marca Toshiba e modelo CT 7180 para controlar portas digitais nesse caso LED’s

Material necessário:

4 LED’s difusos de 3mm

5 Registores de 470 ohms (Amarelo,Violeta,Marrom)

1 Receptor IR TSOP1838 38Khz

1 Arduino Duemilanove

1 Placa de protoboard de 840 furos (Opcional)

Esquema Elétrico:

Agora segue o código comentado o objetivo dele é ligar e desligar led’s usandos as teclas CH+(Liga e desliga), CH-(Liga e desliga), VOL+(Liga e desliga),VOL-(Liga e desliga)

Código .pde

/*
Programa para leitura do infra vermelho de controle
remoto TOSHIBA CT7180, com acionamento de LED’s
*/

#include <WProgram.h> //Bibliotecas para Infra Vermelho
#include <NECIRrcv.h>
#define IRPIN 8 // Pino de entrada de dado IR

const byte ledPin10 = 10; // Variaves de pino digital de saída
const byte ledPin11 = 11;
const byte ledPin12 = 12;
const byte ledPin13 = 13;

const byte valor1 = 1;  // Variaveis Auxiliares
const byte valor2 = 1;
const byte valor3 = 1;
const byte valor4 = 1;

NECIRrcv ir(IRPIN) ;

void setup(){
pinMode(ledPin10, OUTPUT); //Setando pinos digital para saída
pinMode(ledPin11, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin13, OUTPUT);

ir.begin() ; //Inicia função IR
}

void loop()
{

unsigned long ircode=0; //Declaração de variaveis
unsigned long aux=0;

while (ir.available()) {
ircode = ir.read() ; // Leitura dos dados pino de entrada  “8″
aux=(ircode);

if (aux == 3827023680) { //Comparaçao de códigos do botão CH+ do controle remoto
if (valor1 == 1){
liga_1(); //Chamada da função liga_1
valor1=0;
}
else {
desl_1(); //Chamada da função desl_1
valor1=1;
}
}

if (aux == 3760176960) { //Comparaçao de códigos do botão CH- do controle remoto
if (valor2 == 1){
liga_2(); //Chamada da função liga_2
valor2=0;
}
else {
desl_2(); //Chamada da função desl_2
valor2=1;
}
}
if (aux == 3843735360) { //Comparaçao de códigos do botão VOL+ do controle remoto
if (valor3 == 1){
liga_3(); //Chamada da função liga_3
valor3=0;
}
else {
desl_3(); //Chamada da função desl_3
valor3=1;
}
}
if (aux == 3776888640) { //Comparaçao de códigos do botão VOL- do controle remoto
if (valor4 == 1){
liga_4(); //Chamada da função liga_4
valor4=0;
}
else {
desl_4(); //Chamada da função desl_4
valor4=1;
}
}

}
}

void liga_1(){   //função ligar led
digitalWrite(ledPin10, HIGH);
}
void desl_1(){   //função desliga o led
digitalWrite(ledPin10, LOW);
}
void liga_2(){   //função ligar led
digitalWrite(ledPin11, HIGH);
}
void desl_2(){   //função desliga o led
digitalWrite(ledPin11, LOW);
}
void liga_3(){   //função ligar led
digitalWrite(ledPin12, HIGH);
}
void desl_3(){   //função desliga o led
digitalWrite(ledPin12, LOW);
}
void liga_4(){   //função ligar led
digitalWrite(ledPin13, HIGH);
}
void desl_4(){   //função desliga o led
digitalWrite(ledPin13, LOW);
}

Link para baixar a bibliotecas usada no código e também essa tabela abaixo referente aos código de cada botão do controle remoto.

Modelo: CT 7180 *Toshiba*

|–TECLAS –|–Código HEX–|–Variavel Long–|
———————————————-
Power   |  ED12BF40    |  3977428800
Menu    |  F10EBF40    |  4044275520
Time    |  E31CBF40    |  3810312000
CH+     |  E41BBF40    |  3827023680
CH-     |  E01FBF40    |  3760176960
VOL+    |  E51ABF40    |  3843735360
VOL-    |  E11EBF40    |  3776888640
OFF/SOM   |  EF10BF40|  4010852160
S      |  EC13BF40    |  3960717120
1      |  FE01BF40       |  4261527360
2      |  FD02BF40    |  4244815680
3      |  FC03BF40    |  4228104000
4      |  FB04BF40    |  4211392320
5      |  FA05BF40    |  4194680640
6      |  F906BF40    |  4177968960
7      |  F807BF40    |  4161257280
8      |  F708BF40    |  4144545600
9      |  F609BF40    |  4127833920
0      |  FF00BF40    |  4278239040
100     |  F50ABF40    |  4111122240
A/V     |  EB14BF40    |  3944005440

Foto desse projeto montado por mim:

Comentários
  1. Pedro disse:

    Put’z vey, é muito roxedo isso, principalmente na parte do código, q é só pra quem tem cabeça, vou tentar entender melhor, mas parabéns,tá muito bom.

  2. Sérgio Câmara disse:

    Parabéns cara!
    Muito bom o site! Mete bronca aí !

  3. Sérgio Câmara disse:

    Cara… dá uma olhada nisso, fazer game com o Arduino… não sei se vc já conhece, de qualquer forma fica a recomendação:

    http://meiobit.com/82258/gameduino-transforma-o-arduino-numa-plataforma-de-games/

  4. Lucas disse:

    Como faria, para um outro modelo de controle remoto? Obrigado

    • Rudrigo Lima disse:

      É fácil basta vc imprimir o valor de:

      ircode = ir.read() ; // Leitura dos dados pino de entrada “8″
      aux=(ircode);
      Serial.print(aux); //imprimir o valor aux

      Obs.: O sensor pode ñ lê alguns controles, por isso teste com todos que vc tiver ou mude o sensor

  5. Lucas disse:

    Nao consigo obter os valores em aux do meu controle, somente em HEX, alguem me da uma luz??

  6. Atila disse:

    cara, me veio até uma ideia na cabeça, será que dá pra fazer com controle remoto 433, aqueles RF?

  7. Loris Gaio disse:

    Rudrigo vc ja consegui controlar um tv por exemplo? Tava vendo alguns tutoriais na net, mas eles não usarão essa biblioteca.

  8. Geovanny Mendes disse:

    cara tem como vc postar aqui o código para imprimir os codigos do controle. desde o inicio. :D

  9. Erick disse:

    Olá Rodrigo, consigo utilizar o Arduino Uno para fazer esse projeto? Haveria alguma alteração alteração? Meus parabéns pelo site, muito bom mesmo!!!!

    • Rudrigo Lima disse:

      Oi Erick, obrigado por participar do meu blog e sobre sua duvida fique tranquilo as mudanças que exite no Uno são apenas fisicas como o tamanho do chip ftdi e mega que pode ser SMD, já os pinos são os mesmos do padão duemilanove sendo assim os shield e a códificação são as mesmas.

  10. Leandro disse:

    Erick o meu programa nao esta reconhecendo a biblioteca NECIRrcv preciso importa de algum lugar isso? Valew e parabens pelas postagens..

    • Rudrigo Lima disse:

      Brother não sei de onde vc tirou “Erick” o meu nome é Rudrigo, mas respondendo sua duvida se vc estiver usando a versão mais atual da IDE arduino tenta usar uma mais antiga acho que já tiver esse problema segue o link conforme seja o resultado responde de volta

      • Leandro disse:

        Rodrigo, foi mal, confundi os nomes…estou usando a versão 1.0 mesmo assim deu erro na verificação do programa..memso nessa versao do link..valew

  11. Leandro disse:

    Rodrigo, nao consigo abrir os programas degrados na versão 1.0 nesse arduino alpha,…sabe me dizer o pq? grato.

  12. Daniel disse:

    Rudrigo, muito bom!!!
    Me responde uma duvida? se eu inverter e quiser utilizar o arduino como emissor do sinal de IR, poreia utilizar essa lista de codigos? Pode me ajudar com o fonte?

  13. Daniel disse:

    Rudrigo, para eu ENVIAR sinais IR do arduino para a tv, devo colocar no codigo o HEXADECIMAL ou a variavel long?

  14. Sergio disse:

    achei um site com codigo para controle PPA so mente leitura! se juntar chaves de comando desse codigo para IR vai ficar bem legal!!
    ai esta o link http://forum.arduino.cc/index.php/topic,54788.msg707885.html#msg707885

  15. André Nascimento disse:

    Bom dia. Como faço para controlar uma TV ou um Som utilizando o Arduino Uno? Temos que desenvolver um TCC e ninguém do grupo manja de eletrônica. Grato.

    • Rudrigo Lima disse:

      Caro amigo,
      Existem várias formas para controlar uma delas e utilizar os botões do painel na própria tv outra forma é usando os botões do controle remoto e o outro é vc montar um controle remoto infra-red com o arduino passando o código da tv de acordo com o fabricante acionando por um botão nele mesmo, eu já fica algo com Android+Bluetoth+Arduino+InfraRed+TV

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s