Arduino Nano ESP32 - Controla Bomba

Este tutorial fornece instruções sobre como usar o Arduino Nano ESP32 para controlar uma bomba. Você pode ampliar este tutorial para construir um aquário DIY, uma máquina de coquetéis, uma cafeteira ou um sistema de irrigação...

Você pode acionar a bomba de duas maneiras. Uma é um relé: ele só liga e desliga a bomba. A outra é um módulo MOSFET: ele também liga e desliga a bomba, mas ainda pode mudar a velocidade da bomba com PWM, para que você possa dar mais ou menos vazão de água. Ele funciona em silêncio. Você vai aprender as duas maneiras aqui.

Sobre a Bomba de 12V

Pinagem da Bomba

Pinagem da Bomba do Arduino Nano ESP32
image source: diyables.io

Uma bomba de 12V tem dois fios:

  • Fio negativo (-) (preto): conecte este fio ao fio negativo da fonte de alimentação de 12V DC
  • Fio positivo (+) (vermelho): conecte este fio ao fio positivo da fonte de alimentação de 12V DC

Como Controlar a Bomba usando o Arduino Nano ESP32

Se conectarmos uma fonte de alimentação de 12V a uma bomba, a bomba vai funcionar. Podemos controlar uma bomba por programação usando o Arduino Nano ESP32. Para isso, precisamos de um relé entre a bomba e a placa Arduino Nano ESP32. Temos um tutorial específico sobre relé, que contém informações detalhadas e instruções passo a passo sobre a pinagem do hardware, o princípio de funcionamento, a ligação ao ESP32, o código do Arduino Nano ESP32... Aprenda sobre o relé no tutorial Arduino Nano ESP32 - Relé

Um módulo MOSFET pode tomar o lugar do relé. O tutorial Arduino Nano ESP32 - Módulo MOSFET explica este módulo desde o início, caso você ainda não o tenha usado.

Qual Usar com uma Bomba: Relé ou Módulo MOSFET

Relé Módulo MOSFET
Controle da bomba só liga e desliga liga, desliga e ajusta a vazão (PWM)
Som de chaveamento clique audível nenhum
Velocidade de chaveamento lenta (alguns ms) muito rápida
Vida útil os contatos se desgastam sem partes móveis
Tipo de bomba bomba AC ou DC somente bomba DC
Alimentação da bomba conforme o relé permite 6V ou mais
Isolação sim, entre a bobina e os contatos sim, por um optoacoplador PC817
Melhor uso bombas AC, ON/OFF simples bombas DC, controle de vazão, muitos ciclos ON/OFF

Com uma bomba DC de 12V, escolha o módulo MOSFET quando quiser dar menos água, por exemplo um gotejamento lento para plantas. Se a sua bomba funciona em AC, ou se ON/OFF é tudo o que você precisa, o relé serve bem.

Diagrama de Ligação entre ESP32, Relé e Bomba

Diagrama de Ligação da Bomba do Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Arduino Nano ESP32 - Código da Bomba

O código abaixo liga/desliga a bomba periodicamente a cada 4 segundos.

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-controls-pump */ #define RELAY_PIN D2 // The Arduino Nano ESP32 pin connected to the pump the via the relay // The setup function runs once on reset or power-up void setup() { // initialize digital pin as an output. pinMode(RELAY_PIN, OUTPUT); } // The loop function repeats indefinitely void loop() { digitalWrite(RELAY_PIN, HIGH); // turn on pump 4 seconds delay(4000); digitalWrite(RELAY_PIN, LOW); // turn off pump 4 seconds delay(4000); }

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.
  • Faça a ligação dos 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
  • Veja o estado da bomba

Explicação do Código Linha por Linha

O código acima do Arduino Nano ESP32 contém uma explicação linha por linha. Por favor, leia os comentários no código!

Como Controlar a Vazão da Bomba com o Módulo MOSFET

Agora vamos acionar a mesma bomba com um módulo MOSFET, para que o Nano ESP32 possa deixar a vazão mais forte ou mais fraca.

Diagrama de Ligação entre ESP32, Módulo MOSFET e Bomba

Diagrama de ligação da bomba com módulo MOSFET no Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Conexões:

  • O D9 do Nano ESP32 vai para o pino PWM do módulo, e o GND do Nano ESP32 vai para o pino GND do módulo.
  • O + do adaptador de 12V e o fio vermelho (+) da bomba entram juntos no terminal +.
  • O fio preto (−) da bomba entra no terminal LOAD.
  • O − do adaptador de 12V entra no terminal −.
  • Adicione um diodo de roda livre (flyback) (1N4007 ou 1N5819) em paralelo com a bomba: a faixa (cátodo) no + da bomba, a outra ponta no − da bomba. O motor da bomba é uma bobina, e o módulo não tem diodo na placa.

Arduino Nano ESP32 - Código de Vazão da Bomba

Usamos o código do tutorial do módulo MOSFET sem nenhuma mudança. A bomba funciona com vazão total por 2 segundos e para por 2 segundos. Depois disso, a vazão sobe de 10% a 100% e depois desce até 0%.

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-controls-pump */ const int MOSFET_PIN = D9; // Arduino Nano ESP32 pin connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0); // start with the load OFF } void setLoad(int percent) { int duty = map(percent, 0, 100, 0, 255); // convert 0-100% to 0-255 analogWrite(MOSFET_PIN, duty); Serial.print("Load power: "); Serial.print(percent); Serial.println("%"); } void loop() { // turn the load fully ON, then fully OFF Serial.println("Load: ON"); setLoad(100); delay(2000); Serial.println("Load: OFF"); setLoad(0); delay(2000); // increase the power step by step (PWM) for (int percent = 10; percent <= 100; percent += 10) { setLoad(percent); delay(500); } // decrease the power step by step (PWM) for (int percent = 90; percent >= 0; percent -= 10) { setLoad(percent); delay(500); } delay(1000); }

Passos Rápidos

  • Se necessário, configure o Arduino IDE primeiro, como mostrado nos Passos Rápidos do relé.
  • Coloque a bomba na água. Não a faça funcionar a seco.
  • Faça a ligação das peças como no diagrama acima, com o adaptador de 12V desconectado.
  • Faça o upload do código para o Arduino Nano ESP32.
  • Conecte o adaptador de 12V e abra o Serial Monitor a 9600 baud.
  • Olhe a água saindo do tubo: ela flui forte, para, depois aumenta e fica fraca de novo.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

Lembre-se: o módulo MOSFET é só para bombas DC, com uma alimentação da bomba de cerca de 6V ou mais. Para uma bomba 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!