Arduino Nano - Interruptor de límite para motor paso a paso
Este tutorial explica cómo usar Arduino Nano para controlar un motor paso a paso mediante un interruptor de límite y un controlador L298N. En concreto, cubriremos:
- Cómo programar Arduino Nano para detener el motor paso a paso cuando se toque un interruptor de límite.
- Cómo programar Arduino Nano para cambiar la dirección del motor paso a paso cuando se toque un interruptor de límite.
- Cómo programar Arduino Nano 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 límite (incluyendo la disposición de pines, la funcionalidad y la programación), los siguientes tutoriales pueden ayudarte a aprender:
- Arduino Nano - Limit Switch tutorial
- Arduino Nano - Stepper Motor tutorial
Diagrama de Cableado
Este tutorial proporciona el diagrama de cableado para dos casos: un motor paso a paso + un interruptor de fin de carrera, un motor paso a paso + dos interruptores de fin de carrera.
- Diagrama de cableado entre el ESP8266, el motor paso a paso y un interruptor de fin de carrera.

This image is created using Fritzing. Click to enlarge image
- 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
Ver La mejor forma de alimentar Arduino Nano y otros componentes.
※ 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. Para garantizar una conexión exitosa, consulte el tutorial Arduino Nano - Motor paso a paso para obtener instrucciones sobre cómo conectar el motor paso a paso al controlador de motor L298N.
Código para Arduino Nano - Detener el motor paso a paso mediante un fin de carrera
Se puede detener un motor paso a paso de varias maneras:
- Invocar la función stepper.stop(): Esto no detendrá el motor de inmediato, sino que hará que desacelere gradualmente
- No llame a la función stepper.run(): Esto hará que el motor paso a paso se detenga de inmediato
El código a continuación hace que un motor paso a paso gire de forma continua hasta que se active un interruptor de límite.
Pasos R\u00e1pidos
- Conecta el Arduino Nano a una computadora usando un cable USB.
- Abre el IDE de Arduino, elige la placa correcta y el puerto correcto.
- Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “ezButton” y localiza la biblioteca de botones de ArduinoGetStarted.com.
- Presiona el botón Instalar para instalar la biblioteca ezButton.

- Busca “AccelStepper” y localiza la biblioteca AccelStepper creada por Mike McCauley.
- Luego, presiona el botón Instalar para añadirla.

- Copia el código anterior y ábrelo en el IDE de Arduino.
- Haz clic en el botón Subir en el IDE de Arduino para compilar y cargar el código al Arduino Nano.
- Si el cableado es correcto, el motor debería girar en sentido horario.
- Cuando se active el interruptor de fin de carrera, el motor debe detenerse de inmediato.
- El resultado mostrado 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 para Arduino Nano - Cambiar la dirección del motor paso a paso mediante un interruptor de fin de carrera
Un motor paso a paso se hace girar de forma continua, y su dirección se altera cuando se acciona un interruptor de límite. Esto se logra con el siguiente código:
Pasos R\u00e1pidos
- Copia el código y ábrelo con el IDE de Arduino.
- Haz clic en el botón Subir en el IDE para cargar el código al Arduino Nano.
- Si el cableado es correcto, el motor girará en sentido horario.
- Toca el interruptor de límite y la dirección del motor paso a paso se invertirá en sentido antihorario.
- Toca el interruptor de límite de nuevo y el motor paso a paso girará en sentido horario.
- El resultado en el Monitor Serial debería verse así.
Código de Arduino Nano - Cambiar la dirección del motor paso a paso mediante dos finales de carrera
Haz que un motor paso a paso gire de forma continua y cambie su dirección cuando se active cualquiera de los dos interruptores de límite.
Pasos R\u00e1pidos
- Haz clic en el botón Subir para enviar el código al Arduino Nano.
- 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 debería invertirse a antihorario.
- Al tocar el interruptor de límite 2, la dirección del motor paso a paso debería volver a la dirección horaria.
- El resultado en el Monitor Serial debería verse así.
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.