# Integrantes: Vieyra Pérez y León Rodríguez
# Código para utilizar el motor a pasos con el circuito integrado A4988
# En físico se utilizó el ULN2003
from machine import Pin
from time import sleep, sleep_us
# Definir los pines GPIO para el control del motor
step_pin = Pin(18, Pin.OUT) # GPIO 18 para la señal de pasos
dir_pin = Pin(19, Pin.OUT) # GPIO 19 para la señal de dirección
# Función para mover el motor
def mover(direc, pasos, espera):
dir_pin.value(direc) # Establecer la dirección del motor
pasos = abs(pasos) # Asegurarse de que el número de pasos sea positivo
for i in range(pasos):
step_pin.value(1) # Enviar pulso alto
sleep_us(espera) # Esperar el tiempo especificado en microsegundos
step_pin.value(0) # Enviar pulso bajo
sleep_us(espera) # Esperar el tiempo especificado en microsegundos
# Bucle principal para realizar movimientos de prueba
while True:
# Realizar una revolución completa en sentido horario
print("Realizando 1 revolución en sentido horario...")
mover(direc=1, pasos=360, espera=2000)
# Pausa de 2 segundos
sleep(2)
# Realizar una revolución completa en sentido antihorario
print("Realizando 1 revolución en sentido antihorario...")
mover(direc=0, pasos=360, espera=2000)
# Pausa de 2 segundos
sleep(2)