Ligando lampadas através de controle remoto usando Arduino

Hoje vou mostrar como ligar lâmpadas através de um controle remoto fazendo o uso do Arduino. Para isso vamos precisar dos seguintes componentes:

Um Arduino.
Um sensor IR.
Um Relé de 5 volts.
Um diodo (IN 4007).
Um transistor tipo NPN (2n2222).
Um resistor de 1k.
Uma protoboard.
Um controle remoto universal.

O sensor IR retirei de um aparelho de DVD antigo que estava estragado, já o controle remoto achei no lixo em frente a minha casa. Os demais componentes já possui e utilizava em outros projetos. Uma imagem do sensor pode ser vista abaixo:

Esse sensor não possui nenhuma especificação e foi um pouco complicado para achar algo na internet mas com algumas googladas tudo ficou mais fácil. Acabei encontrando alguns documentos que falavam um pouco sobre sensores IR e o uso de controle remoto universal. O réle comprei através do mercado livre. O escolhido foi de 5 volts com 5 pinos:

O esquema de ligação do relé no arduino é como segue abaixo:

Com essa montagem já é possível carregar o código BLINK de exemplo da IDE do Arduino e então será possível ver o funcionamento do relé.

Agora veja a montagem completa do esquema:

Código:

/*
# Autor: Fernando Krein Pinheiro
# Data: 24/02/2012
# Linguagem: C/C++

# ========= IMPORTANTE ===========
# O codigo esta livre para usar,
# citar e compartilhar desde que
# mantida sua fonte e seu autor.
# Obrigado.

=================================

Valores correspondentes
lidos do controle remoto.

OBS: Os valores podem variar
dependendo do controle usado!

BOTAO  -    VALOR
  1    -   4261527360
  2    -   4244815680
  3    -   4228104000
  4    -   4211392320
  5    -   4194680640
  6    -   4177968960
  7    -   4161257280
  8    -   4144545600
  9    -   4127833920

ON/OFF - 3977428800

VOL(+) - 3843735360
VOL(-) - 3776888640

CH (+) - 3827023680
CH (-) - 3760176960

*/

#include <WProgram.h>
#include <NECIRrcv.h>
#define InfraVermelho 10
#define ONOFF 3977428800

int lampada = 7;
unsigned long int capturaCodigo = 0;
NECIRrcv ir(InfraVermelho) ;

void setup(){

    Serial.begin(9600) ;
    pinMode(lampada, OUTPUT);
    ir.begin() ;
}

void loop()
{

  while (ir.available())
  {
      capturaCodigo = ir.read();
      Serial.println(capturaCodigo);

      if (capturaCodigo == ONOFF)
      {
      	 int estadoLed = digitalRead(lampada);
      		if (estadoLed == LOW)
      		{
       		   digitalWrite(lampada, HIGH);
                   Serial.println("LIGADA");
      	         }
      		else
      	           digitalWrite(lampada, LOW);
                   Serial.println("DESLIGADA");
       	}
}
}

Veja o vídeo:

Anúncios

16 comentários em “Ligando lampadas através de controle remoto usando Arduino

    • No meu caso eu não encontrei nenhuma documentação do controle, então o que fiz foi ler tecla por tecla do controle através da funcao ir.read() armazenando na variavel capturaCodigo e mostrando essa variavel na serial monitor do arduino! Logo depois salvei em um txt o código gerado e a respectiva tecla…

  1. eu estou com problemas com abiblioteca NECIRrcv.h toda hora da erro quando eu compilo:
    ‘byte’ do not name a type.
    Algo do tipo, se alguem puder me ajudar agradeço.

    • Olá Rodrigo, voce precisa ser mais especifico em relação ao erro! Esse problema geralmente é quando voce não declara alguma variavel, ou algo parecido…

      Mande seu código para meu email e vou ver o que posso fazer…

  2. Amigo… copie colei seu codigo no programa do arduino baixei as lib e qd vou compilar da o mesmo erro do amigo Rodrigo a msg é a seg.

    C:\arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\NECIRrcv/NECIRrcv.h:84: error: ‘byte’ does not name a type

    o q posso fazer… da uma luz ae
    Grato.

    • ola amigo conseguiu resolver o problema??? aki esta do mesmo jeito o curioso é que antes de eu formatar a maquina funcionava…

  3. é muito dificil um ir com 3 pernas nao ser tal como ele coclocou no desenho dele, vc sabe o que so bre o ir que vc esta usando ? vc quer saber onde fica o +vcc, o gnd e a saida dele ?
    Abraçis

  4. O que faria se, ao invés de querer ligar uma lâmpada fluorescente normal, eu querer ligar uma lampada de LED de 12V?

  5. AMIGO PRA MIM LEGAR E DESLIGAR AS LÂMPADAS, TENHO QUE ADICIONAR SOMENTE O NUMERO E ESCREVER ON OF,E ADICIONAR AS PORTAS OU TENHO QUE MUDAR MAIS ALGUMA COISA NOS CÓDIGOS A BAIXO, E PORQUE NÃO ENTENDO, ESTOU COMEÇANDO AGORA E ACHEI MUITO BOM ESSE TIPO DE LIGAR, GOSTARIA DE USAR TODAS PORTAS DO ARDUINO UNO QUE FOR POSSIVEL, AGRADEÇO SE PUDER MIM AJUDAR..

  6. Olá, como faço um controle de brilho usando 2 botões e outro botão para acionar sem o dimmer?

Deixe um comentário

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