Projeto
36 – Acionando LED's e rele com infravermelho
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 http://facacomarduino.blogspot.com.br/2014/09/projeto-34-verificando-codigo-de.html. 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 Protobord
Fios jumpers
Fazendo
o download e importando a biblioteca do IRremote_Master:
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;
Agora vamos ao código
// Projeto 36 – Acionando LED's e rele com
infravermelho
#include <IRremote.h>
// Biblioteca necessária para controle do infravermelho receptor.
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)
{
case 0xE0E020DF:
// Verifica se o botão número 1 do controle remoto foi prescionada.
// Se
prescionado aciona o rele.
estado_rele =
!estado_rele;
digitalWrite(pino_rele, estado_rele);
break;
case 0xE0E0A05F:
// Verifica se o botão número 2 do controle remoto foi prescionada.
// Se prescionado
acende o primeiro LED.
estado_led1 =
!estado_led1;
digitalWrite(pino_led1, estado_led1);
break;
case 0xE0E0609F:
// Verifica se o botão número 3 do controle remoto foi prescionada.
// Se
prescionado ascende 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.
Esquema do projeto:
Vídeo do projeto pronto:
- Se você gostou do post,
por favor comente! Nos dê um
feedback, isto nos incentiva a continuar! :)
-
Curta nossa fan page
-
Faça o download do nosso app e mantenha-se atualizado em qualquer lugar