Esta página irá ensinar a como motar um circuito capaz de acender uma lâmpada com um controle emissor de infravermelho (controle de televisão, dvd, recptor de parabólica, controle de rádio de carro, etc) utilizando o microcontrolador arduino.. Para isso será necessário o seguinte material:
-Arduino (no caso utilizei o UNO)
-2 Resistores 330 Ω
-1 Módulo Relé 5V para arduino
-1 Receptor infravermelho
-1 Bateria 9V (para alimentar o arduino)
-1 Cabo para alimentar o arduino atravéz da bateria
-1 Bocal lâmpada
-1 Lâmpada 127 V
-Fios
O esquemático da ligação segue abaixo:
O vídeo mostrando o resultado do projeto está mostrado abaixo:
O código para a programação do arduino segue abaixo:
#include <IRremote.h>
#include <IRremoteInt.h>
int RECV_PIN = 8;
IRrecv irrecv(RECV_PIN);
decode_results results;
#define BT_LIGA 0xFFA25D //Botao Liga
#define Controle_Rele 7 //Controla Relé
int Controle_Rele_State = LOW; //Relé começa fechado
long bt = 0; //Ultimo botao precionado
unsigned long startMilis = 0; //Contado para blink sem delay
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(Controle_Rele, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
irrecv.resume();
Serial.println(results.value, HEX); //Aqui voce descobre qual o botao do seu controle
//Apenas para filtrar os botoes apertados, no meu caso para filtrar outros controles =)
if(results.value == BT_LIGA)
{
startMilis = millis(); //Apertou um botao, reseta o contador
bt = results.value; //Salva ultimo botao apertado
mod(1);
}
}
}
void mod(int x)
{
unsigned long currentMillis = millis();
if(x == 1)
{
Controle_Rele_State=!Controle_Rele_State;
digitalWrite(Controle_Rele, Controle_Rele_State);
}
}

qual é a marca do controle que você usou??????
ResponderExcluirOla! quando eu compilo o codigo da varios erros.
ResponderExcluiracende_lampada:5: error: 'IRrecv' does not name a type
acende_lampada:6: error: 'decode_results' does not name a type
acende_lampada.ino: In function 'void setup()':
acende_lampada:20: error: 'irrecv' was not declared in this scope
acende_lampada.ino: In function 'void loop()':
acende_lampada:26: error: 'irrecv' was not declared in this scope
acende_lampada:26: error: 'results' was not declared in this scope
acende_lampada:5: error: 'IRrecv' does not name a type
ResponderExcluiracende_lampada:6: error: 'decode_results' does not name a type
acende_lampada.ino: In function 'void setup()':
acende_lampada:20: error: 'irrecv' was not declared in this scope
acende_lampada.ino: In function 'void loop()':
acende_lampada:26: error: 'irrecv' was not declared in this scope
acende_lampada:26: error: 'results' was not declared in this scope
Usei um controle de rádio de carro. Qualquer um serve.
ResponderExcluirEsses erros que estão dando são provalmente pq vc não instalou a biblioteca do infravermelho corretamente.
Você deve baixar e instalar a biblioteca IRremote.
Eu baixei em: http://labduino.blogspot.com.br/2012/09/estava-testando-um-modulo-e-controle.html
Baixei a versão para o arduino 1.0.1.
Veja aí se isto resolve seu problema.
Valeu! resolvido muito obrigado pela ajuda!
ResponderExcluircara se eu fosse usar um relé de 4 canais de 6 terminais , como ficaria o esquema ?
ResponderExcluirdesde já obrigado "!
Não entendi como é este relé.
ExcluirEntenda que os relés funcionam da seguinte forma: são chaves que abrem ou fecham dependendo da passagem de corrente nas portas de controle.
Me manda o modelo do seu relé pra eu dar uma olhada.
o meu deu o erro:IRremote\IRremote.cpp.o: In function `MATCH(int, int)':
ResponderExcluir/IRremoteInt.h:176: multiple definition of `MATCH(int, int)'
sketch_sep09a.cpp.o:C:\Users\Pelicioni\Documents\Arduino\libraries\IRremote/IRremoteInt.h:176: first defined here
IRremote\IRremote.cpp.o: In function `MATCH_MARK(int, int)':
/IRremoteInt.h:177: multiple definition of `MATCH_MARK(int, int)'
sketch_sep09a.cpp.o:C:\Users\Pelicioni\Documents\Arduino\libraries\IRremote/IRremoteInt.h:177: first defined here
IRremote\IRremote.cpp.o: In function `MATCH_SPACE(int, int)':
/IRremoteInt.h:178: multiple definition of `MATCH_SPACE(int, int)'
sketch_sep09a.cpp.o:C:\Users\Pelicioni\Documents\Arduino\libraries\IRremote/IRremoteInt.h:178: first defined here
Você baixou a biblioteca do site: http://labduino.blogspot.com.br/2012/09/estava-testando-um-modulo-e-controle.html ?
ExcluirTenta baixar essa biblioteca e veja se resolve seu problema.