Arduino Nano ESP32 - Válvula de Água/Líquido
Este tutorial mostra como controlar o fluxo de um líquido, como água, cerveja ou óleo, usando o Arduino Nano ESP32 e uma válvula solenoide. É o mesmo para controlar o fluxo de gás.
A válvula pode ser acionada por um relé ou por um módulo MOSFET. Os dois simplesmente abrem e fecham a válvula. A diferença está na forma como eles acionam: o módulo MOSFET não faz barulho de clique, é mais rápido e não tem contatos de metal que se desgastam com o tempo. Vamos mostrar primeiro o relé e depois como usar um módulo MOSFET.
Hardware Necessário
Or you can buy the following kits:
| 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): precisa ser conectado aos 12V da fonte de alimentação DC
- Pino negativo (-) (preto ou outra cor): precisa 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 no interior, 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 Arduino Nano ESP32 e a válvula. O Arduino Nano ESP32 pode controlar a válvula solenoide por meio do relé. Saiba mais sobre o relé no tutorial Arduino Nano ESP32 - Relé
Em vez de um relé, você pode usar um módulo MOSFET. Você pode ver como este módulo funciona no tutorial Arduino Nano ESP32 - Módulo MOSFET.
Relé vs Módulo MOSFET para uma Válvula Solenoide
| Relé | Módulo MOSFET | |
|---|---|---|
| Controle da válvula | abre / fecha | abre / fecha (sem PWM para uma válvula) |
| Som do acionamento | faz clique | silencioso |
| Resposta | lenta, alguns milissegundos | muito rápida |
| Desgaste | os contatos se desgastam | sem contatos móveis |
| Tipo de válvula | válvula AC ou DC | somente válvula DC |
| Alimentação da válvula | qualquer, conforme a capacidade do relé | cerca de 6V ou mais |
| Isolação | sim (bobina e contatos) | sim (optoacoplador PC817) |
| Bom para | válvulas AC, uso simples | válvulas DC que abrem e fecham com frequência |
Uma válvula solenoide deve ficar totalmente aberta ou totalmente fechada, então não use PWM com ela. Os dois jeitos dão o mesmo resultado. Escolha o módulo MOSFET para uma válvula DC de 12V que liga e desliga muitas vezes por dia. Escolha o relé para uma válvula AC.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Código para Arduino Nano ESP32
O código abaixo liga a válvula de água por cinco segundos e desliga por cinco segundos, repetidamente,
Passos Rápidos
Para começar com o Arduino Nano ESP32, siga estes passos:
- Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
- Ligue os componentes de acordo com o diagrama fornecido.
- Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino Nano ESP32 e a porta COM correspondente.* Copie o código acima e cole no Arduino IDE
- Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload do Arduino IDE
- Verifique o fluxo de água
Explicação do Código
O código do Arduino Nano ESP32 acima contém uma explicação linha por linha. Leia os comentários no código!
Como Usar o Módulo MOSFET para Controlar a Válvula de Água/Líquido
Você pode tirar o relé e colocar um módulo MOSFET no lugar dele. A válvula continua apenas abrindo e fechando, mas sem o clique.
Nesta página, o relé usa o D2 e o módulo MOSFET usa o D9. Como os pinos são diferentes, cada ligação tem seu próprio código.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
| Arduino Nano ESP32 / Alimentação | Módulo MOSFET |
|---|---|
| D9 | pino PWM |
| GND | pino GND |
| Adaptador 12V + | terminal + |
| Válvula + (vermelho) | terminal + (compartilhado com o + do adaptador) |
| Válvula − | terminal LOAD |
| Adaptador 12V − | terminal − |
A válvula tem uma bobina no interior, então adicione um diodo flyback (1N4007 ou 1N5819) entre os dois terminais dela. O lado da faixa (cátodo) vai para o + da válvula.
Código
O código abaixo segue a mesma ideia do código do relé: ele coloca o D9 em HIGH para abrir a válvula por 5 segundos e depois em LOW para fechá-la por 5 segundos, de novo e de novo.
Uma válvula só deve receber ON total ou OFF 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
- Ligue os componentes de acordo com o diagrama acima.
- Conecte o Arduino Nano ESP32 ao seu computador e abra o Arduino IDE, como nos Passos Rápidos do relé.
- Copie o código acima, depois compile e faça o upload dele para o Arduino Nano ESP32.
- Ligue o adaptador de 12V na tomada.
- Verifique o fluxo de água. A válvula abre por 5 segundos e fecha por 5 segundos, mas agora sem nenhum clique.
Dica: o módulo MOSFET só pode acionar DC, e a alimentação da válvula deve ser de cerca de 6V ou mais. Se a sua válvula funciona com AC, use o relé.