Nesta prática você vai aprender a controlar uma lâmpada através…
Como usar com Arduino – Módulo Relé 5V de 4 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 4 Canais permite que a partir de uma plataforma microcontrolada seja possível controlar cargas AC (alternada) de forma simples e prática. Por ter 4 canais, é possível controlar até quatro 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
– 4 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 4 Canais em conjunto com o Arduino para controlar quatro lâmpadas através do pressionamento de botões.
– Lista dos itens necessários:
01 – Placa ATmega328p com Cabo USB A/B (Compatível com Arduino Uno R3)
01 – Módulo Relé 5V de 4 Canais
04 – Chave Táctil / Push Button
01 – Protoboard
08 – Cabos Jumper macho-macho
06 – Cabos Jumper macho-fêmea
04 – Lâmpada
04 – 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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
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 pinoReleCh3 = 4; //PINO DIGITAL UTILIZADO PELO MÓDULO RELÉ (CANAL 3) const int pinoReleCh4 = 5; //PINO DIGITAL UTILIZADO PELO MÓDULO RELÉ (CANAL 4) const int pinoBotaoCh1 = 8; //PINO DIGITAL UTILIZADO PELO BOTÃO (CANAL 1) const int pinoBotaoCh2 = 9; //PINO DIGITAL UTILIZADO PELO BOTÃO (CANAL 2) const int pinoBotaoCh3 = 10; //PINO DIGITAL UTILIZADO PELO BOTÃO (CANAL 3) const int pinoBotaoCh4 = 11; //PINO DIGITAL UTILIZADO PELO BOTÃO (CANAL 4) 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) int statusLampCh3 = 0; //VARIÁVEL QUE CONTROLA O ESTADO DO MÓDULO RELÉ NO CANAL 3 (LIGADO / DESLIGADO) int statusLampCh4 = 0; //VARIÁVEL QUE CONTROLA O ESTADO DO MÓDULO RELÉ NO CANAL 4 (LIGADO / DESLIGADO) void setup(){ pinMode(pinoReleCh1, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(pinoReleCh2, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(pinoReleCh3, OUTPUT); //DEFINE O PINO COMO SAÍDA pinMode(pinoReleCh4, 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) pinMode(pinoBotaoCh3, 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(pinoBotaoCh4, 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 (CANAL 1) digitalWrite(pinoReleCh2, HIGH); //MÓDULO RELÉ INICIA DESLIGADO (CANAL 2) digitalWrite(pinoReleCh3, HIGH); //MÓDULO RELÉ INICIA DESLIGADO (CANAL 3) digitalWrite(pinoReleCh4, HIGH); //MÓDULO RELÉ INICIA DESLIGADO (CANAL 4) } 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 } } if((digitalRead(pinoBotaoCh3) == LOW) && (statusLampCh3 == 0)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(pinoReleCh3, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusLampCh3 = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS }else{//SENÃO, FAZ if((digitalRead(pinoBotaoCh3) == LOW) && (statusLampCh3 == 1)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(pinoReleCh3, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusLampCh3 = 0; //VARIÁVEL RECEBE O VALOR 0 delay(200); //INTERVALO DE 200 MILISSEGUNDOS } } if((digitalRead(pinoBotaoCh4) == LOW) && (statusLampCh4 == 0)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 0, FAZ digitalWrite(pinoReleCh4, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE) statusLampCh4 = 1; //VARIÁVEL RECEBE O VALOR 1 delay(200); //INTERVALO DE 200 MILISSEGUNDOS }else{//SENÃO, FAZ if((digitalRead(pinoBotaoCh4) == LOW) && (statusLampCh4 == 1)){ //SE A LEITURA DO PINO FOR IGUAL A LOW E //VARIÁVEL statusLamp FOR IGUAL A 1, FAZ digitalWrite(pinoReleCh4, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA) statusLampCh4 = 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
Perfil no Instagram: https://www.instagram.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: Sonoff DIY Mode API Protocol na prática
Próxima postagem: Conhecendo o Sonoff Micro Adaptador Inteligente USB Sem Fio
Boa Tarde !
Sr, Euler voce poderia me ajudar estou procurando projeto que acione rele serial de 4 entrada com ardunino uno mais esp 8266-01 para comandar via wifi os reles . Obrigado.
Só tenho agradecer e compartilhar Parabéns professor o seu trabalho é dez já compilei várias aulas e nenhuma falhou você é demais.
Olá Paiva.
Agradeço pelo comentário e reconhecimento!
Vlw!!!