Arduino – Utilizando o Sensor de Tensão AC

Arduino – Utilizando o Sensor de Tensão AC

Nesta prática você vai aprender a utilizar o Sensor de Tensão AC 127V / 220V com o Arduino para detectar se uma carga em rede alternada está ligada ou desligada.

img00_arduino_utilizando_o_sensor_detector_de_tensao_ac_127v_220v_automacao_residencial_three_way_paralelo_nodemcu_esp8266

O uso do Arduino cresce mais a cada dia e em diversos tipos de áreas. Uma das áreas de maior aplicabilidade é na automação residencial. A partir da implementação de um projeto de automação residencial utilizando o Arduino, é possível controlar e obter informações de praticamente tudo que está na residência.

Das tarefas diárias de uma residência, a primeira a ser inserida no projeto de automação residencial com Arduino, por exemplo, é a iluminação. O controle da iluminação através de uma página web, smartphone ou tablet é algo essencial no projeto, contudo, você deve se fazer a seguinte pergunta antes de começar:

Se meu sistema de automação residencial ficar off-line, como eu vou controlar as lâmpadas?

A resposta para esta pergunta é simples: através do interruptor. Para controle virtual da lâmpada basta utilizar o módulo relé junto ao Arduino. Porém, para fazer o controle da lâmpada externamente ao sistema, será necessário o uso de um interruptor em paralelo com o módulo relé. Neste caso, será necessário substituir o interruptor convencional (liga / desliga) por um Interruptor Three Way, que também é conhecido como interruptor paralelo. Esta implementação nos leva a outro questionamento:

O relé está conectado diretamente ao Arduino e consigo facilmente identificar se a lâmpada está acesa ou apagada. Contudo, ao inserir o interruptor three way para fazer o acionamento da lâmpada manualmente e conectá-lo ao módulo relé, não consigo mais identificar o estado atual dela, pois estou controlando de dois pontos distintos e um deles é externo ao Arduino. Como resolver esta questão?”

A resposta para esta outra pergunta é: Sensor de Tensão AC 127V / 220V. Ao utilizar o sensor de tensão ac, será possível capturar o estado atual da lâmpada independente se ela está sendo controlada virtualmente (página web / smartphone / tablet) ou pelo interruptor paralelo e informar ao Arduino.

O Sensor de Tensão AC fabricado pela MasterWalker Shop aceita uma faixa de tensão de 0 a 220VAC e o mesmo suporta uma tensão de pico igual a 311VAC.

Neste tutorial o sensor será utilizado para identificar o estado atual de uma lâmpada que será controlada através do monitor serial da IDE do Arduino e pelo interruptor three way. Você pode utilizá-lo para identificar o estado atual de outros tipos de cargas em rede alternada que operam dentro das limitações do mesmo.

A seguir, vamos ligar o Sensor de Tensão AC ao Arduino para ver na prática a sua funcionalidade.

Abaixo está a lista dos itens necessários para esta prática:

Arduino
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 Macho-macho
Cabo Jumper Macho-fêmea
Protoboard
Cabos com Garra Jacaré (Opcional)
– Lâmpada
– Receptáculo (boquilha)
– Cabo paralelo de 1,5mm ou 2,5mm
– Tomada (Rede alternada de 127V)

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

Abaixo está o esquema de ligação que você deve montar:

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.

img01_arduino_utilizando_o_sensor_detector_de_tensao_ac_127v_220v_automacao_residencial_three_way_paralelo_nodemcu_esp8266

(Clique na imagem para ampliar)

Note que o Sensor de Tensão AC é ligado em paralelo com o circuito, logo, a corrente do circuito é irrelevante para o sensor. Além disso, o sensor foi instalado junto ao retorno da lâmpada, pois ali só vai existir presença de tensão quando o circuito estiver fechado através do módulo relé ou pelo interruptor paralelo.

Feito o esquema de ligação, basta carregar o código no Arduino. Se ainda não tem a IDE do Arduino instalada e configurada, basta acessar o link abaixo e em seguida retorne para continuar:

Arduino – Instalação e Configuração da IDE no Windows

O código para testes está abaixo e todo comentado. 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. 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.

O Sensor de Tensão AC pode ser utilizado com ESP8266, NodeMCU, Raspberry e outras plataformas.

E antes de finalizar, gostaria de reforçar: para capturar o estado atual de uma carga, o Sensor de Tensão AC deverá ser instalado no retorno que vai para esta carga. Lembre-se que se o circuito está conectado à rede alternada, a tensão vai estar presente em todo o circuito, exceto quando houver um interruptor seccionando parte do circuito e este trecho em questão será o retorno da carga.

