Algunas partes de este sitio web aún no están disponibles en su idioma. Estamos trabajando para solucionar esto y nos disculpamos por cualquier inconveniente.
Tutorial ESP32 16/55 - Mini bomba de agua utilizando ESP32 y L293D | Kit de aprendizaje IoT ESP32 de SunFounder
En este tutorial, aprenderemos a controlar una bomba de agua de 5V utilizando el microcontrolador ESP32 y el controlador de motor L293D. Este proyecto es una excelente introducción al uso de controladores de motor con microcontroladores, lo que te permitirá controlar dispositivos que requieren más corriente de la que un microcontrolador puede proporcionar directamente. Al final de este tutorial, tendrás una bomba de agua funcional que puede ser activada y desactivada programáticamente.
El ESP32 es un microcontrolador potente que viene con capacidades de Wi-Fi y Bluetooth integradas, lo que lo hace adecuado para aplicaciones de IoT. El controlador de motor L293D se utiliza para controlar la bomba de agua gestionando la mayor corriente requerida para operar el motor. Esta configuración nos permite iniciar y detener la bomba mientras aseguramos que el ESP32 se mantenga a salvo de un consumo excesivo de corriente.
Hardware Explicado
En este proyecto, utilizamos el microcontrolador ESP32, que es conocido por su versatilidad y opciones de conectividad. Puede funcionar como un Arduino mientras ofrece características adicionales como Wi-Fi y Bluetooth. El controlador de motor L293D actúa como una interfaz entre el ESP32 y la bomba de agua, lo que permite el control de la operación de la bomba sin sobrecargar el microcontrolador.
El L293D cuenta con dos puentes H, lo que le permite controlar la dirección y la velocidad del motor. Cada puente H puede accionar un motor en cualquier dirección, lo que lo hace adecuado para aplicaciones donde se necesita control del motor. En este caso, solo necesitaremos habilitar la bomba para funcionar en una dirección.
Detalles de la hoja de datos
Fabricante
Texas Instruments
Número de pieza
L293D
Voltaje de lógica/entrada/salida
4.5 - 36 V
Tensión de alimentación
4.5 - 36 V
Corriente de salida (por canal)
600 mA
Corriente pico (por canal)
1.2 A
Orientación sobre la frecuencia PWM
1 kHz - 10 kHz
Umbral de lógica de entrada
2 V (alto), 0.8 V (bajo)
Caída de tensión / RDS(on)/ saturación
1.5 V (máx)
Límites térmicos
+150 °C (máx)
Paquete
DIP-16
Notas / variantes
Incluye diodos incorporados para la protección de cargas inductivas.
Asegure una adecuada disipación del calor para un funcionamiento continuo.
Utiliza capacitores de desacoplamiento para una fuente de alimentación estable.
Tenga cuidado con la tensión de entrada para prevenir daños.
Implementar PWM para el control de velocidad si es necesario.
Revisa el cableado para evitar cortocircuitos, especialmente con cargas inductivas.
Instrucciones de cableado
ESP32-16-motor-pump_wiring
Para cablear el ESP32 y el controlador de motor L293D con la bomba de agua, siga estos pasos cuidadosamente. Primero, conecte la fuente de alimentación al L293D. Conecte el pin 1 (pin de habilitación para el motor A) y el pin 8 (Vcc2) a la fuente de voltaje positivo (5V). Conecte el pin 4 (tierra) a la tierra de su circuito.
A continuación, conecta el ESP32 al L293D. Conecta el pin GPIO 13 del ESP32 al pin 2 (entrada 1) del L293D, y el pin GPIO 14 al pin 7 (entrada 2). Finalmente, conecta la bomba de agua al pin 3 (salida 1) y al pin 6 (salida 2) del L293D. Asegúrate de que todas las conexiones a tierra estén unidas para un funcionamiento adecuado. Si sigues estas instrucciones, tu cableado debería ser sencillo y funcional.
Ejemplos de Código y Tutoriales
En el código, definimos las conexiones de pines para el control del motor. Los identificadoresmotor1Aymotor2Acorresponden a los pines GPIO 13 y 14 en el ESP32, respectivamente. Estos pines controlarán la bomba de agua a través del controlador L293D.
En elsetup()función, inicializamos los pines de control del motor como salidas. Esto asegura que podemos enviar señales al controlador L293D para controlar la bomba. Elloop()la función luego controla el funcionamiento de la bomba.
void loop() {
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(5);
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(2000); // wait for a second
}
En elloop()función, establecemosmotor1Aa ALTA ymotor2Ademasiado BAJO para encender la bomba. Después de un breve retraso, detenemos la bomba configurando ambos pines en BAJO. Este ciclo se repite indefinidamente, permitiendo que la bomba funcione por un breve período y luego se detenga.
Demostración / Qué Esperar
Una vez que hayas completado el cableado y subido el código, deberías ver la bomba de agua activarse y desactivarse en un ciclo. La bomba funcionará durante un corto período, luego se detendrá, creando un patrón de encendido y apagado. Asegúrate de que tu fuente de alimentación sea adecuada para los requisitos de la bomba para evitar cualquier problema (en el video a las 09:30).
Marcadores de tiempo del video
00:00 Comenzar
1:50 Introducción al Proyecto
3:17 ¿Por qué necesitamos L293D con Arduino?
5:47 Explicación del cableado para la bomba de agua
10:01 Código de Arduino explicado
12:21 Seleccionando el puerto COM para ESp32 en Arduino IDE