Controlando lâmpadas com Módulo Relé Arduino 356

Neste tutorial vamos explicar como usar o Módulo Relé Arduino e montar 2 circuitos: um circuito com acionamento temporizado de 2 lâmpadas e outro circuito com acionamento por botões de uma lâmpada e um ventilador (pode substituir por outro eletrodoméstico por exemplo).

Este relé 5V pode ser também usado com AVR, PIC, Raspberry, 8051, ARM ou até mesmo o seu circuito eletrônico personalizado. Usando dois pinos do módulo relé para arduino, você controla cargas como lâmpadas, motores, fechaduras e eletrodomésticos, desde que a corrente de operação não ultrapasse 10 A (ampéres).

módulo relé arduino

Cada relé desse módulo suporta cargas de até 10 A, em 125 VAC, 250 VAC ou 30 VDC. Leds indicadores mostram o estado do relé  (ligado/desligado) em cada canal. O módulo já contém todo o circuito de proteção para evitar danos ao microcontrolador, e possui baixa corrente de operação.

Especificações Módulo Relé 5V

  •  Tensão de operação : 5 VDC
  •  Modelo Relé : SRD-05VDC-SL-C (Datasheet)
  •  Permite controlar cargas de 220V AC
  •  Nível de sinal dos pinos IN1 e IN2 : 5 VDC
  •  Corrente de operação : 15 ~ 20 mA
  •  Tempo de resposta : 5 ~ 10 ms
  •  4 furos de 3mm para fixação, nas extremidades da placa
  •  Dimensões reduzidas : 51 x 38 x 20 mm

Pinagem Módulo Relé 5v

Na imagem abaixo você pode observar a pinagem do módulo relé arduino. No lado esquerdo superior os pinos JD-VccVcc e GND, que permitem que seja conectada uma fonte externa de 5V. Abaixo, os pinos GND, IN1 (aciona o relé 1), IN2 (aciona o relé 2), e o Vcc. Ao lado dos relés, os contatos NC (Normal Fechado)C (Comum), e NA (normal aberto):

Acionar os dois relés é muito simples e para isso você deve apenas mudar o estado das portas digitais ligadas aos pinos IN1 e IN2. Um detalhe importante desse módulo é que os relés são ativados em nível baixo, ou seja, quando o estado da porta estiver em LOW, o relé será acionado.

Módulo Relé com Arduino: Circuito 2 Lâmpadas

No exemplo abaixo, vamos acionar duas lâmpadas alternadamente. Os dois relés irão funcionar como chaves eletrônicas, fechando o contato NA (Normal Aberto), e acendendo as lâmpadas a cada 2 segundos. Recomendamos muito cuidado tanto no manuseio como na ordem de ligação dos fios, pois estamos trabalhando com 110 V (ou 220 v)  da rede elétrica.

O controle do relé 1 é feito pela porta 7 do Arduino Uno, e o relé 2 é controlado pela porta 8. As duas portas são definidas como saídas e alternam os estados LOW e HIGH, lembrando que o estado baixo (LOW), é que aciona o relé:

//Programa : Teste Modulo Rele Arduino 2 canais - Lampadas
//Autor : MakerHero

//Porta ligada ao pino IN1 do modulo
int porta_rele1 = 7;
//Porta ligada ao pino IN2 do modulo
int porta_rele2 = 8;
 
void setup()
{
  //Define pinos para o rele como saida
  pinMode(porta_rele1, OUTPUT); 
  pinMode(porta_rele2, OUTPUT);
}
  
void loop()
{
  digitalWrite(porta_rele1, LOW);  //Liga rele 1
  digitalWrite(porta_rele2, HIGH); //Desliga rele 2
  delay(2000);
  digitalWrite(porta_rele1, HIGH); //Desliga rele 1
  digitalWrite(porta_rele2, LOW);  //Liga rele 2
  delay(2000);
}

Módulo Relé Arduino: Circuito 2 Botões

Vamos melhorar esse circuito adicionando dois botões para que você mesmo controle o acionamento dos relés. Vamos utilizar dois push-buttons, mas o mesmo circuito pode ser utilizado com outro tipo de interruptor e até mesmo sensores, como LDR ou sensor óptico. O botão da esquerda aciona o relé 1, que por sua vez está ligado à uma lâmpada. Já o botão da direita controla o relé 2, que no nosso exemplo liga e desliga um ventilador,  mas pode ser substituído por qualquer aparelho de sua preferência, como uma cafeteira ou um motor , desde que a corrente exigida não ultrapasse 10A:

Utilizamos novamente as portas 7 e 8, e vamos apenas alterar o programa, para que seja feita a leitura dos botões e o respectivo acionamento dos relés. Como estamos utilizando push-buttons, a cada acionamento o estado do relé será invertido, ligando ou desligando o dispositivo.

//Programa : Teste Módulo Rele Arduino - Botoes
//Autor : MakerHero

//Porta ligada ao pino IN1 do modulo
int porta_rele1 = 7;
//Porta ligada ao pino IN2 do modulo
int porta_rele2 = 8;
//Porta ligada ao botao 1
int porta_botao1 = 2;
//Porta ligada ao botao 2
int porta_botao2 = 3;

//Armazena o estado do rele - 0 (LOW) ou 1 (HIGH)
int estadorele1 = 1;
int estadorele2 = 1;
//Armazena o valor lido dos botoes
int leitura1 = 0;
int leitura2 = 0;
 
void setup()
{
  //Define pinos para o rele como saida
  pinMode(porta_rele1, OUTPUT); 
  pinMode(porta_rele2, OUTPUT);
  //Define pinos dos botoes como entrada
  pinMode(porta_botao1, INPUT); 
  pinMode(porta_botao2, INPUT);
  //Estado inicial dos reles - desligados
  digitalWrite(porta_rele1, HIGH);
  digitalWrite(porta_rele2, HIGH);
}

void loop()
{
  //Verifica o acionamento do botao 1
  leitura1 = digitalRead(porta_botao1);
  if (leitura1 != 0)
  {
    while(digitalRead(porta_botao1) != 0)
    {
      delay(100);
    }
    //Inverte o estado da porta
    estadorele1 = !estadorele1;
    //Comandos para o rele 1
    digitalWrite(porta_rele1, estadorele1);  
  }   
  
  //Verifica o acionamento do botao 2
  leitura2 = digitalRead(porta_botao2);
  if (leitura2 != 0)
  {
    while(digitalRead(porta_botao2) != 0)
    {
      delay(100);
    }
    //Inverte o estado da porta
    estadorele2 = !estadorele2;
    //Comandos para o rele 2
    digitalWrite(porta_rele2, estadorele2);  
  } 
}

Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