Gostou deste tutorial? 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 49 comentários para esta postagem
  1. Manuel Donga às 07:11

    Gostaria de saber como fazer um circuito para simular a proteção diferencial de um transformador ou gerador, proteção contra sobrecarga e sobrecorrente instantânea e temporizada, proteção antimotorização atravez do arduino.

  2. Marcio às 12:33

    Vi um vídeo que o sensor é ligado em série com o circuito. Existe alguma diferença no final, caso o sensor tenha algum problema em paralelo não afetaria em nada o projeto ao contrário do ligado em série né?

  3. Marcio às 12:28

    Olá posso fazer o uso do sensor ACS712 com esse mesmo esquema, esse sensor tem diferença para o indicado? Irei usar em tensão AC 220v e 110v localidades diferentes.

  4. Fabio Fernandes às 21:36

    Euler blz?

    Você conhece algum circuito que poderia me informar somente a passagem de tensão e enviar um digital somente?

    • Euler Oliveira Autor às 14:58

      Olá Fabio.

      Agradeço pelo comentário!

      Infelizmente desconheço.

  5. Ailton às 12:12

    Onde consigo o esquema elétrico desse sensor, caso eu queira fazer um igual ou alguma modificação? É para um TCC

    • Euler Oliveira Autor às 14:48

      Olá Ailton.

      Este sensor é fabricado pela MasterWalker Shop e vendido em nossa loja virtual.

      Não temos disponível o esquema elétrico.

  6. Guilherme às 17:52

    Boa noite!

    Para o Raspberry, que comando eu uso para obter a saída do sensor?

    • Euler Oliveira Autor às 18:06

      Olá Guilherme.

      Infelizmente não cheguei a usar este sensor com o Raspberry, logo, não sei te falar como proceder.

  7. Otávio às 12:58

    Boa tarde!

    Eu não compreendi: ele apenas detecta a presença ou não de tensão ou ele informa o valor atual da tensão eficaz em volts na saída para o arduino?

    • Euler Oliveira Autor às 14:45

      Olá Otávio.

      Apenas detecta se existe ou não tensão AC no circuito.

    • Euler Oliveira Autor às 21:12

      Olá Luciano.

      Desculpe, mas de qual código está falando?

      O código desta postagem já está disponível no texto.

  8. ELIZEU DOS SANTOS DIAS às 13:24

    Como utiliza esse sensor com ESP8266?
    Como se faz a ligacao fisica? alimentacao? etc… pois o sensor parece ser alimentado por 5v, o esp8266 trabalha com 3.3v e sua porta analogica recebe apenas 1v

    • Euler Oliveira Autor às 09:39

      Olá Elizeu.

      Ainda não fiz testes com o ESP8266, logo, não consigo te dizer se vai funcionar sem problemas.

    • Rodolfo às 23:58

      Testei aqui e funciona beleza com o ESP8266, alimentando o sensor com 3V.
      A única coisa diferente é que o analogRead tá mostrando uma escala de 1024, então fiz o map pra 255:

      int leituraAtual = map( analogRead(SensorTensao), 0, 1024, 0, 255 );

      Obrigado pelo post, Euler!

  9. Gabriel de Oliveira Miranda às 16:33

    Esse código é muito pesado para o arduino? Pergunto isso pois a minha intenção é utilizar umas 16-20 unidades desse detector. Será que ele aguentaria? Obrigado!

    • Euler Oliveira Autor às 17:24

      Olá Gabriel.

      O código é leve, pois não faz uso de nenhuma biblioteca.

    • Gerson às 00:29

      Olá Euler, obrigado pelo tutorial. Existe alguma diferença básica entre esse sensor e o zmpt101b ? Agradeço antecipadamente.

      • Euler Oliveira Autor às 09:18

        Olá Gerson.

        Agradeço pelo comentário!

        O ZMPT101B além de detector de tensão pode ser utilizado como voltímetro.

  10. Gabriel às 23:31

    Pretendo utilizar vários detectores mas minha dúvida é quantos amperes um módulo desse consome. Para ligar 16 módulos desse, como ficaria? A própria alimentação de uma Placa MEGA 2560 R3 seria suficiente?

  11. Matheus às 12:48

    Teria alguma pra indicar que realiza as medições de tensão?

  12. Roger Silveira às 11:19

    Olá Euler,

    Tem alguma recomendação de sensor para fazer a medição da tensão alternada até 220V?

    Obrigado

  13. alexandre às 22:13

    boa noite Euler !
    comprei de vocês o sensor de tenção AC e instalei conforme o diagrama, estou utilizando para sinalizar led no blynk e o que acontece ,é que o led fica sempre aceso mesmo com a lâmpada apagada. então testei os contatos e notei que o gnd da retorno quando o circuito não está alimentado, e consequentemente o led mantem aceso.
    então fiz alguns testes e notei que se deixar o GND na posição correta e colocar o retorno do sinal no VCC o led funciona piscando lentamente, quando a lâmpada é acionada.
    o que será que está acontecendo? estou trabalhando com 127v.

    • Euler Oliveira Autor às 07:36

      Olá Alexandre.

      Poderia tirar 2 fotos (uma da parte superior da placa e outra da parte inferior) do Sensor de Tensão AC e encaminhar para o e-mail [email protected]? Desta forma vamos conseguir te auxiliar melhor.

  14. Mario às 16:41

    Quando voce mede uma tensao de 127v a saida mostra qual valor aproximadamente? So para mim ter uma nocao de acerto. pois preciso que acione uma carga mas so se for superior a 100v e inferior a 135V. Obrigado

    • Euler Oliveira Autor às 17:53

      Olá Mario.

      Este sensor é utilizado apenas para fazer detecção se existe tensão ou não em um circuito.

      Não deve ser utilizado para medição de tensão, pois não acompanha as variações da rede AC e com isso não existe precisão na leitura.

      • Jesus Pereira às 22:35

        Posso usá-lo para acionar um sinal sonoro (tipo bip) quando houver tensão? Adicionaria simples fonte sonora?

        • Euler Oliveira Autor às 09:23

          Olá Jesus.

          Agradeço pelo comentário!

          Este sensor é utilizado apenas para fazer detecção se existe tensão ou não em um circuito.

  15. Flavio Benedini às 11:16

    Olá Euler, posso usar esse sensor com um ESP8266-01, que só tem portas digitais?
    No meu projeto, quero usar essa placa por ser menor e mais barata, montando exatamente o interruptor theeway para controlar lampadas.

    • Euler Oliveira Autor às 15:52

      Olá Flavio Benedini.

      O sensor funciona com entrada analógica e o ESP-01 não possui.

    • GUSTAVO às 06:57

      Existe alguma biblioteca específica para usar mais de um sensor em um esp32??

  16. Luís Augusto às 14:25

    Prezado, qual o range de valores na porta analógica, enviados pelo sensor? quais caracterizam a presença de tensão ou não? Por que foi feita uma leitura 100 vezes como no laço
    for (int i = 0; i 70)

    ?

    • Euler Oliveira Autor às 16:04

      Olá Luís Augusto.

      O valor mínimo seria 0 bits e o valor máximo é indefinido, pois isso envolve vários fatores (desde a composição dos materiais de cada componente da placa até a faixa de tensão AC em que o sensor está conectado). Se o sensor for ligado em uma rede de 127V, a leitura máxima será um valor X e se ligado em 220V será um valor maior que X. No caso deste código do artigo, se a leitura na porta analógica for maior que 70 bits, significa que há presença de tensão AC. Qualquer valor abaixo de 70 bits significa que não há tensão.

      No laço “for” é feito a leitura durante 100 vezes para efeitos de comparação e exatidão. O valor lido no pino analógico aumenta gradativamente e diminui gradativamente, ou seja, leva alguns milissegundos para ultrapassar o valor de 70 bits e alguns milissegundos para retornar a 0.

  17. Danilo às 13:26

    Olá Euler. Preciso fazer um projeto que identifique se existe energia em uma tomada. Posso ligar o sensor em uma tomada sem ter nada ligado à tomada em paralelo? No caso, apenas o sensor estaria na rede, sem passar nenhuma corrente necessária à algum outro equipamento.

    • Euler Oliveira Autor às 17:32

      Olá Danilo.

      Se precisa apenas identificar se existe tensão AC em uma tomada, o sensor irá atender perfeitamente, para isto, basta conectá-lo a aos cabos da tomada e fazer a leitura com o microcontrolador.

  18. Angélica Valeze às 14:13

    Olá! Euler, eu consigo armazenar os dados gerador em um pequeno servidor de autoria própria? Preciso transferir meus dados do arduíno para o servidor, nesse caso um uno shield wi-fi, certo? Aí no caso modifico o código fornecido para o envio. Salientando que mesmo assim eu gostaria do armazenamento sem internet para uma “precaução”.

    • Euler Oliveira Autor às 18:46

      Olá Angélica Valeze.

      Para armazenamento offline você pode utilizar um módulo de cartão de memória para o Arduino ou se estiver utilizando um Ethernet Shield W5100, poderá usar um micro sd no slot de cartão dele para registrar as informações.

      O armazenamento dos dados em um servidor poderá ser feito sim. Para isto, será necessário a criação do servidor, utilizar o Arduino com algum módulo ou shield que atribua a função ethernet / internet a placa e fazer a programação para envio das informações ao seu servidor.

  19. elindoval às 13:30

    COMO FAÇO para monitorar via internet com ethernetshild? como ficaria o codigo ?

    • Euler Oliveira Autor às 08:18

      Olá Elindoval.

      Ainda não temos nenhuma postagem relacionada ao Sensor de Tensão AC e o Ethernet Shield.

  20. antonio lira às 15:58

    como seria o codigo apenas para medição da tensão ?

    • Euler Oliveira Autor às 06:35

      Olá Antonio.

      Este sensor é utilizado apenas para fazer detecção se existe tensão ou não em um circuito.

      Não deve ser utilizado para medição de tensão, pois não acompanha as variações da rede AC e com isso não existe precisão satisfatória na leitura.