Algumas partes deste site ainda não estão disponíveis no seu idioma. Estamos trabalhando para corrigir isso e pedimos desculpas por qualquer inconveniente.
Tutorial ESP32 16/55 - Mini Bomba de Água usando ESP32 e L293D | Kit de Aprendizado em IoT ESP32 da SunFounder
Neste tutorial, aprenderemos a controlar uma bomba de água de 5V usando o microcontrolador ESP32 e o driver de motor L293D. Este projeto é uma ótima introdução ao uso de drivers de motor com microcontroladores, permitindo que você controle dispositivos que exigem mais corrente do que um microcontrolador pode fornecer diretamente. Ao final deste tutorial, você terá uma bomba de água funcionando que pode ser ativada e desativada programaticamente.
O ESP32 é um microcontrolador poderoso que vem com capacidades integradas de Wi-Fi e Bluetooth, tornando-o adequado para aplicações de IoT. O driver de motor L293D é utilizado para controlar a bomba d'água, gerenciando a corrente mais alta necessária para operar o motor. Essa configuração nos permite ligar e desligar a bomba, garantindo que o ESP32 permaneça seguro contra consumo excessivo de corrente.
Hardware Explicado
Neste projeto, utilizamos o microcontrolador ESP32, que é conhecido por sua versatilidade e opções de conectividade. Ele pode funcionar como um Arduino enquanto oferece recursos adicionais, como Wi-Fi e Bluetooth. O driver de motor L293D atua como uma interface entre o ESP32 e a bomba d'água, permitindo o controle da operação da bomba sem sobrecarregar o microcontrolador.
O L293D possui dois H-bridges, permitindo controlar a direção e a velocidade do motor. Cada H-bridge pode acionar um motor em qualquer direção, tornando-o adequado para aplicações onde é necessário o controle do motor. Neste caso, só precisaremos habilitar a bomba para funcionar em uma direção.
Detalhes da Ficha Técnica
Fabricante
Texas Instruments
Número da peça
L293D
Tensão lógica/IO
4,5 - 36 V
Tensão de alimentação
4,5 - 36 V
Corrente de saída (por canal)
600 mA
Corrente de pico (por canal)
1.2 A
Orientação sobre a frequência PWM
1 kHz - 10 kHz
Limiares de lógica de entrada
2 V (alto), 0,8 V (baixo)
Queda de tensão / RDS(on)/ saturação
1,5 V (máx)
Limites térmicos
+150 °C (máx)
Pacote
DIP-16
Notas / variantes
Inclui diodos embutidos para proteção de cargas indutivas.
Garanta a dissipação adequada de calor para operação contínua.
Utilize capacitores de desacoplamento para uma fonte de alimentação estável.
Tenha cuidado com a tensão de entrada para evitar danos.
Implemente PWM para controle de velocidade, se necessário.
Verifique a fiação para evitar curtos, especialmente com cargas indutivas.
Instruções de Fiação
ESP32-16-motor-pump_wiring
Para ligar o ESP32 e o driver de motor L293D à bomba d'água, siga estas etapas cuidadosamente. Primeiro, conecte a fonte de alimentação ao L293D. Conecte o pino 1 (pino de habilitação para o motor A) e o pino 8 (Vcc2) à fonte de tensão positiva (5V). Conecte o pino 4 (terra) ao terra do seu circuito.
Em seguida, conecte o ESP32 ao L293D. Conecte o pino GPIO 13 do ESP32 ao pino 2 (entrada 1) do L293D e o pino GPIO 14 ao pino 7 (entrada 2). Por fim, conecte a bomba de água ao pino 3 (saída 1) e ao pino 6 (saída 2) do L293D. Certifique-se de que todas as conexões de terra estejam ligadas para uma operação adequada. Se você seguir estas instruções, sua fiação deve ser simples e funcional.
Exemplos de Código e Passo a Passo
No texto, definimos as conexões dos pinos para o controle do motor. Os identificadoresmotor1Aemotor2Acorrespondem aos pinos GPIO 13 e 14 no ESP32, respectivamente. Esses pinos controlarão a bomba de água através do driver L293D.
In thesetup()função, inicializamos os pinos de controle do motor como saídas. Isso garante que podemos enviar sinais para o driver L293D para controlar a bomba. Oloop()a função então controla a operação da bomba.
void loop() {
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(5);
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(2000); // wait for a second
}
No textoloop()função, definimosmotor1Apara ALTO emotor2Amuito BAIXO para iniciar a bomba. Após uma breve pausa, paramos a bomba definindo ambos os pinos como BAIXO. Esse ciclo se repete indefinidamente, permitindo que a bomba funcione por um breve período e depois pare.
Demonstração / O que esperar
Depois de concluir a fiação e carregar o código, você deve ver a bomba de água ativar e desativar em um ciclo. A bomba funcionará por um curto período, depois parará, criando um padrão de liga-desliga. Certifique-se de que sua fonte de alimentação é adequada para as necessidades da bomba para evitar problemas (no vídeo às 09:30).
Tempo do Vídeo
00:00 Início
1:50 Introdução do Projeto
3:17 Por que precisamos do L293D com Arduino?
5:47 Fiação para bomba de água explicada
10:01 Código Arduino explicado
12:21 Selecionando a porta COM para ESp32 no Arduino IDE
14:03 Demonstração de funcionamento da bomba
15:25 Demonstração com água
Imagens
ESP32-15_L293D_motor_schematic
ESP32-16-motor-pump_wiring
5V DC water pump
ESP32-15_L293D_motor_schematic
ESP32-16-motor-pump_wiring
5V DC water pump
815-ESP32 Tutorial 16/55 - Arduino code to control DC water pump