NodeMCU – Utilizando com Interruptor Three Way

NodeMCU – Utilizando com Interruptor Three Way

Nesta prática você vai aprender a montar com o NodeMCU um circuito utilizando Interruptor Three Way, Módulo Relé 5V e Sensor de Tensão AC 127V / 220 para fazer o controle de uma lâmpada.

Quando se fala em automação residencial, a primeira coisa que vem a mente é a automação da iluminação de um determinado ambiente. Esta automação pode ser feita a partir de uma página web ou aplicativo para dispositivos móveis que controla o liga / desliga de uma lâmpada ou um conjunto de lâmpadas.

Supondo que o usuário queira controlar a iluminação através de uma página web ou aplicativo para dispositivos móveis, é interessante que ele também tenha a opção de fazer o controle manualmente e não apenas um controle virtual. Considerando que a interface de controle virtual venha a apresentar algum problema e impossibilite o usuário de controlar as lâmpadas, o bom e velho interruptor é que vai impedir uma escuridão total. Mas integrar o controle virtual e o controle manual acaba gerando algumas dúvidas, portanto, a finalidade desta prática além de ensinar a utilizar o interruptor three way com NodeMCU, é sanar algumas duvidas que surgem quando se trata de controlar iluminação de duas formas distintas.

Para começar, você precisa saber o que é e qual a finalidade de um interruptor three way.

Interruptor three way ou interruptor paralelo é aquele que permite ligar / desligar a iluminação em um interruptor e ligar / desligar em outro interruptor. Na imagem abaixo é mostrado uma aplicação de um three way em uma escada, onde é possível acender / apagar a lâmpada tanto na parte inferior quanto na parte superior da escada:

img01_nodemcu_utilizando_com_interruptor_three_way

A ligação entre dois interruptores three way e uma lâmpada é feita conforme a imagem abaixo:

img02_nodemcu_utilizando_com_interruptor_three_way

A ligação entre um interruptor three way com o módulo relé e uma lâmpada não diferencia:

img03_nodemcu_utilizando_com_interruptor_three_way

Na imagem acima, os contatos NF (NORMALMENTE FECHADO) e NA (NORMALMENTE ABERTO) do módulo relé ficam conectados aos retornos do interruptor three way e o borne comum do relé é ligado direto na lâmpada.

Mas temos um grande problema: através da ligação acima (considerando que o módulo relé já estivesse conectado ao NodeMCU e um software já estivesse rodando no NodeMCU para acender / apagar a lâmpada através do módulo relé) não conseguiríamos identificar o estado atual da lâmpada. Neste tipo de ligação o controle do termo comum (lâmpada) será feito de duas formas, sendo que uma delas (interruptor three way) não está relacionada diretamente ao NodeMCU e, portanto, é necessário um sensor que possibilite resolver este problema.

Para resolver este problema, basta utilizar o Sensor de Tensão AC 127V / 220V.

O Sensor de Tensão AC 127V / 220V é capaz de detectar a existência ou não de tensão alternada em um circuito. Este sensor é ligado em paralelo com o neutro e o retorno que vai para a lâmpada. Logo, independente se a lâmpada está sendo controlada pelo interruptor three way ou pelo módulo relé (considere página web, aplicativo para dispositivo móvel ou monitor serial) será possível saber se ela está acesa ou apagada e passar esta informação para o NodeMCU. A comunicação entre o Sensor de Tensão AC e o NodeMCU ocorre através do pino analógico, onde o sensor permanecerá monitorando a presença de tensão nos cabos que estão conectados a lâmpada e se a leitura no ADC do NodeMCU for maior que o valor definido no código, então significa que a lâmpada estará acesa.

Nesta prática, além do controle através do interruptor three way, faremos também o controle através do monitor serial da IDE do Arduino.

Abaixo está a lista dos itens necessários para esta prática. Alguns dos itens você pode adquirir em lojas de elétrica:

NodeMCU
Módulo Relé 5V de 1 Canal
Chave Gangorra KCD1-102 Preta 3T (Three Way)
Sensor (Detector) de Tensão AC 127V / 220V
Cabo Jumper Fêmea-Fêmea
Cabos com Garra Jacaré (Opcional)
– Lâmpada
– Receptáculo (boquilha)
– Cabo paralelo de 1,5mm ou 2,5mm
– Tomada (Rede alternada de 127V)

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.

