A partir dos passos abaixo você vai aprender fazer a…
Como usar com Arduino – Módulo Relé 5V de 2 Canais
– 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 de 2 Canais permite que a partir de uma plataforma microcontrolada seja possível controlar cargas AC (alternada) de forma simples e prática. Por ter 2 canais, é possível controlar até duas cargas 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
– 2 canais
– 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 de 2 Canais em conjunto com o Arduino para controlar duas lâmpadas através do pressionamento de botões.
– Lista dos itens necessários:
01 – Arduino com Cabo USB
01 – Módulo Relé 5V de 2 Canais
02 – Chave Táctil / Push Button
01 – Protoboard
04 – Cabos Jumper macho-macho
04 – Cabos Jumper macho-fêmea
02 – Lâmpada
02 – 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
const int pinoReleCh1 = 2; //PINO DIGITAL UTILIZADO PELO MÓDULO RELÉ (CANAL 1) const int pinoReleCh2 = 3; //PINO DIGITAL UTILIZADO PELO MÓDULO RELÉ (CANAL 2) const int pinoBotaoCh1 = 8; //PINO DIGITAL UTILIZADO PELO BOTÃO (CANAL 1) const int pinoBotaoCh2 = 9; //PINO DIGITAL UTILIZADO PELO BOTÃO (CANAL 2) int statusLampCh1 = 0; //VARIÁVEL QUE CONTROLA O ESTADO DO MÓDULO RELÉ NO CANAL 1 (LIGADO / DESLIGADO) int statusLampCh2 = 0; //VARIÁVEL QUE CONTROLA O ESTADO DO MÓDULO RELÉ NO CANAL 2 (LIGADO / DESLIGADO) void setup(){ pinMode(pinoReleCh1, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(pinoReleCh2, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(pinoBotaoCh1, 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) pinMode(pinoBotaoCh2, 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(pinoReleCh1, HIGH); //MÓDULO RELÉ INICIA DESLIGADO digitalWrite(pinoReleCh2, HIGH); //MÓDULO RELÉ INICIA DESLIGADO } void loop(){ if((digitalRead(pinoBotaoCh1) == LOW) && (statusLampCh1 == 0)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(pinoReleCh1, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusLampCh1 = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS }else{//SENÃO, FAZ if((digitalRead(pinoBotaoCh1) == LOW) && (statusLampCh1 == 1)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(pinoReleCh1, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusLampCh1 = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } if((digitalRead(pinoBotaoCh2) == LOW) && (statusLampCh2 == 0)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(pinoReleCh2, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusLampCh2 = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS }else{//SENÃO, FAZ if((digitalRead(pinoBotaoCh2) == LOW) && (statusLampCh2 == 1)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(pinoReleCh2, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusLampCh2 = 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: Como usar com Arduino – Módulo Transceptor Wireless 2.4GHz NRF24L01
Próxima postagem: Como usar com Arduino – Sensor de Temperatura LM35
tem como fazer isso usando uma porta gnd do arduino?
Gostei muito do assunto sobre o relé, o qual me ajudou a entender as ligações e o software aplicado no curso que realizo. Gostaria de saber também sobre leitor digital com Arduino.
Olá André.
Agradeço pelo comentário!
Não temos.