terça-feira, 25 de junho de 2013

10º Projeto: Como acender uma lâmpada por controle remoto?!

    Depois de um mês sem postar nada - maldita engenharia! -, hoje eu volto com algo que sempre fui curioso em aprender. Como acender uma lâmpada por controle remoto?

    Desde que comecei a estudar o Arduino aprendi muito sobre eletrônica, que admito e meu ponto mais fraco, e para fazer esse projeto tive q corre atrás e estudar um pouco mais, agradeço agora ao incrível professor Luis Paulo da faculdade CES/jf campus Academia cujo tal foi um excelente orientador e paciente comigo. Muito Obrigado!

    Mas como falava, tive que aprender um pouco mais e no caso desse projeto o incrível valor do relé. Link para entendimento de relé


 

Material:

   - Arduino
     - relé 5v/dc
     - Protoboard
     - Fios Jumpers
     - transistor bc-546 ou equivalente NPN
     - Resistor 10k ohms
     - diodo 1N4001
     - Sensor IRremote
     - Controle remoto
     - Lâmpada e fios de bitola de 1mm





Esquema: 


    Para o esquema de ligação eu achei mais fácil de entender um esquema desenhado a mão do que um desenvolvido no fritzing.

Código:


 /*Esse projeto foi desenvolvido por Felipe Souza Amaral e tem como objetivo acender um lâmpada por controle remoto.   
                     visite-nos: www.arduinoprog.blogspot.com         */   
 #include <IRremote.h> //inclui biblioteca IRremote  
 int RECV_PIN = 2; //define pino 2 como do controle remoto  
 IRrecv irrecv(RECV_PIN);   
 decode_results results;  
 void setup(){  
  pinMode(13, OUTPUT); //pino 13 como saída, pino de conexão do transistor  
  Serial.begin(9600); //Abre comunicação da porta serial  
  irrecv.enableIRIn(); //inicia a comunicaçãodo receptor IR  
 }  
 void loop(){  
  if (irrecv.decode(&results)) { //verifica se algum botao foi prescionado  
   Serial.println(results.value, DEC); //envia valor do botão prescionado ao serial monitor  
   irrecv.resume();  
  }  
  if(results.value == 565350511){  
   digitalWrite(13, HIGH);  
  }  
  if(results.value == 565360711){  
   digitalWrite(13, LOW);  
  }  
  if(results.value == 565377031){  
   digitalWrite(13, HIGH);    
   delay(200);          
   digitalWrite(13, LOW);    
   delay(200);   
  }  
 }  

Vídeo:




Dicas:


    Para obter os valores do seu controle remoto basta utilizar um exemplo da biblioteca IRremote:

                                                    File -> Examples -> IRremote -> IRtest.

    Cuidado apenas para os valores, pois eles são expressos como Hexadecimal nesse teste!

Download da bilioteca IRremote: Aqui!


Qualquer dúvida estou a disposição!

4 comentários:

  1. Parabéns pelo projeto!!!
    Estou tentando fazer algo como usar um controle para ligar e desligar TV,AR CONDICIONADO E DVD.
    Eu ja peguei os codigos de cada um e fiz o experimento pelo monitor serial do arduino, se o caracter for "a" ligar tv, se for "b"ligar ar e se for "c" ligar dvd, porem não estou conseguindo fazer isso de forma independente, como colocar 3 botoes na protoboard e declarar isso na programação IRsend.
    Gostaria de sua ajuda.
    Desde já obrigado.
    Marcos.

    ResponderExcluir

  2. Você quer colocar 3 botões no protoboard e quando forem apertados eles acionarem suas respectivas cargas?

    ResponderExcluir
  3. É quase isso que procuro mas sem o arduino somente com os relés e os transistores acionar uma lampada por infra vermelho "controle de TV" pode indicar algum esquema por favor desde que a lampada permaneça ligada até o segundo pressionamento do infra vermelho, OK grato pode me enviar por Email:jcleciosantos@gmail.com

    ResponderExcluir
  4. Oi como eu faço para usar os controles RF? Achei algumas informações mas não entendi a forma de decodificar os dados
    http://forum.arduino.cc/index.php/topic,20380.0.html
    http://www.protejaecontrole.com.br/controle-remoto-por-rf-com-arduino-e-um-controle-hopping-code

    ResponderExcluir