Utilizei a Chave Gangorra 3T nesta prática, contudo você pode utilizar qualquer interruptor three way.

Abaixo está o esquema de ligação para esta prática:

img04_nodemcu_utilizando_com_interruptor_three_way

Feito o esquema de ligação, basta implementar as instruções para o funcionamento.

Se ainda não tem a IDE do Arduino instalada e configurada para o NodeMCU, acesse os links abaixo e em seguida retorne para continuar:

Arduino – Instalação e Configuração da IDE no Windows
NodeMCU – Instalação no Windows
NodeMCU – Configurando a IDE do Arduino

O código para testes está abaixo, basta copiar o mesmo, colar na IDE, salvar e carregar:

Após o carregamento do código abra o monitor serial na IDE do Arduino e veja que a informação de “LAMPADA DESLIGADA” ou “LAMPADA LIGADA” está sendo mostrada. Lembre-se de mudar o baud do monitor serial de 9600 para 115200. Ainda no monitor serial, digite no campo de entrada de dados a letra “a” (sem aspas) e clique no botão “ENVIAR”. Nesse instante o relé vai alterar o estado para ligado ou desligado e a lâmpada irá acender ou apagar. Digite novamente a letra “a” e clique em “ENVIAR” para que o relé mude de estado novamente. Agora pressione o interruptor paralelo e veja que a lâmpada vai mudar de estado (ligada / desligada). Se pressionar novamente o interruptor paralelo, a lâmpada alterna o estado. Note que no monitor serial a atualização do estado da lâmpada é feito independente se você controla via entrada de dados do monitor ou pelo interruptor paralelo.

No vídeo abaixo você pode ver o resultado final desta prática:

Após finalizado esta prática, é possível definir pelo menos uma vantagem e uma desvantagem em se utilizar interruptor three way.

Vantagem: supondo que o NodeMCU dê um problema (desligue ou não aceite os comandos da interface virtual) e você queira controlar a lâmpada, ainda será possível, pois o interruptor three way não depende do NodeMCU para que suas ações sejam executadas.

Desvantagem: exige um componente auxiliar (Sensor de Tensão AC 127V / 220V) para verificar o estado atual da lâmpada.

Para automação de iluminação utilizando NodeMCU, o interruptor three way é uma ótima opção, pois garante que mesmo com um problema sistêmico a iluminação ainda poderá ser controlada. Para esta prática foi utilizado o controle virtual através do monitor serial da IDE do Arduino, contudo você pode substituí-lo por uma página web ou um aplicativo para Android ou iOS.

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.

NodeMCU – Utilizando com Interruptor Three Way
88 votos / Média de avaliação: 4.9 / Pontuação: 98.86%


Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação pela Faculdade Presidente Antônio Carlos, fundador e CEO da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.

