from machine import Pin
import time
# Define los pines para el motor
pin1 = Pin(25, Pin.OUT)
pin2 = Pin(26, Pin.OUT)
pin3 = Pin(27, Pin.OUT)
pin4 = Pin(14, Pin.OUT)
# Define la secuencia de pasos del motor
secuencia = [
(1, 0, 0, 0),
(1, 1, 0, 0),
(0, 1, 0, 0),
(0, 1, 1, 0),
(0, 0, 1, 0),
(0, 0, 1, 1),
(0, 0, 0, 1),
(1, 0, 0, 1)
]
def girar_motor(grados):
pasos_por_grado = 200 / 360 # Pasos por grado
pasos_totales = int(pasos_por_grado * grados) # Calcula pasos necesarios para los grados dados
# Ajustar a la correcta cantidad de pasos a ejecutar
pasos_reales = pasos_totales // 4 # Ajuste basado en la observación de la sobrerreacción
for _ in range(abs(pasos_reales)):
for paso in secuencia:
pin1.value(paso[0])
pin2.value(paso[1])
pin3.value(paso[2])
pin4.value(paso[3])
time.sleep(0.01) # Ajusta la velocidad aquí
while True:
grados = float(input("Ingrese los grados a girar: ")) # Recoge los grados desde el usuario
girar_motor(grados)
time.sleep(1) # Espera antes de permitir otro giro