Skip to main content
Para usar este módulo, definí INCLUIR_MOTOR_PAP antes de incluir Cod-ES.h.

Activación


Clase MotorPAP

La clase MotorPAP controla motores paso a paso configurando los pines de salida automáticamente al crear la instancia. Admite tres configuraciones de cableado según el tipo de motor y el driver utilizado.

Constructores

constructor
Crea una instancia para motores controlados con 2 pines (por ejemplo, usando un driver tipo L293D en modo paso completo simplificado).Parámetros:
  • numeroPasos — cantidad de pasos por revolución del motor (ej: 200 para un motor de 1.8° por paso).
  • pin1 — primer pin de control.
  • pin2 — segundo pin de control.
constructor
Crea una instancia para motores bipolares o unipolares controlados con 4 pines. Es la configuración más común para motores 28BYJ-48 con driver ULN2003 o motores NEMA con L298N.Parámetros:
  • numeroPasos — cantidad de pasos por revolución.
  • pin1, pin2, pin3, pin4 — los cuatro pines de control en orden.
constructor
Crea una instancia para motores unipolares de 5 cables.Parámetros:
  • numeroPasos — cantidad de pasos por revolución.
  • pin1, pin2, pin3, pin4, pin5 — los cinco pines de control.

Ejemplo de instanciación


Métodos

void
Establece la velocidad de rotación del motor en RPM (revoluciones por minuto). Debe llamarse antes de paso() para que tenga efecto.Parámetro: velocidad — velocidad en RPM (tipo long). Por ejemplo, 60 equivale a 1 revolución por segundo para un motor de 60 pasos por vuelta.
void
Mueve el motor la cantidad de pasos indicada. La función es bloqueante: el programa espera hasta completar todos los pasos antes de continuar.
  • Valor positivo → gira en un sentido (horario).
  • Valor negativo → gira en sentido contrario (antihorario).
Parámetro: numeroPasos — cantidad de pasos a dar. Puede ser negativo para cambiar de dirección.
int
Retorna el número de versión de la librería MotorPAP. Actualmente retorna 5.

Ejemplo completo — control con potenciómetro

Este ejemplo es el oficial de la librería. Lee un potenciómetro conectado al pin analógico 0 y ajusta la posición del motor según el valor leído.

Ejemplo — vuelta completa

La función paso() es bloqueante. El programa no avanza hasta que el motor termine de moverse. Si necesitás ejecutar otras tareas mientras el motor se mueve, considerá controlar el motor de forma manual dividiendo el movimiento en pasos pequeños dentro del bucle.
Para el popular motor 28BYJ-48 con driver ULN2003, usá 2048 como número de pasos por revolución y una velocidad de entre 5 y 15 RPM para un movimiento suave.