Olá pessoal, hoje iremos acionar LED’s e rele via controle remoto. Qualquer controle remoto serve: de TV, rádio...etc. Para você fazer este projeto, você precisará saber qual o valor hexadecimal de cada botão que será utilizado neste projeto, para saber como visualizar o código veja o tutorial Projeto 34 – Verificando código de comando de um controle remoto. Já obteve os respectivos valores hexadecimais? Então vamos ao projeto !! Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!
COMPONENTES NECESSÁRIOS
1 Infravermelho receptor TL1838 (ou similar)
1 Shield Rele
2 Resistores de 330Ω
2 LED’s
1 Protoboard
Fios jumpers
FAZENDO O DOWNLOAD E IMPORTANDO A BIBLIOTECA DO IRREMOTE_MASTER:
1) Acesse o link https://onedrive.live.com/?cid=F877FDED1DE63FAA&id=F877FDED1DE63FAA%21122;
2) Faça o download do arquivo IRremote_Master;
3) Descompacte o arquivo;
4) Agora entre no diretório (C:) e na pasta Arquivos de Programas, Arduino, libraries, copie o arquivo descompactado nesta pasta;
5) Pronto para utilizar;
CONECTANDO OS COMPONENTES

CÓDIGO DO PROJETO
// Projeto 36 – Acionando LED's e rele com infravermelho
// Biblioteca necessária para controle do infravermelho receptor.
#include <IRremote.h>
int RECV_PIN = 6; // Pino responsável por receber o código do IR.
int armazenavalor = 0; // Iniciando com valor igual a zero.
int pino_rele = 7; // Pino onde o rele foi conectado no arduino.
int pino_led1 = 8; // Pino onde o primeiro LED esta conectado no arduino.
int pino_led2 = 9; // Pino onde o segundo LED esta conectado no arduino.
int estado_rele = LOW; // Inicia com o rele desligado.
int estado_led1 = LOW; // Inicia com o primeiro LED apagado.
int estado_led2 = LOW; // Inicia com o segundo LED também apagado.
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
pinMode(pino_rele, OUTPUT); // Define todos os pino como de saída.
pinMode(pino_led1, OUTPUT);
pinMode(pino_led2, OUTPUT);
digitalWrite(pino_rele, estado_rele); // Coloca os pinos todos os pino em...
digitalWrite(pino_led1, estado_led1); // estado baixo (pinos desligados).
digitalWrite(pino_led2, estado_led2);
Serial.begin(9600); // Inicializa a serial monitor.
irrecv.enableIRIn(); // Inicializa o receptor IR.
}
void loop()
{
// Verifica se o sensor IR recebeu algum sinal.
if (irrecv.decode(&results))
{
// Mostra na serial o valor lido pelo sensor IR.
Serial.print("Valor lido : ");
Serial.println(results.value, HEX);
// Armazena o sinal recebido pelo sensor IR.
armazenavalor = (results.value);
switch (armazenavalor)
{
// Verifica se o botão número 1 do controle remoto foi prescionada.
case 0xE0E020DF:
// Se prescionado aciona o rele.
estado_rele = !estado_rele;
digitalWrite(pino_rele, estado_rele);
break;
// Verifica se o botão número 2 do controle remoto foi prescionada.
case 0xE0E0A05F:
// Se prescionado acende o primeiro LED.
estado_led1 = !estado_led1;
digitalWrite(pino_led1, estado_led1);
break;
// Verifica se o botão número 3 do controle remoto foi prescionada.
case 0xE0E0609F:
// Se pressionado acende o segundo LED.
estado_led2 = !estado_led2;
digitalWrite(pino_led2, estado_led2);
break;
}
irrecv.resume(); //Le o próximo valor
}
}
Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino.
Abra seu Serial Monitor pressionado as teclas Ctrl + Shift + M simultaneamente.
Pressione qualquer um dos botões: 1, 2, 3 de seu controle uma vez e verá o rele, os LED’s serem acionados. Para desliga-los basta pressiona-los novamente.
fonte: facacomarduino.info