Controlando lâmpadas por Controle Remoto com Arduino
Olá makers! Tudo bem? Hoje vamos fazer mais um projeto do segmento da automação residencial, nele vamos aprender a controlar lâmpadas ou qualquer outro equipamento elétrico que utilize até 220 volts, tudo isso com um arduino, um controle remoto, um receptor IR e um relé . Depois desse tutorial você vai poder ligar ventiladores ou qualquer coisa do tipo. Então vamos lá por a mão na massa!
O Relé
O relé é um dos componentes eletrônicos mais poderosos e de mais diversos usos na eletrônica, desde controlar uma lâmpada até fazer um computador básico, é possível com os relés. De uma forma bem básica e direta o relé nada mais é que um interruptor, porém ao invés de ligar ou desligar com a mão você faz isso aplicando uma tensão em seus terminais, que no caso do nosso módulo é 5 volts, isso tudo sem “misturar” as tensões, ou seja o contato é isolado galvanicamente. Mas aposto que você não se contenta só em saber o que faz mas quer saber como ele é por dentro.
O relé e composto internamente por uma chave seletora e uma bobina, inicialmente essa chave seletora está em contato com um terminal, e quando alimentamos esta bobina ela cria um campo eletromagnético que atrai a chave para de forma que ela entre em contato com o outro terminal, assim comutando os mesmos. A imagem abaixo exemplifica esse processo:
Figura 01: Funcionamento interno do Relé
Fonte: Autocore Robótica
O nosso módulo relé, além de contar com um relé, possui também um circuito controlador de leds para indicar o estado do relé e também para prevenir o retorno de corrente pela bobina e proteger mais ainda o circuito montado.
Além disso o nosso relé também tem uma coisa que é muito legal, ele salva o estado anterior quando desenergizado, ou seja, se você ligar um ventilador por exemplo, se ele estiver ligado e faltar energia, quando a eletricidade retornar ele irá ligar novamente, isso é muito importante para evitar o funcionamento inesperado de algum projeto.
Controle Remoto
No tutorial anterior destrinchamos o funcionamento do Kit Infravermelho + Controle Remoto com o arduino, então passa lá e dá uma conferida nele AQUI.
Não se esqueça de instalar a biblioteca Arduino IRremote, ela é fundamental para que o arduino consiga se comunicar com o módulo receptor de infravermelho.
Então agora vamos lá para a montagem do circuito!
Materiais utilizados:
Esses componentes e outros, para os seus próximos projetos você encontra na loja Autocore Robótica, então, tá esperando o que? passa lá.
Montagem:
- Digital 11 – conectado no sinal no receptor de Infravermelho
- Digital 13 – conectado no sinal no módulo relé
- o positivo de ambos módulos serão conectado ao pino de 5v e os negativos de ambos módulos serão conectados ao pino GND
Figura 02: Circuito do projeto
Fonte: Autocore Robótica
Obs: o modelo do nosso módulo relé é diferente do utilizado na ilustração do circuito, infelizmente o modelo do nosso não está disponível no Fritzing, mas não se preocupe, o funcionamento é o mesmo. A única diferença é que o nosso tem leds sinalizadores para facilitar a sua utilização 😀
Atenção: Antes de montar o circuito fique ciente de que você estará mexendo com tensão alternada, e pode levar choques elétricos, então tome bastante cuidado ao ligar o relé. Também recomendamos não encostar as mãos atrás do relé quando ele estiver ligado na tomada, pois também há riscos de choque.
Para facilitar a implementação do relé na lâmpada e em qualquer outro circuito cortamos um dos fios de uma pequena extensão, assim como na foto abaixo:
Figura 03: Extensão adaptada para o relé
Fonte: Autocore Robótica
Programação:
O código é bastante simples, não há mistérios, olha só:
/* * Programa: Controle eletrodomésticos por controle remoto * Autor: Saulo Alexandre - Autocore Robótica * * Para mais informações e tutoriais incriveis como esse acesse http://autocorerobotica.blog.br */ #include <IRremote.h> int pinoRecepitorIR = 11; int valorRecebido; int pinoRele= 13; // Definindo o código de cada ação que deverá ser realizada int ligaRele = 0xFF9867; int desligaRele = 0xFF6897; IRrecv irrecv(pinoRecepitorIR); decode_results results; void setup() { pinMode(pinoRele, OUTPUT); // Definindo os pinos dos leds como saida Serial.begin(9600); // Iniciando o Monitor Serial da IDE irrecv.enableIRIn(); // Inicializa o receptor IR do controle remoto } void loop() { if (irrecv.decode(&results)) // Executa caso receba algum códico { valorRecebido = (results.value); if (valorRecebido == ligaRele ) //Verifica se a tecla 1 foi acionada { digitalWrite(pinoRele, HIGH); //Liga o relé Serial.println("Estado do Rele : LIGADO"); } if (valorRecebido == desligaRele ) //Verifica se a tecla 2 foi acionada { digitalWrite(pinoRele, LOW); //desligga o relé Serial.println("Estado do Rele : DESLIGADO"); } irrecv.resume(); //Le o valor da próxima tecla pressionada } }
Conclusões:
O projeto final funcionou como esperado, acompanhem o vídeo para ver o funcionamento dele:
Conseguiram fizeram o projeto todinho? tiveram dúvidas? sugestões ou observações? coloquem ai nos comentários que vamos responder você o quanto antes. ;D
Tem como fazer um projeto desse para acender com qualquer controle (vários controles diferentes)?
Olá Maria tudo bem?
Acredito que você teria que colocar os códigos das teclas dos controles que você gostaria de utilizar e seguir a mesma lógica.
Caso fosse tal código X, acenda ou apague o LED show?
Qualquer dúvida só comentar,
Abraços!
como seria o codigo para ligar e desligar o rele usando o mesmo botão/tecla do ir?
Olá Fernando tudo bem?
Você poderia criar mais um if verificando o estado do LED, como e exemplo abaixo:
—————————————-
if (irrecv.decode(&results)) // Executa caso receba algum códico
{
digitalWrite(pinoRele, LOW); inicia com o led desligado
valorRecebido = (results.value);
if (valorRecebido == ligaRele) //Verifica se a tecla 1 foi acionada
{
if (pinoRele != HIGH){
digitalWrite(pinoRele, HIGH); //Liga o relé
Serial.println(“Estado do Rele : LIGADO”);
}
if (pinoRele != LOW){
digitalWrite(pinoRele, LOW); //Liga o relé
Serial.println(“Estado do Rele : DESLIGADO”);
}
}
irrecv.resume(); //Le o valor da próxima tecla pressionada
}
}
—————————————-
Qualquer dúvida pode comentar, combinado?
Abraço!
This website was… how do you say it? Relevant!! Finally
I have found something that helped me. Many thanks!
Hello Dynasty,
We are happy that the site is helping you in some way!
And we hope you continue to follow us and especially, learning more!
Hello my friend,
Fiz o projeto conforme suas dicas, e deu muito certo. Fiz com o Arduino Nano, alimentei o Vin com 6v., e assim mesmo funcionou, sendo que a recomendação é de Vin acima de 7v……….Obrigado pelo código e explicação.
Renearduino do tiktok……..@renearduino