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);
}
}
