ESP32 - Motor de corriente continua - Interruptor de límite
En este tutorial de ESP32, vamos a aprender cómo usar ESP32 para controlar un motor DC mediante un interruptor de límite y un controlador L298N. En detalle, vamos a aprender:
- Cómo detener un motor de corriente continua cuando se activa un interruptor de fin de carrera
- Cómo cambiar la dirección de un motor de corriente continua cuando se activa un interruptor de fin de carrera
- Cómo cambiar la dirección de un motor de corriente continua cuando se activan dos interruptores de fin de carrera
En este tutorial sobre ESP32, exploraremos el proceso de utilizar el ESP32 para controlar un motor de corriente continua utilizando un interruptor de fin de carrera y un controlador L298N. Específicamente, cubriremos los siguientes aspectos:
- Detener el motor de corriente continua al entrar en contacto con un interruptor de fin de carrera
- Cambiar la dirección del motor de corriente continua al entrar en contacto con un interruptor de fin de carrera
- Cambiar la dirección del motor de corriente continua cuando se activan dos interruptores de fin de carrera
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del motor de corriente continua y el interruptor de límite
Si no conoces el motor de corriente continua y el interruptor de límite (disposición de pines, cómo funciona, cómo programarlo ...), aprende sobre ellos en los siguientes tutoriales:
- ESP32 - Limit Switch tutorial
- ESP32 - Controls DC Motor tutorial
Diagrama de Cableado
Este tutorial proporciona los códigos para ESP32 para dos casos: un motor DC y un interruptor de final de carrera; un motor DC y dos interruptores de final de carrera.
- Diagrama de cableado entre el motor de corriente continua y un interruptor de fin de carrera

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.
- Diagrama de cableado entre el motor de corriente continua y dos interruptores de fin de carrera

This image is created using Fritzing. Click to enlarge image
Código para ESP32 - Detener un motor DC mediante un interruptor de fin de carrera
El código a continuación hace que un motor DC gire indefinidamente y se detenga de inmediato cuando se activa un interruptor de fin de carrera.
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Realiza el cableado como en la imagen de arriba.
- Conecta la placa ESP32 a tu PC mediante un cable USB micro.
- Abre el IDE de Arduino en tu PC.
- Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
- Conecta la ESP32 al PC mediante un cable USB.
- Abre el IDE de Arduino y selecciona la placa y el puerto correctos.
- Haz clic en el icono de Libraries en la barra izquierda del IDE de Arduino.
- Busca “ezButton”, luego encuentra la biblioteca de ArduinoGetStarted.com.
- Haz clic en el botón Install para instalar la biblioteca ezButton.

- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en Arduino IDE para subir el código al ESP32
- Si el cableado es correcto, verás que el motor gira en sentido horario.
- Toca el interruptor de límite
- Verás que el motor se detiene de inmediato
- El resultado en el Monitor Serial se ve a continuación
Explicación del código
Puedes encontrar la explicación en la línea de comentarios del código de Arduino anterior.
Código ESP32: Cambiar la dirección de un motor de corriente continua mediante un interruptor de límite
El código que se muestra a continuación hace que un motor de corriente continua gire indefinidamente y cambie su dirección cuando se toca un interruptor de fin de carrera.
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Realiza el cableado como en la imagen anterior.
- Conecta la placa ESP32 a tu PC mediante un cable micro USB.
- Abre Arduino IDE en tu PC.
- Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Upload en Arduino IDE para subir el código al ESP32
- Si el cableado es correcto, verás que el motor gira en sentido horario.
- Toca el interruptor de tope.
- Verás que la dirección del motor DC cambia a sentido antihorario.
- Toca de nuevo el interruptor de tope.
- Verás que la dirección del motor DC cambia a sentido horario.
- El resultado en el Monitor Serial se muestra a continuación.
Código ESP32 - Cambiar la dirección del motor de corriente continua mediante dos interruptores de límite
El código que se muestra a continuación hace que un motor de corriente continua gire indefinidamente y cambie de dirección cuando se active uno de los dos interruptores de fin de carrera.
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Realiza el cableado como en la imagen de arriba.
- Conecta la placa ESP32 a tu PC mediante un cable micro USB.
- Abre Arduino IDE en tu PC.
- Selecciona la placa ESP32 correcta (p. ej. Módulo de desarrollo ESP32) y el puerto COM.
- Copia el código anterior y ábrelo con Arduino IDE.
- Haz clic en el botón Subir de Arduino IDE para cargar el código al ESP32.
- Si el cableado es correcto, verás que el motor gira en sentido horario.
- Toca el interruptor de límite 1.
- Verás que la dirección del motor DC cambia a antihorario.
- Toca el interruptor de límite 2.
- Verás que la dirección del motor DC cambia a sentido horario.
- El resultado en el Monitor Serial se muestra a continuación.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.