ESP8266 - Interruptor de fin de carrera para motor paso a paso
Este tutorial explica cómo usar ESP8266 para controlar un motor paso a paso mediante un interruptor de límite y un controlador L298N. Específicamente, cubriremos:
- Cómo programar el ESP8266 para detener el motor paso a paso cuando se active un interruptor de límite.
- Cómo programar el ESP8266 para cambiar la dirección del motor paso a paso cuando se active un interruptor de límite.
- Cómo programar el ESP8266 para cambiar la dirección del motor paso a paso mediante dos interruptores de límite instalados en posiciones opuestas.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del motor paso a paso y del interruptor de fin de carrera
Si no estás familiarizado con el motor paso a paso y el interruptor de fin de carrera (incluyendo la asignación de pines, su funcionamiento, la programación, etc.), los siguientes tutoriales pueden proporcionarte más información:
- ESP8266 - Limit Switch tutorial
- ESP8266 - Stepper Motor tutorial
Diagrama de Cableado
Este tutorial proporciona el diagrama de cableado para dos casos: un motor paso a paso y un interruptor de fin de recorrido; un motor paso a paso y dos interruptores de fin de recorrido.
- Diagrama de cableado entre ESP8266, motor paso a paso y un interruptor de fin de carrera.

This image is created using Fritzing. Click to enlarge image
Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.
- Diagrama de cableado entre ESP8266, el motor paso a paso y dos interruptores de fin de carrera.

This image is created using Fritzing. Click to enlarge image
※ Nota:
La conexión de cableado entre el motor paso a paso y el L298N puede variar según el tipo de motor paso a paso. Por lo tanto, es importante echar un vistazo a este tutorial ESP8266 - Stepper Motor para entender cómo realizar la conexión.
Código ESP8266 - Detener el motor paso a paso mediante un interruptor de límite
Existen varios métodos para detener un motor paso a paso:
- Invocar la función stepper.stop(): Esto no provocará una parada instantánea, sino una parada gradual.
- Omitir la llamada a la función stepper.run(): Esto resultará en una parada inmediata del motor paso a paso.
El código que se muestra a continuación hará que un motor paso a paso gire de forma continua hasta que se active un fin de carrera, momento en el que se detendrá de inmediato.
Pasos R\u00e1pidos
Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:
- Consulta el tutorial de cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
- Conecta los componentes como se muestra en el diagrama.
- Conecta la placa ESP8266 a tu computadora usando un cable USB.
- Abre el IDE de Arduino en tu computadora.
- Selecciona la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
- Conecta un cable USB a la ESP8266 y al PC.
- Abre el IDE de Arduino, selecciona la placa y el puerto apropiados.
- Haz clic en el icono Librerías en la barra izquierda del IDE de Arduino.
- Busca “ezButton”, luego localiza la biblioteca de botones proporcionada por ArduinoGetStarted.com.
- Haz clic en el botón Instalar para instalar la biblioteca ezButton.

- Busca “AccelStepper” y localiza la biblioteca AccelStepper creada por Mike McCauley.
- Pulsa el botón Instalar para añadir la biblioteca AccelStepper.

- Copie el código y ábralo con el IDE de Arduino.
- Haga clic en el botón Subir para transferir el código al ESP8266.
- Si el cableado está hecho correctamente, el motor girará en sentido horario.
- Pulse el interruptor de límite y el motor se detendrá de inmediato.
- El resultado que aparece en el Monitor Serial debería verse así.
Explicación del código
Consulta la explicación línea por línea contenida en los comentarios del código fuente.
Código ESP8266: Cambiar la dirección del motor paso a paso mediante un interruptor de límite
El código que se muestra a continuación hace que un motor paso a paso gire de forma continua y que invierta su dirección cuando se active un interruptor de fin de carrera.
Pasos R\u00e1pidos
Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:
- Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
- Conecta los componentes tal como se muestra en el diagrama.
- Conecta la placa ESP8266 a tu computadora usando un cable USB.
- Abre Arduino IDE en tu computadora.
- Elige la placa ESP8266 correcta, por ejemplo (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
- Copia el código y ábrelo con el Arduino IDE.
- Haz clic en el botón Upload para enviar el código al ESP8266.
- Si el cableado es correcto, el motor girará en sentido horario.
- Al tocar el interruptor de límite, la rotación del motor paso a paso se invertirá hacia el sentido antihorario.
- Al volver a tocar el interruptor de límite, el motor paso a paso volverá a girar en sentido horario.
- La salida en el Monitor Serial debería verse así.
Código ESP8266 - Cambiar la dirección del motor paso a paso mediante dos interruptores de límite
El código que se muestra a continuación hace que un motor paso a paso gire de forma continua, y cambiará su dirección cuando se toque cualquiera de dos interruptores de límite.
Pasos R\u00e1pidos
- Conecte los componentes como se muestra en el diagrama.
- Conecte la placa ESP8266 a su computadora usando un cable USB.
- Abra el Arduino IDE en su computadora.
- Elija la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM correspondiente.
- Copie el código y ábralo con el Arduino IDE.
- Haga clic en el botón Upload en el IDE para cargar el código en el ESP8266.
- Si el cableado es correcto, el motor debería girar en sentido horario.
- Al tocar el interruptor de límite 1, la dirección del motor paso a paso debe cambiar a antihorario.
- Al tocar el interruptor de límite 2 debería hacer que el motor invierta la dirección nuevamente, esta vez en sentido horario.
- El resultado mostrado en el Monitor Serial debería verse como 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.