356 Comentários

  1. Seria possível fazer a troca dos botões pelo um rc522 e cadastrar uma tag para um botão e outro tag para o outro?

    1. Olá.

      Nesse circuito é usado leitura de entrada digital, então você pode substituir por qualquer outro circuito que gere sinal HIGH e LOW.

      Para usar a TAG, teria que usar SPI. Você pode utilizar esse projeto: https://www.makerhero.com/blog/controle-acesso-leitor-rfid-arduino/.

      Att.
      Vitor Mattos.
      Suporte Técnico MakerHero.

  2. Boa tarde!

    Me tira uma dúvida?
    No primeiro exemplo ao acionar um relé ou outro desliga…ok?

    No segundo exemplo me parece que não…ou estou errado?

    Se não…como ficaria o código para, ao acionar o rele 1 e ligar a lâmpada, inverter o estado do 2 para que os dois nunca estivessem ligados ao mesmo tempo?

    1. Olá Gilmar,

      No segundo código cada botão controla um relé, e eles podem ficar acionados juntos sim.

      Você precisaria checar o estado do outro relé e comandar a inversão, ou simplesmente quando acionar um dar o comando para que o outro desligue. Caso já esteja desligado, não haverá alteração.

      Abraços!
      Vinícius – Equipe MakerHero

  3. Boa noite.
    Precisava de um sketch com as seguintes informações:
    Controlar um portão eletrônico para ligar de Segunda a Sexta 6:00 da manhã e desligar 6:01 da manhã.
    Ligar 18:00 e desligar as 18:01. Com módulo relé e RTC DS3231.
    Seria possível me ajudar?
    Cordialmente.
    Cardoso.

    1. Olá José,

      Atualmente não trabalhamos na realização de projetos.

      Mas você pode postar sua ideia na nossa comunidade no facebook, https://www.facebook.com/groups/272908123918982
      Lá o pessoal deve conseguir te ajudar com esse projeto.

      Abraços!
      Vinícius – Equipe MakerHero

    2. Compra um timer digital com varias opções de horário liga saida dele pra alimentar um contactor que seja compatível com a carga de corrente do motor do seu portão eletrônico automatizado..

    3. Você pode usar um interruptor inteligente, ele pode controlar o portão desses horários ou outros que quiser e tudo pelo o celular sem precisar de código só pelo aplicativo.

  4. Boa Noite Adilson! Eu Tony sou iniciante e gostaria se for possivel vc fazer uma amostra juntamente com os códigos claro como eu posso utilizar 8 relés somente pra saida de energia nas tomadas somente quando for feito um contato de um fio com outro. Lembrando que quando uma tomada estiver ocupada ele pula pra próxima e outra coisa também que cada tomada seja apenas o uso de 10 minutos. Se for possivel vc me dar essa dica serei grato pra tentar desenvolver o meu projeto.

    1. Olá Tony,

      Você pode postar sua ideia na nossa comunidade no facebook, https://www.facebook.com/groups/272908123918982
      Lá o pessoal deve conseguir te ajudar com esse projeto.

      Abraços!
      Vinícius – Equipe MakerHero

  5. Meu nome é Elson Alves Louzada. Sou engenheiro civil e estou fazendo mestrado na EA-UFMG, com um tema de automação residencial usando CLP (para projetos mais caros) e arduíno, para projetos de habitação com caráter social. Excelente postagem a sua. Fácil de entender, com didática e conteúdo acessível.
    Parabéns.

  6. Excelente!!!! Parabéns. Extremamente esclarecedor e descomplicado. Era o q eu estava procurando.
    Muito obrigado

  7. Alguém já passou por isso?
    Meu projeto, com Shield LCD, Módulo Dht11 (pra medir temperatura e umidade) e este módulo com 2 relés. To usando fonte externa de 5V e 2A só pro módulo, outra de até 12V (to usando 11V) e 30A pra ligar o arduino. Quando o cabo serial conectado ao arduino o projeto funciona perfeitamente. Assim que desligo o módulo relé cai, fica em ciclo, como se carregasse e não aguentasse, caindo direto. Tava usando uma fonte de 0.850A antes, e aumentei pra essa de 2A… a voltagem dela fica em 5.2V na verdade. Já tirei o shield LCD e continua igual. Testei o módulo sozinho com o arduino, acontece a mesma coisa. Sem a fonte externa o arduino não segura quando ligo um dos relés, com uma geladeira, e reseta.
    Problema que no primeiro dia funcionou, mas eu tinha cometido um erro no código, desconectei o arduino pra botar no PC e corrigir e quando voltei nunca mais funcionou…

    1. Olá,

      Sugiro você testar apenas o Arduino (sem relé e sem display conectado). Assim você vai poder verificar se não é o Arduino que está com problemas. Observe o comportamento dele com e sem o cabo USB.

      Abraço!
      Rosana – Equipe MakerHero

  8. Boa Noite, estou com um problema: quando compilo o código no arduíno tudo inicia certo, porém, quando pressiono qualquer um dos push buttons não há reação alguma, continua tudo desligado, já tentei de tudo: fazer alteração no código, checar o contato de todos os jumper e substitui-los por jumpers novos, porém nada. Alguém poderia me ajudar???

  9. Muito bom a aula estou gostando de aprender gostaria de dicas se preciso configurar o arduino.melhor forma obrigado

  10. Boa tarde, como faria nesse projeto para colocar um temporizador para ligar / desligar todos os dias em um determinado horário por um nr. de horas?.

  11. Boa tarde, quando ligo meu arduíno no USB ele ativa o relé por alguns segundos teria algum código para não acontecer isso ?

    1. Daniel,

      Basta retirar o delay no código do post 🙂

      Abraços!
      Diogo – Equipe MakerHero

  12. Boa noite , Para Todos !!

  13. Olá! O dispositivo consegue acionar a lâmpada ou demais equipamentos (minimotores) por time-flow determinado, ex (5 min luz ou motor modo ligado / 5 min modo desligado por um período determinado ex : 1h?

    Dennis Guilherme da Costa Silva
  14. Olá, usei o post de vocês como base pra acionar um relé duplo (com lampadas), mas junto ao sistema, já tinha ligado um motor de passo que aciona em determinados momentos!
    Reparei que quando o relé aciona ou desliga, o eixo do motor da uma leve movimentada, ou seja, o relé de alguma forma está interferindo, mandando corrente pro motor (o que a meu ver não deveria ocorrer, já que são portas e sistemas independentes)!

    O que pode estar gerando esta interferência?
    Como fazer para garantir que o módulo relé não interfira nos demais componentes?

  15. bom dia preciso de 4 controlador para semafaro 110 vts de 3 fazes os semafaro são educacional vc pode me indicar algo com baixo custo que atende este fim
    zap (16) 98187-3110

  16. Gostei

    Silk Garzon Rafeal Lourenço
  17. Qual programa você utilizou para desenhar os esboços com os componentes?

    1. Anderson,

      O programa utilizado é o Frietzing.

      Abraços!
      Diogo – Equipe MakerHero

  18. Cara deve ser um dos melhores empregos do mundo trabalhar no laboratório da Felipeflop.

    1. Paulo,

      Vou te dizer que é bem maneiro montar o conteúdo com essa galera toda! Hehe!

      Abraços!
      Diogo – Equipe MakerHero

  19. Boa tarde! Parabéns pelo post… Estou querendo conectar uma lâmpada fluorescente de tubo de 100W. Essa lâmpada possui reator. É possível acionar através desse módulo?

    1. Diógenes,

      Pode utilizar sim.

      Abraços!
      Diogo – Equipe MakerHero

  20. Bom dia!!!
    Como eu poderia fazer esse esquema funcionar usando ao invés de lampadas, sensores magnéticos?
    Obrigado

    1. Marcelo,

      O princípio é o mesmo. Você deve conectar as alimentações do sensor nos pinos GND e NO ou NC, de acordo com a sua necessidade.

      Abraços!
      Diogo – Equipe MakerHero

  21. Boa tarde como eu montaria um circuito de comondo para ar condicionado.com relé e Arduino.

    1. Emerson,

      Aconselho você levar essa pergunta lá pro nosso fórum, ficando mais de boa para fornecer ajuda!

      Abraços e cuide-se com o COVID-19!
      Diogo – Equipe MakerHero

  22. eu sou instrutor da area elétrica gostaria de receber mas exerecicios
    parabens

    1. Jaime,

      Continue acompanhando nosso blog para mais tutoriais!

      Abraços, e cuide-se com o COVID-19!
      Diogo – Equipe MakerHero

  23. O módulo de relés precisa necessariamente ser alimentado pelo Arduino? Ou posso usar uma fonte externa e usar o Arduino só para o controle dos relés? Ou precisa estar tudo no mesmo terra (a placa de relés e o Arduino)?

    1. Bruno,

      Em tese não é para ter problemas.

      Abraços!
      Diogo – Equipe MakerHero

  24. bom dia!!!! parabéns e obrigado pelo artigo. Sabes explicar como pegar o consumo elétrico de cada relé???? Obrigado

    1. Hermeson,

      Você teria que medir a corrente passando ali pelo relé e também a tensão nele. Depois basta fazer aí uma equação de potência pra saber a quantidade em Watts utilizada 😉

      Abraços!
      Diogo – Equipe MakerHero

  25. Usei esta ideia na minha maquete de comboios na escala HO, muito bem explicado e funciona em pleno, só tenho a agradecer a disponibilidade de usar o programa, muito obrigado.

  26. Boa tarde, eu consigo colocar um temporizador no botao, para que quando o botao fosse pressionado, as luzes fossem acesas por X segundos.

    Obrigado

  27. É possível ligar um rele de 12v no Arduíno? Pois eu preciso ligar uma fita de Led de 12V

    1. Patrick,

      Não é possível, pois a tensão de saída dos pinos do Arduino é de 5V. Qual seria a fita de LED?

      Abraços!
      Diogo – Equipe MakerHero

  28. olá boa noite… gostaria de saber o valor dos resistores pois nao dá pra ver direito qual o codigo de cores… seria 2 resistores de 220 ohms ?? vermelho vermelho marrom dourado? é isso mesmo? abraço

    1. Vitor,

      Isso mesmo!

      Abraços!
      Diogo – Equipe MakerHero

  29. Boa noite !
    Criei um circuito para acionar um ventilador de teto, permitindo além do acionamento da luz, o controle do modo de operação (ventilar, exaustor). Precisei de um relé com 8 canais. Porém, tem acontecido que em alguns momentos o arduino reiniciar quando ou desligo o ventilador ou aumento a velocidade dele. Já verifiquei toda a fiação, bem como o estado dos relé. Fiz o teste também sem ter o ventilador conectado e funcionou perfeitamente. Saberia me auxliar sobre essa situação?

    1. Victor,

      Extremamente possível que seja alguma espécie de ruído/interferência nas vezes que você faz o acionamento. Você pode tentar colocar um capacitor no meio do caminho do circuito para dar uma filtrada e amenizada nessa paulada que o Arduino recebe.

      Abraços!
      Diogo – Equipe MakerHero

    2. Alguem pode me ajudar quero acionar o rele pela internet e por um botao ou interruptor alguem sabe de um tutorial ?

      1. Bruno,

        Confira esse nosso outro tutorial, com ele você pode juntar ambos e formar o seu projeto! 🙂
        https://www.makerhero.com/blog/automacao-residencial-com-arduino-acenda-lampadas-pela-internet/

        Abraços!
        Diogo – Equipe MakerHero

  30. Srs. preciso de ajuda, fiz uma ligação com 250 leds e dois conversores um de 200 e outro de 60, coloquei um nano e um kit deste com 2 relés, coloquei o relé cortando o negativo dos leds, programei o arduino, com um par de lampadas de led normal funciona sem problema, quando jogo no circuito com 250 leds ele faz a programação mas fica dando umas piscadinhas que não estão na programação. PS o relé e o arduino estão sendo alimentados por uma mini fonte de 5V. alguem pode me ajudar??

    1. Ricardo,

      Os LEDs ficam piscando direto? O que pode estar ocorrendo é ser muita corrente devido ao alto número de LEDs.

      Abraços!
      Diogo – Equipe MakerHero

      1. Diogo, bom dia!!
        Acho que descobri, como não tenho nenhum conhecimento em Arduíno e eletrônica,
        eu havia colocado os Relés para “cortar” o negativo dos leds, resolvi mudar para os positivos, entendi que os conversores ficam “carregados” e quando cortando os negativos eles descarregavam e precisavam de um tempo para carregar novamente os capacitores internos e o tempo ligado é pouco eles não carregavam o suficiente, então cortando o positivo dos leds os conversores não continuariam alimentando os leds enquanto desligado o negativo e continuariam carregados para o próximo Loop, e deu certo, o sistema agora está funcionado conforme o programa.

        1. Ricardo,

          Fico feliz que tenha conseguido arrumar uma solução! Se precisar de mais algum suporte, estou à disposição!

          Abraços!
          Diogo – Equipe MakerHero

  31. Bom dia, preciso tirar está dúvida.
    No início do conhecimento da programação com Arduino. Fui adquirindo os componentes necessário s a cada tutorial que encontrava na internet. Por fim comprei este módulo relé de 16 canal. Fazendo a montagem de um circuito com lâmpadas e neste circuito usei conjugado também o interruptor paralelo Three Way. Notei que a cada circuito de uma lâmpada entra três fios até o módulo de relé.
    A pergunta é: Existe a opção melhor de evitar está quantidade de fios, caso for usar o circuito de várias lâmpadas.?

    1. Nilton,

      Você poderia detalhar melhor o seu circuito no nosso fórum? É mais fácil ajudar por lá 🙂

      Abraços!
      Diogo – Equipe MakerHero

  32. ola boa noite tentei colocar mais 6 botoes mais do 5 botão em diante nao funcionou !! poderia dar uma conferida no codigo que eu repliquei.

    //Programa : Teste Módulo Rele Arduino – Botoes
    //Autor : MakerHero

    //Porta ligada ao pino IN1 do modulo
    int porta_rele1 = 26;
    //Porta ligada ao pino IN2 do modulo
    int porta_rele2 = 28;
    int porta_rele3 = 30;
    int porta_rele4 = 32;
    int porta_rele5 = 27;
    int porta_rele6 = 29;
    int porta_rele7 = 31;
    int porta_rele8 = 33;
    //Porta ligada ao botao 1
    int porta_botao1 = 38;
    //Porta ligada ao botao 2
    int porta_botao2 = 40;
    int porta_botao3 = 42;
    int porta_botao4 = 44;
    int porta_botao5 = 46;
    int porta_botao6 = 48;
    int porta_botao7 = 50;
    int porta_botao8 = 52;

    //Armazena o estado do rele – 0 (LOW) ou 1 (HIGH)
    int estadorele1 = 1;
    int estadorele2 = 1;
    int estadorele3 = 1;
    int estadorele4 = 1;
    int estadorele5 = 1;
    int estadorele6 = 1;
    int estadorele7 = 1;
    int estadorele8 = 1;

    //Armazena o valor lido dos botoes
    int leitura1 = 0;
    int leitura2 = 0;
    int leitura3 = 0;
    int leitura4 = 0;
    int leitura5 = 0;
    int leitura6 = 0;
    int leitura7 = 0;
    int leitura8 = 0;

    void setup()
    {
    //Define pinos para o rele como saida
    pinMode(porta_rele1, OUTPUT);
    pinMode(porta_rele2, OUTPUT);
    pinMode(porta_rele3, OUTPUT);
    pinMode(porta_rele4, OUTPUT);
    pinMode(porta_rele5, OUTPUT);
    pinMode(porta_rele6, OUTPUT);
    pinMode(porta_rele7, OUTPUT);
    pinMode(porta_rele8, OUTPUT);
    //Define pinos dos botoes como entrada
    pinMode(porta_botao1, INPUT);
    pinMode(porta_botao2, INPUT);
    pinMode(porta_botao3, INPUT);
    pinMode(porta_botao4, INPUT);
    pinMode(porta_botao5, INPUT);
    pinMode(porta_botao6, INPUT);
    pinMode(porta_botao7, INPUT);
    pinMode(porta_botao8, INPUT);

    //Estado inicial dos reles – desligados
    digitalWrite(porta_rele1, HIGH);
    digitalWrite(porta_rele2, HIGH);
    digitalWrite(porta_rele3, HIGH);
    digitalWrite(porta_rele4, HIGH);
    digitalWrite(porta_rele5, HIGH);
    digitalWrite(porta_rele6, HIGH);
    digitalWrite(porta_rele7, HIGH);
    digitalWrite(porta_rele8, HIGH);
    }

    void loop()
    {
    //Verifica o acionamento do botao 1
    leitura1 = digitalRead(porta_botao1);
    if (leitura1 != 0)
    {
    while(digitalRead(porta_botao1) != 0)
    {
    delay(100);
    }
    //Inverte o estado da porta
    estadorele1 = !estadorele1;
    //Comandos para o rele 1
    digitalWrite(porta_rele1, estadorele1);
    }

    //Verifica o acionamento do botao 2
    leitura2 = digitalRead(porta_botao2);
    if (leitura2 != 0)
    {
    while(digitalRead(porta_botao2) != 0)
    {
    delay(100);
    }
    //Inverte o estado da porta
    estadorele2 = !estadorele2;
    //Comandos para o rele 2
    digitalWrite(porta_rele2, estadorele2);
    }
    //Verifica o acionamento do botao 3
    leitura3 = digitalRead(porta_botao3);
    if (leitura3 != 0)
    {
    while(digitalRead(porta_botao3) != 0)
    {
    delay(100);
    }
    //Inverte o estado da porta
    estadorele3 = !estadorele3;
    //Comandos para o rele 1
    digitalWrite(porta_rele3, estadorele3);
    }
    //Verifica o acionamento do botao 4
    leitura4 = digitalRead(porta_botao4);
    if (leitura4 != 0)
    {
    while(digitalRead(porta_botao4) != 0)
    {
    delay(100);
    }
    //Inverte o estado da porta
    estadorele4 = !estadorele4;
    //Comandos para o rele 1
    digitalWrite(porta_rele4, estadorele4);
    }

    //Verifica o acionamento do botao 5
    leitura5 = digitalRead(porta_botao5);
    if (leitura5 != 0)
    {
    while(digitalRead(porta_botao5) != 0)
    {
    delay(100);
    }
    //Inverte o estado da porta
    estadorele5 = !estadorele5;
    //Comandos para o rele 1
    digitalWrite(porta_rele5, estadorele5);

    //Verifica o acionamento do botao 6
    leitura6 = digitalRead(porta_botao6);
    if (leitura6 != 0)
    {
    while(digitalRead(porta_botao6) != 0)
    {
    delay(100);
    }
    //Inverte o estado da porta
    estadorele6 = !estadorele6;
    //Comandos para o rele 1
    digitalWrite(porta_rele6, estadorele6);
    }

    //Verifica o acionamento do botao 7
    leitura7 = digitalRead(porta_botao7);
    if (leitura7 != 0)
    {
    while(digitalRead(porta_botao7) != 0)
    {
    delay(100);
    }
    //Inverte o estado da porta
    estadorele7 = !estadorele7;
    //Comandos para o rele 1
    digitalWrite(porta_rele7, estadorele7);
    }
    //Verifica o acionamento do botao 8
    leitura8 = digitalRead(porta_botao8);
    if (leitura8 != 0)
    {
    while(digitalRead(porta_botao8) != 0)
    {
    delay(100);
    }
    //Inverte o estado da porta
    estadorele8 = !estadorele8;
    //Comandos para o rele 1
    digitalWrite(porta_rele8, estadorele8);
    }
    }
    }

    1. Antunis,

      Aconselho você postar seu código no nosso fórum. Lá é muito mais fácil de ajudar 🙂

      Abraços!
      Diogo – Equipe MakerHero

  33. Boa tarde. Eu aproveitei este tópico aqui e juntei um ecrã 5110 e uma sonda de temperatura. A temperatura indicada no ecrã e quando atinge o que está definido atraca um dos rele deste módulo onde está ligado um pequeno ventilador de 220v e 17W. Até aí tudo bem! O problema é que sem o ventilador tudo funciona bem. Quando logo o ventilador e chega a temperatura de atracar, atraca e o écran desliga desaparecendo os dados escritos. Mas todo o sistema continua a funcionar, atracando ou não quando chega às temperaturas estabelecidas . Já aconteceu isso com alguém?
    Obrigado.

    1. Olá, Vitor,

      Sua alimentação pode não estar sendo suficiente para alimentar tudo. Outro problema pode ser o fato de que o próprio ventilador pode estar causando interferência no sinal para o display.

      Abraços!
      Diogo – Equipe MakerHero

      1. Obrigado.
        E como vou conseguir eliminar essa interferência?
        Eu tenho uma fonte de carregador de tlm(5v 1A) a alimentar o Arduíno na porta VIN . Mas já tive uma fonte de 12V no JACK do Arduíno e o problema era o mesmo. O curioso também e que o Arduíno parece que bloqueia passado algum tempo, por vezes com o relé aberto, outras com o relé fechado até eu o reniciar. Estou até a pensar fazer o circuito apenas com o atmega para eliminar o resto dos componentes da placa para ver se funciona mas não sei o que fazer .
        Obrigado pela atenção.

        1. Vitor,

          Você pode tentar de primeiro momento, adicionar algum capacitor para filtrar o ruído que pode estar causando essa interferência.

          Se o problema persistir, aconselho a abrir um tópico no nosso fórum, lá é mais fácil de acompanhar!

          https://www.makerhero.com/forum/

          Abraços!
          Diogo – Equipe MakerHero

  34. Gostaria de saber se tem como fazer uma ligação com várias lâmpadas ao mesmo tempo e se tem como eu desligar individualmente as mesmas ok

    1. Olá,

      Com um módulo desse você consegue ligar até duas lâmpadas.

      Abraços!
      Diogo – Equipe MakerHero

  35. salve familia, tmj é noixxxx

  36. Olá

    Qual o rele indicado para o arduino controlar um motor de 380 V?
    Grato

    Ilton Paschoal Rotta Junior
    1. Olá Ilton,

      Infelizmente não temos nenhum relé com essas características em nossa loja.

      Abraço!
      Rosana – Equipe MakerHero

      1. Eu preciso controlar 14 lampadas vou precisar do Arduino e o rele e quero controlar via wifi, o que mais tenho que compar ?

        1. Olá,

          Para a utilização via WiFi, você pode dar uma conferida no ESP8266 😉

          https://www.makerhero.com/produto/modulo-wifi-esp8266-esp-01/

          Abraços!
          Diogo – Equipe MakerHero

  37. Felipe, da uma olhada nessa situação abaixo, to precisando desse algoritmo:

    Suponha que você foi contratado para desenvolver o controle de cinco lampadas de um galpão industrial por meio de um servidor web utilizando o Arduino.
    O controle de lampadas devera acessar o servidor por meio de ethernet ou wi-fi e acender as lampadas durante o expediente entre 6h e 20h.

    Em face do exposto, descreva o algoritmo que deverá ser construido para controlar as lampadas, incluindo a configuração da comunicação com o servidor web que irá mostrar o estado das lampadas. Alem disso, indique o hardware (placa arduino e módulo para a conexão ethernet ou wi-fi) que deverá ser utilizado no proeto.

    1. Olá Adilson,

      Acredito que esse post pode te ajudar: https://www.makerhero.com/blog/automacao-residencial-com-arduino-acenda-lampadas-pela-internet/

      Abraço!
      Rosana – Equipe MakerHero

  38. Caro Adilson bom dia!

    Sou Eng. Eletricista e estou estudando por conta própria linguagem C para sistema embarcado e gostaria de saber do amigo o que eu devo estudar para aprender a controlar um carrinho via NET com uma câmera incorporada ao mesmo?

    Desde Já meu muito obrigado!

  39. Goitei muito! Pois o circuito já vem acompanhado do programa… Muito bom. Gostaria de saber, se posso deletar alguns programas que veio instalado no meu Arduíno p/ aprendizagem, e começar do zero? Grato

    1. Olá João,

      O que você deseja deletar? Os exemplos da Arduino IDE? Ou seja carregar um novo programa para seu Arduino?

      Abraço!
      Rosana – Equipe MakerHero

  40. Boa tarde meus amigos, estava procurando um esquema de código para poder ligar uma sirene com um botão, e fazendo uma adaptação com esse código serviu plenamente, caso alguém tenha interesse ou esteja tentando algo parecido, o código adaptado ficou assim:

    //Programa : Teste Módulo Rele Arduino – Botoes
    //Autor : MakerHero

    //Porta ligada ao pino IN1 do modulo
    int porta_rele = 7;
    //Porta ligada ao botao 1
    int porta_botao = 2;

    //Armazena o estado do rele – 0 (LOW) ou 1 (HIGH)
    int estadorele = 1;
    //Armazena o valor lido dos botoes
    int leitura = 0;

    void setup()
    {
    //Define pinos para o rele como saida
    pinMode(porta_rele, OUTPUT);
    pinMode(porta_botao, INPUT);
    //Estado inicial dos reles – desligados
    digitalWrite(porta_rele, HIGH);
    }

    void loop()
    {
    //Verifica o acionamento do botao
    leitura = digitalRead(porta_botao);
    if (leitura != 0)
    {
    while(digitalRead(porta_botao) != 0)
    {
    delay(100);
    }
    //Inverte o estado da porta
    estadorele = !estadorele;
    //Comandos para o rele
    digitalWrite(porta_rele, estadorele);
    }

    }

    Um abraço e muito obrigado pela ajuda que seu código me deu!

    1. Olá Eraldo,

      É muito bom saber que nosso trabalho pode te ajudar.
      E obrigada por compartilhar o seu trabalho.

      Abraço!
      Rosana – Equipe MakerHero

  41. Estou tentando fazer funcionar com botões e com o aplicativo Blynk.

    Consegui fazer funcionar como interruptores simples (um acende o outro apaga e vice versa), mas queria fazer funcionar como interruptores paralelos (os dois apagam e os dois acendem independente um do outro).

    O código ficou assim:

    #define BLYNK_PRINT Serial
    #include “ESP8266_Lib.h”
    #include “BlynkSimpleShieldEsp8266.h”
    #include

    int porta_rele1 = 37;
    int porta_botao1 = 53;
    int estadorele1 = 1;
    int leitura1 = 0;
    int leitura2 = 0;

    WidgetLED LED1(V15);
    WidgetLED LED5(V19);

    char auth[] = “auth cod”;
    char ssid[] = “ssid”;
    char pass[] = “paswd”;

    #define EspSerial Serial1
    #define ESP8266_BAUD 9600
    ESP8266 wifi(&EspSerial);

    void setup()
    {
    Serial.begin(9600);
    delay(100);

    EspSerial.begin(ESP8266_BAUD);
    delay(100);

    Blynk.begin(auth, wifi, ssid, pass);

    Timer1.initialize(250);
    Timer1.attachInterrupt(ControleRele);

    pinMode(porta_botao1, INPUT_PULLUP);
    pinMode(porta_rele1, OUTPUT);
    digitalWrite(porta_rele1, 1);
    }

    void loop()
    {
    Blynk.run();
    }

    void ControleRele()
    {
    leitura1 = digitalRead(porta_botao1);
    leitura2 = digitalRead(porta_rele1);
    if (leitura1 != 0 && leitura2 != 0)
    {
    while (digitalRead(porta_botao1) != 0 && (digitalRead(porta_rele1) != 0))
    {
    delay(100);
    }
    estadorele1 = !estadorele1;
    digitalWrite(porta_botao1, estadorele1);
    digitalWrite(porta_rele1, estadorele1);
    }
    }

    Se alguém tiver alguma dica para resolver esse problema, vou ficar muito agradecido.

    Sds,
    António Carlos

    1. Pequeno update. Ao declarar os pinos 53 (botão) e 37 (relé), o aplicativo Blynk passou a ligar e desligar a carga, mas o botão só desliga. 75% pronto! 😉

      void ControleRele()
      {
      leitura1 = digitalRead(53);
      leitura2 = digitalRead(37);
      if (leitura1 != 0 && leitura2 != 0)
      {
      while (digitalRead(porta_botao1) != 0 && (digitalRead(porta_rele1) != 0))
      {
      delay(100);
      }
      estadorele1 = !estadorele1;
      digitalWrite(porta_botao1, estadorele1);
      digitalWrite(porta_rele1, estadorele1);
      }
      }

  42. Boa noite comecei a treinar Arduino e nao concigo realiza a seguinte condição rele inicia ligado e em 30 segundo se não precionar o botão desliga o rele se precionado fica ligado ate que o botão 2 seja precionado assim contando o tempo 30 s voltando condição Inicial.

    1. Olá Maurício,

      Usando a função “if” e “else” é possível implementar o que deseja.

      Abraço!
      Rosana – Equipe MakerHero

  43. Preciso de ajuda, pois comprei um material para montar o meu projeto de TCC e o módulo relé 5v veio somente com dois pinos jd-vcc e vcc, mas vi que geralmente são três pinos para conexão de fonte externa, jd-vcc, vcc e gnd.
    Como eu ligo uma fonte externa no meu módulo relé? Se não há o pino GND.

    Washington Pereira da Rocha
    1. Olá Washington,

      Nesse caso o jumper entre VCC e JD-VCC deve ser removido. O 5V deve ser conectado ao JD-VCC e o GND deve ser conectado ao GND que fica ao lado das entrada (IN1, IN2, …)

      Abraço!
      Rosana – Equipe MakerHero

  44. Olá, como seria no módulo de 16 canais, e com 16 pulsadores no Arduino mega? Posso escolher os 16 pinos para entrada e 16 para saídas e fazer o código como vc apresentou só que com os 32 pinos? Vai funcionar normal?
    Posso colocar essas linhas para rodar junto com o Blink? Pois preciso de acionar os relé através de pulsadores, e ao mesmo tempo através da interface. Outra dúvida é se quando acionar o relé pelo pulsador se o Blink vai receber o feedback do estado do relé para atualizar a interface. Muito obrigado

    1. Olá,

      Para 16 canais seria parecido com o exemplo dado, com 2 canais.
      Sobre blink e acionamento dos relés, eu acredito que esse post pode te ajudar: https://www.makerhero.com/blog/tarefas-paralelo-no-arduino/
      Boa sorte no projeto!

      Rosana – Equipe MakerHero

  45. Boa Tarde, através do relé consigo verificar se ta passando energia por ele, ou teria que usar outro modulo?

    1. Olá Matheus,

      Você deseja verificar se há energia na saída do módulo relé?
      Se sim, a verificação pode ser visual: se o dispositivo conectado ao relé está ativado, há energia na saída.
      Mas se você deseja verificar a corrente na saída, é necessário usar um sensor: https://www.makerhero.com/produto/sensor-de-corrente-nao-invasivo-20a-sct-013/.

      Abraço!
      Rosana – Equipe MakerHero

  46. gostaria de saber como faço para incluir o comando do modulo nrf24l01+pa+lna para este circuito de reles acima.

    estou querendo fazer uma automação em meu laboratório de estudo e queria ligar as tomadas e as lampadas por comando de voz.
    estou confuso na questão da comunicação serial entre um arduino mega e um uno.aguardo resosta..

    1. Olá!

      Você precisa fazer o download do Arduino IDE?

      Abraço!
      Rosana – Equipe MakerHero

  47. Ola boa tarde, é possível acionar pelo meu computador seis contatores individualmente, simultaneamente e com tempo de funcionamento para cada um dos contatores usando o arduino? Ou que tipo de módulo seria mais apropriado?
    a aplicação seria para um sistema de irrigação.

    1. Olá Anderson!

      É possível sim! O problema é a corrente que você precisa, provavelmente vai precisar desse módulo relé. Temos um com mais portas também:
      https://www.makerhero.com/produto/modulo-rele-5v-8-canais/

      Abraços!

      André – Equipe MakerHero

  48. Olá, Adilson. Irei fazer um semáfaro. Quais os tipos de lâmpadas que posso usar? Você tem essas lâmpadas? O relé tem que ser qual modelo? Obrigada pela sua atenção

    1. Olá!

      Você quer uma luz muito potente? Se não, você pode usar LEDs:
      https://www.makerhero.com/produto/kit-led-5mm-200x-unidades-10-cores/

      Abraços!

      André – Equipe MakerHero

  49. Muito bom parabéns e se eu quiser que enquanto precisando fique ligado e quando soltar desligue

    1. Olá Maurício!

      Você precisa alterar este trecho do código:
      while(digitalRead(porta_botao1) != 0)
      {
      delay(100);
      }
      //Inverte o estado da porta
      estadorele1 = !estadorele1; // AQUI
      //Comandos para o rele 1
      digitalWrite(porta_rele1, estadorele1);
      }

      Ao invés de mudar o estado do relé, você mantém ativo e desativa fora desse laço.

      Abraços!

      André – Equipe MakerHero

  50. Olá Boa Tarde. Seria possível através deste relé, verificar se está passando corrente?

    1. Olá Matheus!

      Não é possível. Sugiro dar uma olhada nesse post:
      https://www.makerhero.com/blog/medidor-de-corrente-sct013-com-arduino/

      Abraços!

      André – Equipe MakerHero

  51. ola, gostaria de controlar uma lampada com arduino e um modulo rele, para tal a lampada deve desligar depois de 17min e ligar depois de 7mints quando deligada ligar sozinha. sou iniciante….

    1. Olá Celestino!

      Para isso, você pode mexer na função “delay” do programa.

      Lembrando que ela está em ms e cada segundo tem 1000 ms.

      Abraços!

      André – Equipe MakerHero

  52. Boa Tarde, tenho um modulo de 4 reles e mais dois de 2, fechado total de 8. Coloquei uma fonte gaiola 12V 5a, tenho notado que esta esquentando os reles acionados. Também seguido perde o visor LCD, ele fica todo bagunçada as informações. Pensei em passar para os reles de estado solido. Será que vai resolver o problema?

    1. Olá Eduardo!

      O circuito tem a mesma referência? Todos estão com o mesmo GND?

      Parece ser problema de ruído.

      Olá Gerson!

      Acredito que não seja possível. Os relés só abrem e fecham contatos, não são exatamente como interruptores que ou ligam 2 fios ou os outros 2.

      Abraços!

      André – Equipe MakerHero

  53. Olá , é possível implementar em paralelo (3-Way), mas neste caso, usando SSR? Obrigado

    1. Olá Gerson!

      Acredito que não seja possível. Os relés só abrem e fecham contatos, não são exatamente como interruptores que ou ligam 2 fios ou os outros 2.

      Abraços!

      André – Equipe MakerHero

  54. Então, estou com um problema. Estou usando um Thermister, um relé e um wemos d1. Eu consigo mudar o estágio do módulo relé uma vez apenas. Quando tento desligar ele, parece que não funciona e não consigo entender a razão. Setei uma variável para ser mudada junto e a variável mudou, mas o módulo não mudou o estado fisicamente.

    Estou alimentando todo o conjunto através da USB do computador para testar e não sei se é esse o problema. Vocês sabem se pode rolar isso? Como resolvo? Com uma fonte de 12v alimentando todo o sistema será que ele dá conta? Não queria ter que comprar uma fonte a toa desde já pra esse projeto. Obrigado!

    1. Olá Diego!

      Você pode colocar esse problema com mais detalhes no nosso fórum? Lá o pessoal pode te ajudar melhor nisso.

      https://www.makerhero.com/forum/

      Abraços!

      André – Equipe MakerHero

  55. Se você apenas ligar o arduino, sem nenhuma programação ainda, os relés vão ser acionados, pois estarão em LOW? Obrigado

    1. Olá Gerson!

      Não necessariamente. Depende da tensão que vai estar no pino. Pode ser que esteja como entrada aí fica suscetível às interferências do meio 🙂

      Abraços!

      André – Equipe MakerHero

  56. boa noite preciso de uma ajuda a interface rele é ideal para um sistema de iluminação de um aquário?

    1. Olá Marcilene!

      É possível utilizar um relé para esse fim. Ele ficaria no lugar do interruptor.

      Abraços!

      André – Equipe MakerHero

  57. como seria pra substituir o botão por o leitor rfid?

    1. Olá Eduardo!

      Dê uma olhada nesse post:
      https://www.makerhero.com/blog/acionando-trava-eletrica-com-rfid/

      Sugiro fazer os dois projetos separadamente primeiro e depois integrá-los.

      Abraços!

      André – Equipe MakerHero

  58. Bom dia, espero que possa me ajudar, montei um projeto para controlar as luzes de casa usando o nodemcu num shield que force tanto os 3,3V como 5V para os módulos relés. Em uma ponta liguei um módulo relé com 2 canais e na outra um módulo relé de 4 canais. Ambas são acionadas usam o Blynk ou por comando de voz com o Echo Dot da Amazon. Tudo funciona, porém quando ligo ambos os relés do módulo de 2 canais ele sinaliza que estão ambos ligados, porém só uma lâmpada acende. Então desligo o que acendeu a lâmpada e automaticamente a lampada do outro relé que já está ligado acende. Depois ligo novamente o relé e ambas ficam acesas. Isso também acontece com o módulo relé de 4 canais, só que neste caso 3 lâmpadas se acendem é uma fica apagada, mesmo o módulo apresentando que os 4 relés estão ligados. Um fato curioso é que se você der uma batinha no relé em que a lâmpada não acendeu ela acende. Achei que era mal contato, refiz toda Instalaçao, mas continua a mesma coisa. Tem alguma ideia do que pode ser ? Agradeço desde já sua atenção.

    1. Olá Ederson!

      Isso parece ser problema de corrente.

      Você pode colocar esse problema com mais detalhes no nosso fórum? Como você está alimentando o NomeMCU e se você tem um multímetro para fazer alguns testes. Lá o pessoal pode te ajudar melhor nisso.

      https://www.makerhero.com/forum/

      Abraços!

      André – Equipe MakerHero

  59. Boa tarde sim eu copiar este programação e colocar no Arduino vai funcionar

    SERGIO ROBERTO XAVIER FERREIRA
    1. Olá Sérgio!

      Se copiar as conexões também irá funcionar sim.

      Abraços!

      André – Equipe MakerHero

  60. Oi tem como fazer com 1 rele de 1 canal

    1. Olá Gabriel!

      É possível sim, basta utilizar somente um canal do arduino.

      Abraços!

      André – Equipe MakerHero

  61. E se eu quiser usar os dois relés com tempos diferentes, mais ou menos assim:

    os dois acionam ao mesmo tempo quando ligar, porém o primeiro relé fica 10s ligado e 10s desligado, o segundo relé fica 5s ligado e 15s desligado… o ciclo seria de 20s… como eu faria isso?

    1. Olá Rafael!

      Você pode mexer nas portas separadamente, uma hora passando os dois pra HIGH, dando um delay entre eles.
      É bem livre!

      Abraços!

      André – Equipe MakerHero

  62. Eu estava a tentar acionar 8 reles através do visual basic, os leds acendiam e apagavam, mas os reles não atracavam, não fazia alteração nas lâmpadas

  63. Bom dia. Qual seria a máxima tensão DC em que eu posso inseri-lo? 30VDC?
    (Obs: Não me refiro a sua tensão de acionamento e nem a sua de alimentação.)

  64. Ola Meu amigo , gostaria de uma ajuda , tem algum video ou sketch , que faça a ligação de uma lampada por meio de internet , ou wifi , que na pagina html use interruptor three way , e consiga enchergar o status da lampada via browser ou app ? obrigado

  65. Muito bom o seu material! Parabéns e obrigado pela ajuda ^^

  66. boa tarde,

    O modulo rele ja vem programado? ou preciso programá – lo com programa específico?

  67. Boa noite
    Não consigo acionar o reles
    Quero controlar lâmpadas pelo celular.
    Faço todo o esquema mas não funciona.
    São 2 conjuntos de 4 reles

  68. Boa noite pessoal….estou montando um projeto para controlar uma maquina serviço. quando desligar a maquina tocar o celular do operador , usando arduino com wifi. tem a lampada que acende quando para a maquina, quero ligar ela junto com a arduino na hora que ela acender toca o celular??? é possível?? alguém pode ajudar?? tks.

    1. Tem como sim, baste que você tenha uma leitura da tensão que esta indo para a lâmpada, se essa leitura for diferente de zero, que significa que a lâmpada ligou, manda o sinal para o celular. Procure por comunicação por Bluetooth também, pode ser que ajude e seja mais fácil que a comunicação por Wifi.

  69. Boa tarde, no Circuito 2 Botões, por que a necessidade de usar resistor, estou estudando pra automatizar minha maquina de lavar.

    1. Bom dia Anderson. Os resistores estão sendo utilizados como resistores de Pull-Down, para uma maior precisão da leitura dos botões.

  70. Boa noite, Caso alguma pessoa que teve preguiça de pesquisar sobre os pinos jd-vcc, vcc e gnd tenha conectado em curto o vcc e gnd, tem alguma maneira de recuperar esse shield ou já era ?
    Obg !!

  71. Cara, excelente post, consegui entender bem o funcionamento da coisa, só fiquei com umas dúvidas.

    No caso de querer acionar tanto pelo botão pulsador quanto por app de celular, no meu caso o BLYNK, como ficaria esse código ?

    No caso de utilizar o ESP 32 q possui várias Gpio’s qual parte do código eu tenho q aumentar e colocar a Gpio correspondente ?

    desde já o meu muito obrigado.

  72. Olá! Como eu faço para controlar 3 relés, sendo que ao acionar um o outro desliga?! Exemplo: o relé 1 está ligado, daí eu aciono o relé 2 e o 1 desliga, acionando o relé 3 o 2 desliga… Assim em qualquer ordem.

  73. Bom dia!

    Uma duvida quanto a utilização do rele + interruptor + arduino.
    Tenho a intenção de controlar o acender e apagar de uma lampada pelo arduino, contudo, se eu ligar pelo interruptor, o que o arduino tentar fazer não terá efeito.
    Minha duvida e ,se o fase que eu enviar pelo interruptor estiver ligado ao mesmo fio fase que o rele enviaria, teria problemas com o rele, pois o fio de saída estaria alimentado, pelo interruptor, tipo uma ligação em Y.

    Alguém consegue me esclarecer.

  74. Olá. só agradecer pelo pastagem,
    e queria saber como faço para acionar as lâmpadas (reles), via Bluetooth (android)??.
    seria bom vc pudesse fazer esse projeto.

  75. Bom dia,

    Eu tenho um relé 5V, 1 canal com o pino JD-VCC.
    Preciso conectá-lo à Raspberry PI v. 3.
    Todas as minhas portas 5V já estão em uso, no caso preciso alimentá-lo externamente. A ligação com a Raspberry seria só através do pino do sinal ? Teria alguma referência para me passar ?
    Obrigada.

  76. olá. Estou pensando em fazer algo parecido para meu aquário, porém, fico na dúvida se o relé “aguenta” ficar 9 horas ligado (HIGH). Será que ele foi feito pra isso? Ou será que ele foi feito só para uso intermitente?

    1. Olá amigo.. Ele aguenta sim, desde que a corrente seja a suportada pelo relé.

  77. Bom dia, parabéns pelo tutorial, teria como me ajudar o seu projeto é bem parecido com um quem preciso fazer, só que o meu seria algo parecido com o jogo passa ou repassa, onde a pessoa q aperta primeiro o push button acende um led, e impossibilita o ou push button, sendo assim o primeiro a aperta acenderia o seu respectivo led e apos alguns segundos o sistema resetaria .

    seria ótimo sua ajuda pra me ajudar a fazer esse projeto ou uma indicação pra me ajudar.

  78. O módulo relé energiza o arduino?
    Estou em duvida se aquela porta de 5V do relé é para energizar o arduino ou vem 5V do arduino para o relé, porque estou pensando como deixar o arduino ligado, se precisa de pilhas .

  79. Ola! Esse codigo com os botões, como ficaria se apos apertar o botão ele temporizasse em uma hora. Estou querendo adaptar em dois abajures e tbm apertando novamente interromper a contagem. Já tentei alterar o delay mas não esta dando certo.

    Desde já agradeço

    1. Amigo, usando a função delay(), não há como interromper, você teria que usar a função millis()

      Exemplo do uso do millis() (Obs: não sei se há exemplos aqui no MakerHero, mas acredito que se der uma pesquisada, você acha): http://forum.fazedores.com/t/usando-a-funcao-millis-ao-inves-do-delay/1359

  80. Bom dia.
    Estou fazendo a automação da minha casa com arduino mega serão 3 placas ligados em rede fiz toda a programação por matriz-vetor o que diminui muito as linhas de programação. Como vou usar aproximadamente 30 placas de reles duplos oi quádruplo eu gostaria de saber qual o motivo desta placa desativar p rele a porta tem que fica high. Ou seja sempre vou gastar uma energia sem necessidade. Tem como mudar isso. Ou tem alguma explicação interessante paralela ser assim

  81. Olá! Parabéns a todos pelo blog e pela loja!

    Eu consigo utilizar um esquema com relês para substituir os interruptores de um ventilador de teto?

    Pensei em ligar a Luz com um interruptor normal mesmo e colocar no arduíno as chaves:

    – Modo: Ventilador / Exaustor
    – Cache de velocidade (mínima / média / máxima).

    A parte de traz do espelho se parece com a da imagem abaixo:
    http://2.bp.blogspot.com/-sDi8T6miEAo/UOLoHIJ9-PI/AAAAAAAAEk8/eMLNcwRupEA/s1600/025.jpg

    Obrigado,
    Rodrigo

  82. Olá ,poderia me tirar uma duvida de iniciante??
    È possível um arduino nano comandar aquela placa de 8 reles mais um display oled? usando apenas 6 botoões para acionamento dos reles?ou precisaria ser um arduino de maior porte?
    Meu projeto é para instrumentos musicais,onde usarei os 8 reles para ligar e deligar captadores,eu optei pelo arduino nano pelo baixo consumo,tendo em vista eu alimentar todo o projeto com baterias,o display seria somente para escrever o nome da combinação de captadores no instrumento musical
    Grato

  83. boa tarde estou tentando usar este seu codigo com 8 reles mas nao to conseguindo poderia me ajudar ?
    gostaria que tivesse essa sequencia de liga e desliga so que em sequencia liga um apaga liga o outro apaga etc..

    1. eai cara, verifica se o modulo acende a luz, se estiver acendendo, deve ser a sua conexao no rele.
      se não estiver acendendo verifica se vc esta colocando no pino certo, o modulo de 8 é exatamente igual a esse do exemplo. so que tem mais portas.

  84. Qual programa utilizam para o desenho do circuito? Por exemplo neste caso que esta o arduino uno, o rele, as lampadas e o cabeamento

    1. Eu também fiz essa pergunta e não obtive resposta, continuei pesquisando até achar o Fritzing. Que aparenta ser o que usam aí. Dá uma olhada nesse vídeo:
      https://youtu.be/TphX2gHBeCA

      1. Eu sou iniciante e achei interessante este serviço online da Autodesk (https://circuits.io/). Além do desenho esquemático, é possível colocar o código fonte e fazer simulações.

  85. Boa tarde,

    Eu sempre faço minhas simulações no Proteus, mas sempre que vejo as imagens dos esquemas que vocês postam me pergunto que simulador é esse que vocês usam. Parece muito o 123d Circuits, mas lá não tem a Raspberry Pi, e vejo ela em alguns projetos aqui. Já procurei em outros posts e não achei.
    Poderiam me informar qual o simulador que vocês usam?

    1. Boa tarde João, é o Fritzing! Toda essa parte de documentar os circuitos, é lá que eles fazem.

      att

  86. Bom dia, no meu projeto, tenho dois sensores de cor (modelo tcs34725) e estou tendo grandes problemas ao ligar os dois ao mesmo tempo para que os dois funcionem simultaneamente. Gostaria do código para que isso desse certo. Obrigado pela atenção.

  87. No meu projeto… uso um botão pulsador que utiliza a porta 2 digital como entrada e a porta 7 digital como saída para o relé que aciona uma campainha. Tem como fazer com que saia um valor por essa mesma porta 7 para um módulo bluetooth?

    1. Boa tarde Romullo,

      A comunicação com o módulo Bluetooth é feita via saída serial. Você pode enviar os comandos pela porta 7, configurando essa porta como TX (transmissão) usando a biblioteca SoftwareSerial.

      Abraço!

      Adilson – Equipe MakerHero

      1. Boa tarde Adilson. Obrigado pela resposta. Existe a possibilidade de entrar em contato com você para tirar uma dúvida a respeito do meu projeto? É coisa simples… TCC da faculdade. Comecei com Arduino faz pouco tempo. Obrigado e agradeço desde já.

  88. Olá, estou fazendo um projeto no qual quero acionar a bomba d’agua de acordo com o nível de agua do reservatório, no caso eu quero q se o nível de água do reservatório esteja muito baixo, a bomba seja desligada, se o nivel subir ela seja acionada novamente.

    Alguma ideia? sou iniciante no assunto.

    1. Bom dia Pedro,

      Dê uma olhada nesse post, o teste é feito com leds, mas você pode usar as saídas para acionar o relé que liga (ou desliga) a bomba: http://www.arduinoecia.com.br/2014/07/arduino-sensor-de-nivel-de-liquidos.html

      Abraço!

      Adilson – Equipe MakerHero

      1. Olá Adilson,

        Vou testar, depois volto aqui para dizer se funcionou, muito obrigado.

  89. Olá Adilson, muito bom seus tutoriais. Parabéns.

    Tenho uma dúvida, como posso fazer para usar esses relés como INPUT??? Ou seja, quero que quando o relé armar (com uma intervenção externa) que eu acenda um LED.

    Pode me ajudar??

    Abraços,

    1. Olá Alexandre!

      O programa para isso é bem simples. Supondo que seu relé é de 5V, você joga a entrada de controle dele em um dos pinos digitais do arduino. Pino 5 por exemplo. Supondo que o seu LED está conectado no pino digital 13, o código ficaria assim:

      int pinLED = 13;
      int entradaRele = 5;

      void setup() {
      pinMode(pinLED, OUTPUT);
      pinMode(entradaRele, INPUT);
      }

      void loop() {
      if(digitalRead(entradaRele)==HIGH) {
      digitalWrite(pinLED, HIGH);
      } else digitalWrite(pinLED, LOW);
      delay(10);
      }

    2. Boa tarde Alexandre,

      Muito obrigado. 🙂

      Infelizmente esse tipo de relé não tem uma saída que envie um sinal quando for acionado… Uma sugestão é colocar um sensor de corrente na saída do relé e assim, quando ele for acionado, enviaria um sinal para o microcontrolador…

      Abraço!

      Adilson – Equipe MakerHero

      1. Opa Adilson,

        coloquei um relé comum onde de uma lado vai para a energia (que está desligada) e a outra saída coloquei um para uma porta digital e outra para o GND. O que está acontecendo é o seguinte: Quando o relé ARMA o arruino fica louco e as vezes RESETA. O programa que fiz é bem parecido com o sugerido pelo LUCAS (Obrigado Lucas, me ajudou bastante sua dica 😀 ), a diferença é que controlo o estado da porta para fazer uma ação só na mudança. Alguma idéia do que pode estar acontecendo??

        Abraços,
        Alexandre Paixão

      2. Adilson bom dia eu tenho um chicote aqui do carro ( quatro lâmpadas 2 lanternas e 2 da placa) que fazemos teste com as lâmpadas , porem quando estar queimada não tenho como identificar a não ser visualmente, sera que vc poderia me ajudar a bolar um esquema pra quando faltar ou estiver queimada uma das 4 lâmpadas mandar um sinal sonoro.

  90. so tenho uma duvida queria usar esse seu projeto todo ai mais ou invés de botoes queria colocar uma placa Bluetooth ou controle remoto pra acionar os rele … é possível?

  91. Boa tarde Adilson,

    tenho a seguinte dúvida: o Arduíno possui algum módulo ou qual seria a opção para acionamento de cargas na faixa de potência beirando os 5000W, pois, desejo controlar uma máquina de secar roupas em dois estados ou LIGADA ou DESLIGADA. Obrigado.

  92. Olá! Estou adorando o site, faz tempo que não mexo com eletrônica e resolvi voltar, fazendo automação residencial daqui de casa…. com relação a ligação do rele e o interruptor está beleza eu entendi, mas me diga uma coisa, existe uma forma de armazenarmos o estado atual do rele para deixarmos na mesma posição no caso de uma falta de energia? Digo isso pq imaginei a situação: Você sai de casa deixa as luzes apagadas entretando suponhamos que o rele esteja na posição NA com a lampada apagada, ao faltar energia o arduino vai deixar de mandar o sinal para o rele e ele voltara para o NC fechado e quando a energia voltasse a lampada ligaria sem ninguem em casa. Existe alguma forma de salvar estes dados em memoria com o arduino UNO R3?

    Desde já, muito obrigado.

    1. Boa tarde Luis,

      Você pode guardar essa informação na memória EEPROM do Arduino, e “resgatá-la” quando a placa for ligada novamente. Dê uma olhada nesse post, por favor: http://www.arduinoecia.com.br/2015/03/gravar-dados-memoria-eeprom-arduino.html

      Abraço!

      Adilson – Equipe MakerHero

    2. Basta usar o terminal NA (Normalmente aberto-Rele aberto) dos Reles. Quando volta a energia as lampadas ficam apagadas. No NF (Normalmente fechado), claro, ao contrario, lampadas acesas.

    3. Estou tentando um codigo que adicione acionamento através de controle remoto da TV (infra vermelho) ou aqueles de projetos para arduino. Alem de apagar as lampadas de uma residencia, teríamos a opção por um controle remoto. Ja faço isso usando receptor RF (radio frequencia) de portões de garagens.

  93. Olá, como posso fazer para ligar os dois reles a um único botão, ex: ao pressionar o botão o rele1 permaneça ativo enquanto o botão estiver pressionado, o rele2 se ative por um curto período ao soltar o botão e depois se desativa.

    1. Dentro do if para chegar a condição doi botão você executa comandos tanto para o rele 1 qto para o rele 2

      1. Até esta parte entendi bem, porem não consigo fazer com que o segundo rele se apague depois de algum tempo, o sistema seria para controlar um compressor de ar, quando uma válvula que faz a leitura de pressão interna do cilindro ativa por estar com pouca pressão ela ligaria o primeiro rele para ligar o motor e encher o cilindro, ao chegar a determinada pressão a válvula se desativa e ativa o segundo rele que ativaria uma solenoide para fazer uma descarga de ar dentro da manqueira que sai do motor e vai para o compressor pois o motor não liga por estar com pressão alta nesse trecho do sistema, esta válvula que faz a leitura da pressão funciona como um interruptor comum só que ao invés de apertá-lo manualmente a pressão do cilindro se encarrega de disso.

  94. Boa noite.
    Tudo bem.
    Gosta um vídeo programando passo a passo por favor. Estou fazendo um TCC na área da automação residencial e gostaria de ter umas dicas.

  95. ola.
    com esse modulo relay com 8 saídas, eu consigo determinar 4 como timer e 4 com acionamento via botões?

    ja tenho o arduino mega e o modelo relay.
    gostaria de conseguir realizar essas tarefas sem uma afetar na outra.

    muito obrigado.

  96. Boa tarde,

    É possível fazer esta ligação que permita acionar a lampada pelo rele e pelo interruptor? Tipo eu colocar a lampada do meu quarto pra quando quiser acionar pelo Arduíno ou pelo interruptor.

    1. É possível fazer sim, porem o interruptor precisa ser um “Three way”… tudo que você precisa fazer é conectar os pinos Na e Nf do relé nos parafusos da extremidade do interruptor, conectar o parafuso central do interruptor a rede e o comum a lâmpada.

      1. Tem Tudo o Que você Precisa Nesse “Código-Modelo” Boa Sorte Aí!

        //Apenas Altere os Pinos “2” e “3”, Se necessário e o Programa Funcionará Perfeitamente

        #define SinalRele 2 //Pino de Sinal do Relé Conectado Ao Pino Digital 2
        #define Botao 3 //Pino de Sinal Do Botao Conectado Ao Pino Digital 3
        int BotaoAnt = 0; //Variável de Memória Que Monitora o Estado Anterior do Botão
        int BotaoAtu = 0; //Variável de Memória Que Monitora o Estado Atual do Botão
        int Clique = 0; //Variável Que Simula o Estado “0” e “1” do Botão

        void setup() {
        pinMode(SinalRele, OUTPUT); //Pino 2 Declarado Como Saída
        pinMode(Botao, INPUT_PULLUP); //Pino 3 Declarado Como Variável de Entrada
        } //”INPUT_PULLUP” Faz Com Que o Botão Seja Naturalmente “1” e Não “0”,
        //Porém, Despresa o Uso de Resistor “PullDown” Conectado Entre Gnd e o Pino De Sinal Do Botao
        void loop() {
        BotaoAtu = digitalRead(Botao); //”BotaoAtu” Declarado Como: “Ler Botão”
        if (!BotaoAtu && BotaoAnt) { //Se o Botão Atual é “0” e o Anterior era “1”… (Ou Sejá: Se o Botão Foi Pressionado…)
        Clique++; // Soma “1” à Variável “Clique”
        }
        if (Clique > 1) { //Torna “Clique” = 0 Caso “Clique” Tente Ficar Maior Que 1
        Clique = 0; //–> Dessa Forma, Sempre Que o Botão For Pressionado a Variável “Clique” Irá Ficar
        } //–> Alternando Entre 0 e 1, Permitindo Que Possa Ser Feito Um Controle Através do Comando “switch”.
        delay(20); //Tempo de “Debounce” Para Garantir Que a Leitura Seja Feita Apenas Uma Vez
        BotaoAnt = BotaoAtu; //Atualiza o Valor de “BotaoAnt” Para Comandos Futuros

        switch(Clique) { //Função de Controle da Varíavel “Clique”
        case 0: //Caso Clique = 0 >> Relé Recebe 0
        digitalWrite(SinalRele, LOW);
        break;

        case 1: //Caso Clique = 1 >> Relé Recebe 1
        digitalWrite(SinalRele, HIGH);
        break;
        } //Com Esse Programa é Possível Criar Um Botão ON/OFF Que Pode Ser Adaptado à Um Interruptor “Three Way”
        }

        1. Valeu, muito obrigado, será de grande ajuda este código que você passou. Vou tentar fazer neste fim de semana. To começando agora e ainda estou apanhando muito. Este blog é muito bacana.

  97. eu estou tentando ligar o projeto que voces fizeram com a ponte H neste projeto com o rele, quero ligar um motor mas a rele iria controlar a passagem de energia ,como faço para ligar a rele na ponte H

  98. Estou fazendo um projeto e preciso fazer o seguinte:
    Tem três botoes ,quando o botão 1 for pressionado ,, o rele 1,3,6 devem ligar ,quando o 2 for acionado ,rele 1,2,6, e quando o 3 apertado ,rele ,2,3,6 ,alguém pode me ajudar no circuito (tipo de botão etc )e no programa ,preciso para o mais rápido possível , Obrigado.

  99. Eu gostaria de acrescentar mais botões na pagina web , pois só dá para ligar 2 coisas e eu gostaria de ligar 8 por exemplo mas so tenho dois botões no site … como faço mais botões na pagina ?

  100. Bom dia, estou com um problema com o modulo reles 4 canais, ao acionar rele, o arduino se comporta de forma anormal, LCD perde as informações, assim como algumas coisas deixam de funcionar. Coloquei um fonte 12V 5A so para o modulo rele, e uma fonte de 9V 1A para o arduino.

    Esta ligado o 5V do arduino ao modulo rele, GND e JD-Vcc na fonte 12V. Desligando o arduino e religando tudo funciona normal, mas depois de um tempo, volta o problema, já troquei o arduino, assim como o modulo de reles. Teria alguma sugestão, ajuda.

    1. Boa tarde Eduardo,

      Preciso saber qual módulo relé você está usando, passe o link do produto na loja MakerHero, por favor.

      Grato

      Adilson – Equipe MakerHero

        1. Boa tarde Eduardo,

          Certo, mas você está ligando 12V no relé de 5V ?

          Abraço!

          Adilson – Equipe MakerHero

          1. Boa Noite Adilson

            Assim, deu o problema e acabei por ligar uma fonte externa no modulo rele, ficando duas fontes, uma para o arduino e outra para o modulo rele, continuou o problema. Os reles controlam aparelhos 220V, como umidificador de ar, exaustor, ionizar, etc… Outra coisa que notei é que agora a temperatura e humidade tb estão estranhas, exemplo 17 graus mostra 7 graus e volta a mostrar 17, de forma aleatória.

            O que me deixa muito intrigado, é o fato de ter funcionado certinho por mais de ano, o que ocorreu, foi que perdi o windows do notebook, tendo que formata-lo, assim, tive que reinstalar tudo e refazer o codigo, instalando a ultima versão do compilador do arduino. Tive vários problemas com bibliotecas e etc…

            Obrigado pela ajuda…..

            Eduardo W. Figueiró
  101. Olá Amigo, só com este módulo relé eu consigo acionar uma bomba de esguincho de carro (12DCV, 3A) com um botão ? Vou alimentar o módulo com Arduino e acrescentar uma fonte ao relé. Ou você teria outra dica de material que poderia adquirir em seu site.

    Grato.

    1. Bom dia,

      Basicamente você vai precisar do módulo relé, uma fonte para o Arduino, uma fonte para o esguicho (12V) e o botão para acionar o relé, além de fios, conexões, etc.

      Abraço!

      Adilson – Equipe MakerHero

  102. Boa tarde, tenho um arquivo uno quero comprar um ethernet shield e uma placa para 8 relés, o mesmo consegue suportar essa placa com 8 reles para ligar equipamentos diferentes? Se sim vc tem o projeto para ligar eles juntamente com interruptores? Aguardo resposta para fazer a compra dos mesmos, obrigado desde já

    1. Boa tarde Maicon,

      Segundo informações do datasheet da placa, o Ethernet Shield usa os pinos da interface SPI (11, 12 e 13), e também os pinos digitais 10 e 4 para o “select” (10 para ethernet, 4 para o cartão SD). Logo, sobram pinos suficientes para você ligar o módulo relé. Infelizmente no momento não temos nenhum esquema de montagem em conjunto com interruptores.

      Com relação ao módulo relé, sugiro a utilização de uma fonte externa para alimentação do módulo.

      Abraço.

      Adilson – Equipe MakerHero

  103. Estou com uma dúvida. Comprei um arduino mega junto com um rele de 8 canais. Já consigo fazer toda a programação para que as tomadas funcionem da maneira desejada (utilizo o exemplo do Blink). Porém, meu problema é quando alimento o arduino com uma bateria de 9V. A programação se mantém estável por um tempo e depois parece que o arduino está perdendo a programação e o comportamento das tomadas saem do planejado. Qual seria o problema? A bateria de 9V não consegue alimentar o relé? so para conhecimento cada tomada ascende uma regua com aproximadamente 15 lâmpadas incandescentes de 7w/127v

  104. Cara parabéns pelo conteúdo, meu TCC segue a mesma ideia! Só que eu precisava, na hora que a pessoa clicar no botão, ele conta 5 minutos e manda um sinal pro rele desligar!
    void loop()
    {
    //Verifica o acionamento do botao 1
    leitura1 = digitalRead(porta_botao1);
    if (leitura1 != 0)
    {
    while(digitalRead(porta_botao1) != 0)
    {
    delay(5000);
    digitalWrite(porta_rele1, LOW);
    }
    //Inverte o estado da porta
    estadorele1 = !estadorele1;
    //Comandos para o rele 1
    digitalWrite(porta_rele1, estadorele1);
    }

  105. Olá Felipe
    tenho uma duvida?
    tenho um relé igual a esse do seu exemplo posso ligar ele ao Arduino direto para ligar lâmpada ou tenho que montar na protoboard co diodo e transistor desde já agradeço

    1. Boa tarde Carlos,

      Se você tiver só o relé, vai precisar montar o circuito de proteção com diodo, transistor, etc.

      Abraço.

      Adilson – Equipe MakerHero

  106. Olá, adorei seu blog!
    Queria fazer um projeto para construir um abajur de baixo custo com arduino, em que utilizasse uma lâmpada RGB, um soquete e aquele controle RF, que já vem nos kits de arduino básico. Além disso, o que mais devo utilizar para a construção desse projeto?
    A ideia é fazer o controle ligar e desligar a lâmpada, assim como haverá um botão que vai acender o abajur em uma cor aleatória. Ou seja, será sorteado 3 valores entre 0 – 255, para formar uma cor no RGB e exibir ao usuário. Você pode me indicar quais componentes usar no projeto e me indicar um exemplo de como efetuar isso?
    Desde já, muito obrigada.

  107. Preciso fazer um código que acenda e apague lampadas dura