- Descrição: Os relés são componentes eletromecânicos capazes de controlar…
Como usar com Arduino – Módulo Relé 5V 1 Canal
– Descrição:
Os relés são componentes eletromecânicos capazes de controlar circuitos externos de grandes correntes a partir de pequenas correntes ou tensões, ou seja, acionando um relé com uma pilha podemos controlar um motor que esteja ligado em 110 ou 220 volts, por exemplo.
O Módulo Relé 5V 1 Canal permite que a partir de uma plataforma microcontrolada seja possível controlar cargas AC (alternada) de forma simples e prática. Por ter apenas 1 canal, é possível controlar apenas uma carga AC de até 10A. Comumente é utilizado em projetos de automação residencial para controle de lâmpadas, ventiladores e outras saídas que possam ser acionadas através de relé.
– Especificações e características:
– Tensão de operação: 3,3V – 5VDC
– Corrente de operação: 15 ~ 20mA
– Capacidade do relé: 30VDC/10A e 250VAC/10A
– 1 canal
– LED indicador para presença de tensão
– LED indicador para acionamento do relé
– Tempo de resposta: 5 ~ 10ms
– Aplicações:
Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário fazer o controle de cargas AC. Caso o módulo seja utilizado junto a uma plataforma que esteja conectada à internet, torna-se possível controlar cargas AC através de uma página web, smartphone ou tablet.
– Proposta da prática:
Utilizar o Módulo Relé 5V 1 Canal em conjunto com o Arduino para controlar uma lâmpada através do pressionamento de um botão.
– Lista dos itens necessários:
01 – Arduino com Cabo USB
01 – Módulo Relé 5V 1 Canal
01 – Chave Táctil / Push Button
01 – Protoboard
02 – Cabos Jumper macho-macho
03 – Cabos Jumper macho-fêmea
01 – Lâmpada
01 – Receptáculo (boquilha)
01 – Cabo paralelo de 1,5mm ou 2,5mm
01 – Tomada (Rede alternada de 127V)
– Esquema de ligação da prática:
ATENÇÃO: MUITO CUIDADO AO EXECUTAR PRÁTICAS QUE ENVOLVAM TENSÃO / CORRENTE ALTERNADA! FAÇA TODAS AS LIGAÇÕES COM O CIRCUITO COMPLETAMENTE DESLIGADO E ANTES DE FAZER OS TESTES VERIFIQUE CADA UMA DAS LIGAÇÕES PARA ELIMINAR A POSSIBILIDADE DE CURTO ENTRE FASE / NEUTRO OU FASE / FASE.
– Tutorial de instalação e configuração do ambiente de programação do Arduino:
Arduino – Instalação e Configuração da IDE no Windows
– Código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
const int pinoRele = 2; //PINO DIGITAL UTILIZADO PELO MÓDULO RELÉ const int pinoBotao = 8; //PINO DIGITAL UTILIZADO PELO BOTÃO int statusLamp = 0; //VARIÁVEL QUE CONTROLA O ESTADO DO MÓDULO RELÉ (LIGADO / DESLIGADO) void setup(){ pinMode(pinoRele, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(pinoBotao, INPUT_PULLUP); //DEFINE O PINO COMO ENTRADA / "_PULLUP" É PARA ATIVAR O RESISTOR INTERNO //DO ARDUINO PARA GARANTIR QUE NÃO EXISTA FLUTUAÇÃO ENTRE 0 (LOW) E 1 (HIGH) digitalWrite(pinoRele, HIGH); //MÓDULO RELÉ INICIA DESLIGADO } void loop(){ if((digitalRead(pinoBotao) == LOW) && (statusLamp == 0)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(pinoRele, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusLamp = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS }else{//SENÃO, FAZ if((digitalRead(pinoBotao) == LOW) && (statusLamp == 1)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(pinoRele, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusLamp = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } } |
OBS: veja que no código o módulo relé é desligado com o comando HIGH e ligado com o comando LOW. O acionamento é feito desta forma devido ao uso do contato NO (normal open / normalmente aberto) do módulo relé.
– Resultado final:
Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!
Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop
Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Blynk – Problema na conexão USB com Arduino (Connecting / Redirecting)
Próxima postagem: Componentes Passivos – Resistor – Parte 1
Boa tarde
Eu queria usar para converter um sinal de 220v, para a entrada do arduino(5v), usar o arduino para mandar uma informação que o motor esta parado, da pra fazer isso?
Olá Joelson.
Agradeço pelo comentário!
Você precisa na verdade de um sensor de corrente em série com a alimentação do motor para verificar se o mesmo está ligado / desligado.
O módulo relé apenas vai acionar o motor.
Bom dia,
Gostaria de saber se da para restringir o acionamento do relê atribuindo hora desejada, onde dito uma regra em apenas acionar entre uma hora X e hora Y.
Obrigado
Otimo blog está de parabens
Olá Elbert.
Agradeço pelo comentário!
Sim, é possível fazer isso utilizando um RTC. Veja nos links abaixo os tutoriais utilizando RTC com Arduino:
https://blogmasterwalkershop.com.br/arduino/como-usar-com-arduino-modulo-real-time-clock-rtc-ds1302/
https://blogmasterwalkershop.com.br/arduino/como-usar-com-arduino-modulo-real-time-clock-rtc-ds1307/
https://blogmasterwalkershop.com.br/arduino/como-usar-com-arduino-modulo-real-time-clock-rtc-ds3231/
Você pode mesclar um dos tutoriais de RTC com o tutorial do Módulo Relé 5V e atingir o seu objetivo final.
Ola consigo ligar um motor 127v e mudar sentido de rotação com controle remoto?
Olá Paulo.
Agradeço pelo comentário!
Utilizando módulo relé não, pois a função do mesmo não é esta.
Vlw!!!
e se eu quiser temporizar pra desligar sozinho como faco com o codigo
Use a função delay no seu código do arduíno. Exemplo, se quisesse que um estado ficasse lá por 5 segundos
delay(5000) // o tempo é medido em ms
Por outro lado, se quiser mais tempo, uma outra opção é unir essa função delay a um for loop, imagine que queira deixar por 60 segundos um certo estado
Ex:
for(i = 0; i<=12; i++){
// Executará o loop 12 vezes
ledpin(HIGH);
delay(5000); //deixando um led hipotético ligado por 5 segundos 12 vezes, que dá 1 min total
}
Correção: ali no for loop devemos trocar o i = 0 para i = 1 ou o i<= 12 para i <12 para que o loop seja executado 12 vezes, como está ali será executado 13 vezes.
Seria melhor e mais eficiente usar Delay(60000) ao invés de fazer um loop.
ola tudo bem? estou na duvida aqui, quero acionar uma carga de maior potencia como um motor de geladeira mas estou receioso com a corrente inversa e o campo eletromagnético que possa danificar meu arduino, eu possuo o optoacoplador 817c como eu uso ele nese projeto? desde ja argadeço