En esta lección vas a aprender una forma fácil y divertida de manejar un motor paso a paso a distancia usando un control remoto infrarrojo. Es un proyecto bárbaro para entender cómo los sensores pueden disparar acciones físicas en tus prototipos usando el UNO.
Componentes Necesarios
(1) x Elegoo Uno R3
(1) x Protoboard de 830 puntos
(1) x Módulo receptor IR
(1) x Control remoto IR
(1) x Módulo driver de motor paso a paso ULN2003
(1) x Motor paso a paso
(1) x Módulo de fuente de alimentación
(1) x Adaptador 9V 1A
(9) x Cables Hembra-Macho (DuPont)
(1) x Cable Macho-Macho (puente)
Esquema de Conexión y Diagrama de Cableado
El motor paso a paso que usamos viene con su propia placa controladora (driver), lo que facilita mucho la conexión. Como no queremos alimentar el motor directamente desde el UNO para no forzarlo, vamos a usar una fuente de alimentación para protoboard económica, conectada a un transformador de 9V 1A. El sensor IR se conecta directo al UNO porque casi no consume energía.
Código
Podés hacer clic en el enlace de texto azul para descargar el archivo del programa a tu equipo. Antes de abrirlo, asegurate de tener instalado el IDE de Arduino y los drivers del UNO R3. Si tenés dudas sobre este proceso, fijate en la "Parte 1" del documento para una guía detallada.
📥 DESCARGAR stepper_motor_control.ino
Este código muestra cómo usar el control remoto para que el motor gire en sentido horario o antihorario según el botón que aprietes. Hacé clic en el botón del Monitor Serie para ver los datos; los conceptos básicos sobre el monitor se explican en el tutorial 4 de la parte 2.
Inclusiones y Definiciones
Usamos Stepper.h para el control del motor e IRremote.h para la lectura del infrarrojo. Definimos 32 pasos por revolución para el eje interno y configuramos el receptor en el pin 12. El objeto small_stepper se inicializa con los pines 8, 10, 9 y 11 para respetar la secuencia correcta del driver (In1, In3, In2, In4).
Función Setup
Acá simplemente usamos irrecv.enableIRIn() para que el receptor empiece a escuchar las señales del control remoto.
Función Loop
El programa chequea constantemente si entró una señal. Si apretás el botón VOL+ (código 0xFFA857), el motor gira una vuelta completa (2048 pasos) hacia la derecha. Si apretás VOL- (código 0xFF629D), gira hacia la izquierda. Al terminar, el código pone los pines en bajo (LOW) para ahorrar energía y evitar que el motor caliente.
Solución de Problemas
Si el motor no se mueve, revisá las conexiones de los pines y asegurate de que el módulo de fuente de alimentación esté entregando energía a los rieles de la protoboard. Sin la fuente externa, el motor no va a tener fuerza para girar.
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.