ESP32 - Válvula de Água/Líquido

Este tutorial ensina você a controlar o fluxo de um líquido, como água, cerveja ou óleo, usando o ESP32 e uma válvula solenoide. Para controlar o fluxo de gás, é igual.

Para acionar a válvula, você pode usar um relé ou um módulo MOSFET. Os dois só abrem e fecham a válvula, porque uma válvula solenoide ou está aberta ou está fechada. O módulo MOSFET tem outras vantagens: não faz clique, comuta mais rápido e não tem contatos que se desgastam. Este tutorial mostra as duas opções.

Sobre a Válvula de Água/Líquido

Pinagem

ESP32 Water/Liquid Valve Pinout

A válvula solenoide geralmente tem dois terminais:

  • Pino positivo (+) (vermelho): deve ser conectado aos 12V da fonte de alimentação DC
  • Pino negativo (-) (preto ou outra cor): deve ser conectado ao GND da fonte de alimentação DC

Como a Válvula de Água/Líquido Funciona

Normalmente, a válvula fica fechada. Quando 12V DC são aplicados aos dois terminais, a válvula abre e a água/líquido pode fluir.

※ Nota:

  • Em alguns tipos de válvula, há uma gaxeta interna, então é necessária uma pressão mínima para abrir a válvula (depois que os 12V DC são aplicados). A pressão pode ser criada pelo fluxo do líquido.
  • Em alguns tipos de válvula, o líquido só pode fluir em uma direção.

Como Controlar a Válvula Solenoide de Água/Líquido

Se a válvula for alimentada por uma fonte de 12V, ela abre. Para controlar a válvula, precisamos usar um relé entre o ESP32 e a válvula. O ESP32 pode controlar a válvula solenoide por meio do relé. Saiba mais sobre o relé no ESP32 - Tutorial de Relé

A válvula também pode ser acionada por um módulo MOSFET. Você encontra a pinagem e o princípio de funcionamento dele no tutorial ESP32 - Módulo MOSFET.

Relé vs Módulo MOSFET para Válvula Solenoide

Relé Módulo MOSFET
Controle da válvula abrir/fechar abrir/fechar (sem PWM para válvula)
Som de clique sim não
Tempo de reação mais lento, alguns milissegundos muito rápido
Desgaste os contatos se desgastam após muitos ciclos sem contatos móveis
Tipo de válvula válvula AC ou DC somente válvula DC
Tensão da válvula qualquer (conforme especificada) cerca de 6V ou mais, 12V é ideal
Isolação sim (bobina e contatos) sim (optoacoplador PC817)
Indicado para válvulas AC, acionamento raro válvulas DC de 12V que abrem e fecham com frequência, locais silenciosos

Para uma válvula DC de 12V que comuta muitas vezes por dia, o módulo MOSFET dura mais e fica silencioso. Para uma válvula AC, use o relé. Não envie um sinal PWM para a válvula; dê a ela somente LIGADO total ou DESLIGADO total.

Diagrama de Ligação

  • Como conectar o ESP32 e a válvula de água/líquido usando protoboard (alimentado pelo cabo USB)
The wiring diagram between ESP32 water valve

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

  • Como conectar o ESP32 e a válvula de água/líquido usando protoboard (alimentado pelo pino Vin)
The wiring diagram between ESP32 water valve

This image is created using Fritzing. Click to enlarge image

How to connect ESP32 and water/liquid valve
How to wire ESP32 and water/liquid valve

Código ESP32

O código abaixo liga a válvula de água por cinco segundos e desliga por cinco segundos, repetidamente.

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-water-liquid-valve */ #define RELAY_PIN 16 // ESP32 pin GPIO16, which connects to the water valve via the relay // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin A5 as an output. pinMode(RELAY_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(RELAY_PIN, HIGH); // open valve 5 seconds delay(5000); digitalWrite(RELAY_PIN, LOW); // close valve 5 seconds delay(5000); }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente do ESP32 na Arduino IDE.
  • Faça a ligação como na imagem acima.
  • Conecte a placa ESP32 ao seu PC por um cabo micro USB
  • Abra a Arduino IDE no seu PC.
  • Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
  • Copie o código acima e cole na Arduino IDE
  • Compile e faça o upload do código para a placa ESP32 clicando no botão Upload da Arduino IDE
  • Verifique o fluxo de água

Explicação do Código

O código ESP32 acima contém uma explicação linha por linha. Leia os comentários no código!

Como Controlar a Válvula de Água com um Módulo MOSFET

Esta parte mostra como abrir e fechar a mesma válvula com um módulo MOSFET no lugar do relé. O relé e o módulo MOSFET usam pinos diferentes nesta página: o relé usa o GPIO16 e o módulo MOSFET usa o GPIO18. Por isso, cada ligação tem o seu próprio código.

Diagrama de Ligação com o Módulo MOSFET

The wiring diagram between ESP32 solenoid valve MOSFET module

This image is created using Fritzing. Click to enlarge image

De Para
ESP32 GPIO18 Pino PWM do módulo
ESP32 GND Pino GND do módulo
Adaptador 12V + Terminal + do módulo
Válvula + (vermelho) Terminal + do módulo (compartilhado com o + do adaptador)
Válvula − Terminal LOAD do módulo
Adaptador 12V − Terminal − do módulo

A válvula tem uma bobina, então adicione um diodo de roda livre (1N4007 ou 1N5819) nos terminais da válvula, com a faixa (cátodo) do lado + da válvula.

Código ESP32 para o Módulo MOSFET

O código segue a mesma ideia do código do relé: HIGH liga a válvula (abre) e LOW desliga (fecha). A válvula abre por 5 segundos e fecha por 5 segundos, repetidamente.

Uma válvula solenoide deve receber somente LIGADO total ou DESLIGADO total, nunca PWM. Por isso esta página não usa o código de fade do tutorial do módulo MOSFET.

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-water-liquid-valve */ #define MOSFET_PIN 18 // The ESP32 pin GPIO18 connected to the PWM pin of the MOSFET module // The setup function runs once on reset or power-up void setup() { pinMode(MOSFET_PIN, OUTPUT); // set the pin as an output } // The loop function repeats indefinitely void loop() { digitalWrite(MOSFET_PIN, HIGH); // open the valve for 5 seconds delay(5000); digitalWrite(MOSFET_PIN, LOW); // close the valve for 5 seconds delay(5000); }

Passos Rápidos

  • Faça a ligação como no diagrama do MOSFET acima.
  • Conecte a placa ESP32 ao seu PC por um cabo USB.
  • Abra a Arduino IDE e selecione a placa ESP32 e a porta COM, como nos Passos Rápidos do relé acima.
  • Copie o código acima, cole na Arduino IDE e clique em Upload.
  • Verifique o fluxo de água: a válvula abre por 5 segundos e fecha por 5 segundos.

Dica: o módulo MOSFET é para válvulas DC com alimentação de cerca de 6V ou mais. Para uma válvula AC, continue usando o relé.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!