Existem 38 comentários para esta postagem
    • Euler Oliveira Autor às 08:43

      Olá Adauto.

      Agradeço o seu comentário!

      A aplicação via WiFi que você diz, seria de controlar uma lâmpada através de uma página web por exemplo e pelo interruptor Three Way?

    • Euler Oliveira Autor às 07:03

      Olá Daniel.

      Um dos próximos tutoriais será justamente isto: controle de uma lâmpada através de uma página web ou aplicativo (ainda não foi definido) e controle pelo interruptor three way.

      Não tenho a data certa para poder postar este tutorial, pois preciso fazer os testes, contudo será em breve.

      • Paulo H. Amigoni às 07:24

        Estou super ansioso para que saia o tutorial de como controlar a lampada usando interruptor three way .. juntamente com o sensor de tensão para saber o status da lampada e pela web…

        Eu estou a DIAS tentando fazer mais sempre da problema…
        O que percebi é que o NodeMCU se eu colocar o codigo web dentro dele ele abre o site umas 5 vezes e parece que não abre mais, ou desconecta do wifi..

        Minha situação é defini um IP fixo para ele… se eu desligar pelo interruptor e tudo mais ele diz que ta com a lampada ligada e desligada pelo sensor …

        Porém se eu ficar pedido para ligar e desligar pela pagina web ele trava.

        Faz os testes e assim que ficar pronto ai seu tutorial que vai ser um sucesso a gente faz os testes

        • Euler Oliveira Autor às 10:08

          Olá Paulo.

          Assim que os testes estiverem finalizados e o artigo escrito, a postagem será feita.

          Fique ligado que em breve vai estar disponível!

          Obrigado!

  1. Murilo às 15:55

    Olá amigo. Parabéns pelo ótimo material apresentado. Gostaria de fazer uma pergunta, quanto sensores de tensão em consigo ligar de forma individual no NodeMCU e quais pinos? Obrigado.

  2. Marcus Nagata às 21:08

    Caro Euler, boa noite.

    Parabéns pelo Blog.
    Estive pensando na associação de um arduino/nodemcu, com uma ligação paralela ja existente.
    Saberia como implantar com o Nodemcu ou arduino um interruptor intermediário?

    Grato,

    Marcus

    • Euler Oliveira Autor às 18:51

      Olá Marcus Nagata.

      Ainda não temos a implementação com interruptor four way (intermediário), contudo, é possível fazer sim.

      Vou colocar na ponta da minha lista um tutorial voltado para isto e em breve publico.

    • Euler Oliveira Autor às 23:55

      Olá Augusto.

      Obrigado pelo comentário!

      Infelizmente um simples if e variável booleana não resolve esta questão.

      Veja que no texto é explicado o motivo de ter que usar um intermediário (Sensor de Tensão AC) para capturar o estado atual da lâmpada. Se a lâmpada estivesse sendo controlada apenas pelo módulo relé, aí sim poderia ser feito conforme você comentou. Caso estivesse utilizando o módulo relé e interruptor pulsador, também daria para tratar via código:

      http://blogmasterwalkershop.com.br/nodemcu/nodemcu-utilizando-com-interruptor-pulsador/

      Usando o interruptor three way, nós temos dois tipos de controle, sendo um feito diretamente no módulo relé (controlado pelo NodeMCU) e um controle externo a plataforma, que no caso é o interruptor three way. O interruptor three way não tem influência sobre o relé.

      Independente se a lâmpada é ligada / desligada pelo relé ou interruptor, só há um caminho de acesso a ela: o retorno. Logo, veja no esquema de ligação que o Sensor de Tensão AC fica conectado justamente no retorno, pois ali ele consegue capturar presença de tensão, independentemente se foi controlado pelo relé ou interruptor.

      No código já tem uma variável (status) que guarda o estado do relé, mas está variável não se estende ao interruptor.

  3. Yan às 05:47

    Eu poderia usar um interruptor Three way daqueles comuns de casa correto?(os brancos) que ficam em posições fixas. Os valores podem ser lidos normalmente via web mesmo eu ligando ou desligando pelo interruptor né?

    • Euler Oliveira Autor às 08:14

      Olá Yan.

      Você pode utilizar qualquer modelo de interruptor three way (paralelo).

      O estado atual pode ser lido sim, mesmo que o comando venha de uma página web, pois este tipo de comando é similar ao controle feito pela serial.

  4. Yan às 06:32

    Seu produto ta indisponível, tem outros reguladores ou precisa ser esse em especifico? esse ” Sensor De Tensão (voltagem) 0 – 25 Vdc Arduino / Pic ” funciona?

    • Euler Oliveira Autor às 08:16

      Olá Yan.

      Para verificação do estado atual da carga tem que ser precisamente o Sensor de Tensão AC. O Sensor de Tensão DC não serve.

      O produto está esgotado no momento e deve retornar ao estoque no final da próxima semana.

  5. Yan às 11:44

    Poxa, bem triste, esse sensor custa mais de 50 reais, correto? isso inviabiliza totalmente o projeto, por isso em cada lampada, é mais caro que todo o circuito junto de cada uma ja com o NODE e relé….

    • Euler Oliveira Autor às 18:06

      Olá Yan Lucas.

      Isso mesmo.

      A vantagem de se utilizar interruptor three way é justamente esta, de poder controlar a carga sem necessidade do relé / NodeMCU ligados.

  6. Yan Lucas às 22:04

    Vim perturbar mais uma vez, usando aquele three way com interruptor de campainha que n precisa desse modulo AC, tem como eu implementar por codigo de se o Wifi cair o interruptor ainda funcionar?

    • Euler Oliveira Autor às 08:15

      O interruptyor three way não é igual ao interruptor pulsador (campainha). O interruptyor three way possui 3 terminais e o interruptor pulsador possui 2 terminais, além de terem construção distinta internamente.

      O interruptor pulsador fica conectado diretamente a plataforma para que quando ele for pressionado o comando seja enviado ao módulo relé. Logo, se a plataforma ficar offline você perde o controle sobre o interruptor e consequentemente sobre o módulo relé.

  7. Tiuzao às 14:26

    Olá, Euler! Tudo bem?
    Parabéns para iniciativa.
    Se possível, gostaria de alguns esclarecimentos.
    1. Há como substituir o relé mecânico por um SSR?
    2. Você poderia explicar como posso montar esse projeto em uma PCB?
    Abraço,
    Tiuzao

    • Euler Oliveira Autor às 17:18

      Olá Tiuzao.

      Agradeço pelo comentário!

      Pode sim utilizar um relé de estado sólido no lugar do relé mecânico.

      Se for montar uma PCB, irá utilizar apenas o NodeMCU ou ESP8266(verifique qual modelo atende ao que precisa), relé, alimentação e os pinos para controle. Infelizmente não tenho nenhum projeto envolvendo PCB com esta finalidade.

      • Tiuzao às 19:28

        Euler, muito obrigado pela atenção em responder prontamente.
        Tendo em vista sua explicação e, sem querer abusar de sua boa vontade, gostaria de mais uma ajuda, se possível.
        O seu post veio ao encontro de uma ideia que tenho há algum tempo, mas que, por falta de conhecimento técnico não sabia se era viável.
        Sou um iniciante em IOT e autodidata, mas não tenho conhecimento técnico em eletrônica.
        Minha ideia é implementar em uma única placa: 1 fonte chaveada (pensei em um Fonte HLK-PM03 100-240V para 3.3V 3W, para alimentar o ESP diretamente pela rede elétrica sem a necessidade de um regulador de tensão), 1 SSR, 1 ESP8266 e 1 sensor de tensão (para que eu possa controlar o sistema tanto pelo interruptor, quanto pelo app). Este último item não fazia parte da equação até que li o seu artigo. Muito obrigado por compartilhar o conhecimento!
        Na teoria, eu gostaria de colocar esses componentes em uma placa, de forma a ser possível instalar em uma caixa 4×2.
        Sendo assim, a ajuda de que preciso é que, se possível, me mostre o “caminho das pedras”, ou seja, me indique onde posso adquirir o conhecimento necessário para implementar o que desejo (livros ou outros materiais).
        Assim poderei estudar, entender como tudo funciona e fazer o que quero. Como disse, como sou iniciante, não sei por onde começar.
        Antecipadamente, agradeço pela ajuda.
        Abraço,
        Tiuzao.

        • Euler Oliveira Autor às 11:52

          Para desenvolvimento da PCB você deve pesquisar a respeito do Proteus, Eagle ou Altium, Veja qual destas plataformas será melhor para atingir seu objetivo.

          Se precisa de materiais mais específicos quanto as componentes do seu projeto, recomendo que acesse o Youtube e pesquise por projetos com as peças que irá utilizar. Pesquise as peças separadas e entenda o funcionamento de cada uma delas.

          Para uso do Sensor de Tensão AC você pode acessar um artigo aqui do Blog:

          http://blogmasterwalkershop.com.br/arduino/arduino-utilizando-o-sensor-detector-de-tensao-ac/

          A parte difícil disso tudo é fazer caber a sua PCB dentro de uma caixa 2X4.

  8. Lucas às 22:51

    Olá Euler Muito Top , Gostaria de saber se pode me ajudar , como consigo implementar essa “Statuslamp” , em um código HTML , para ela mudar o botão conferme receber o status (ligado ou desligado) . se puder postar so a parte que faz isso em código html o resto do um jeito rs
    Obrigado Abraço

  9. Caio Soares às 09:36

    Olá, Euler.
    Muito obrigado pelo artigo. ótimo tutorial.
    Estou com uma dúvida:
    Como esta sendo utilizado o método three way ainda é possível utilizar o interruptor fisico se acontecer algum problema com o Node….
    O mesmo acontece se o Relé der o problema? Se der problema, ainda consigo utilizar o interruptor fisico????
    Obrigado!!!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *