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.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre a Válvula de Água/Líquido
Pinagem

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)

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)

This image is created using Fritzing. Click to enlarge image
- Como conectar o ESP32 e a válvula de água/líquido usando uma placa breakout com bornes de parafuso (alimentado pelo cabo USB)

- Como conectar o ESP32 e a válvula de água/líquido usando uma placa breakout com bornes de parafuso (alimentado pelo pino Vin)

Código ESP32
O código abaixo liga a válvula de água por cinco segundos e desliga por cinco segundos, repetidamente.
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

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.
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é.