NodeMCU – Utilizando com Interruptor Pulsador

NodeMCU – Utilizando com Interruptor Pulsador

Nesta prática você vai aprender a montar com o NodeMCU um circuito utilizando Interruptor Pulsador e Módulo Relé 5V para fazer o controle de uma lâmpada.

O Interruptor Pulsador é bastante utilizado em residências (campainha). O que difere um interruptor pulsador (normalmente aberto) do interruptor convencional (liga / desliga) é que o pulsador só conduz se estiver pressionado. Um pulsador bastante conhecido por quem utiliza microcontroladores e plataformas embarcadas é o push button (chave táctil).

Diferente do interruptor three way, o interruptor pulsador não precisa de um componente auxiliar para verificar o estado atual da lâmpada que está sendo controlada, pois o interruptor estará ligado diretamente ao NodeMCU através de um pino digital.

Há algumas semanas eu fiz a postagem NodeMCU – Utilizando com Interruptor Three Way aqui no blog e mostrei a vantagem e desvantagem em se utilizar este tipo de interruptor. Portanto, ao final deste tutorial você vai poder comparar as duas formas de controlar uma lâmpada manualmente através do NodeMCU e definir qual delas seria mais viável para o seu projeto de automação residencial.

Da mesma forma que feito na prática utilizando o three way, nesta prática também vamos utilizar 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-101 NA Preta 2T (Pulsante)
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 2T Pulsante para executar esta prática, contudo você pode utilizar qualquer interruptor pulsador, até mesmo uma chave táctil.

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

img01_nodemcu_utilizando_com_interruptor_pulsador_nodemcu_arduino_automacao_residencial

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 digite no campo de entrada de dados a letra “a” (sem aspas) e clique no botão “ENVIAR”. Nesse instante o módulo relé vai alterar o estado para ligado e a lâmpada irá acender. Digite novamente a letra “a” e clique em “ENVIAR” para que o módulo relé desligue e a lâmpada apague. Agora pressione e solte o interruptor pulsante e veja que o módulo relé irá ligar e a lâmpada vai acender. Se pressionar novamente o interruptor pulsante a lâmpada vai apagar. 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 pulsador.

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

Outro detalhe importante desta prática é que foi necessário utilizar um resistor interno de PULL UP do NodeMCU para garantir que a leitura do pino digital em que o interruptor pulsador está ligado não fique flutuando entre 0 e 1 e que quando o mesmo não estiver pressionado, o pino se mantenha em nível alto (HIGH ou 1) e quando pressionado cause uma queda no pino e o coloque em nível baixo (LOW ou 0). É importante ressaltar que: se você pressionar e mantiver o interruptor pulsador pressionado, o módulo relé vai ficar ligando e desligando.

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.

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

Vantagem: possibilita que cenas pré-definidas no código sejam executadas de acordo com os cliques no pulsador. Exemplo: se pressionar o interruptor pulsador duas vezes seguidas um conjunto de lâmpadas é aceso ou se pressionar 3 vezes acende uma lâmpada por 30 segundos. Além disso, o mesmo não exige um componente auxiliar para verificar o estado atual da lâmpada, visto que o interruptor fica conectado diretamente ao NodeMCU.

Desvantagem: quando se utiliza interruptor pulsador o controle fica todo em cima da plataforma microcontrolada / embarcada, logo, se o NodeMCU desligar ou travar, você perde o controle sobre a lâmpada, pois depende que o NodeMCU interprete o pressionamento do interruptor para em seguida executar a ação.

A AURESIDE (Associação Brasileira de Automação Residencial) orienta seus integradores (pessoas capacitadas para fazer instalação de sistemas de automação residencial profissional) a utilizar interruptores do tipo pulsador na implantação de um sistema de automação em residências. Contudo, para um projeto pessoal não é obrigatório o uso deste tipo de interruptor para controle de uma lâmpada.

Agora que você já sabe utilizar os dois tipos de interruptores (three way e pulsador) e conhece as vantagens e desvantagens, cabe a você definir qual dos dois métodos é melhor para sua automação residencial.

Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigado e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.



Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação, Técnico em Eletroeletrônica, Fundador e Diretor 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 10 comentários para esta postagem
  1. Marcos às 12:29

    Ótima aula top100%
    Tem como no pulsante coloca no monitor serial digita (a ) mais o tempo que digita ao in vez de fica fixo no (delay(200))

  2. Elias às 15:41

    Euler, poderia disponibilizar um sketch de exemplo de cenas com Pulsador?

    Possibilita que cenas pré-definidas no código sejam executadas de acordo com os cliques no pulsador. Exemplo: se pressionar o interruptor pulsador duas vezes seguidas um conjunto de lâmpadas é aceso.

    • Euler Oliveira Autor às 15:48

      Olá Elias.

      No momento eu não tenho nenhum código pronto para demonstrar esse tipo de aplicação.

      • Elias às 16:02

        Ah ok, fiz uma busca como ESP8266 cenas para pulsadores mas não encontrei nada na internet, mesmo assim agradeço.

        • Leandro Pereira às 16:09

          Boa tarde, tudo bem?

          Estou utilizando um NodeMcu para criar a automação de algumas lâmpadas, como plataforma, utilizo o Home Assistant, com o ESPHOME para comunicação e controle do Nodemcu, e até agora índigo controlar o relé via Home Assistant normalmente, porém, ao integrar o pulsador, não tenho êxito no controle do relé, quando ele está desligado e aperto o pulsador, a luz indicadora do relé até acende, mas não aciona o relé. Eu estou utilizando uma fonte externa de 5v para alimentar o módulo relé, e desta mesma fonte conectei o Gnd no mesmo do Nodemcu. Quando implemento o botão, já fiz conforme seu sketch, ligando um Gnd e um determinado pino, já coloquei também nos 3,3v do Nodemcu, enfim, já montei de diversas formas, mas nunca aciona o relé. Verifiquei na sua explicação que é necessário efetuar uma modificação no esquema do Nodemcu para acionar um resistor interno, mas não entendi muito bem está parte.

          • david às 11:36

            amigo tive o mesmo problema, tenta isolar o nodemcu com um fotoacoplador, o resistor interno citado, é para nao deixar a porta que esta conectado o botao flutuando, quando nao tiver acionado(pullup)

  3. Paulo às 09:22

    Bom dia, muito interessante… já comprei varias coisas de vocês até o sensor de tensão …
    esse parece ser melhor …
    Vocês poderiam fazer um esquema para ascender e apagar a lampada pelo blink utilizando essa tecnica … pq nunca sei se a lampada em casa ta ligada ou desligada, após uma queda de força or exemplo

    • Euler Oliveira Autor às 06:39

      Olá Paulo.

      Dá pra fazer sim com o Blynk.

      Tenho um artigo em andamento relacionado a isto e algumas semanas já será publicado.

  4. Gustavo Valença às 17:26

    Acabei de comprar um Esp32 + módulos relés 8 canais optoacoplados e gostaria de fazer a automação da minha casa utilizando interruptores pulsadores e o app Blynk, como faria pra utilizar esse código junto com o código do Blynk ?

    Desde já agradeço a atenção dispensada.