from machine import Pin 
from time import sleep_ms 


class MotorPasso(object):

    def __init__ (self, pDir, pStep, ppr=200, direcao=1):
        self.pinDir  = Pin(pDir,Pin.OUT)
        self.pinStep = Pin(pStep,Pin.OUT)
        self.passos = ppr
        self.d = direcao

    # Função para girar o motor 360 graus
    def revolucao(self, intervalo=1):
        for _ in range(self.passos):
            self.pinStep.on()
            sleep_ms(intervalo)
            self.pinStep.off()
            sleep_ms(intervalo)


    # Função para girar o motor 360 graus
    def angulo(self, angulo, intervalo=1):
        p = angulo*self.passos // 360
        for _ in range(p):
            self.pinStep.on()
            sleep_ms(intervalo)
            self.pinStep.off()
            sleep_ms(intervalo)

    def direcao(self, d=1):
        self.d = d


# Cria objeto que representa o motor de passo
motor = MotorPasso(pDir=27, pStep=14, ppr=200)

# Configurar a direção do motor (1 para um lado, 0 para o outro)
motor.direcao(1)

# Rodar o motor 360 graus
motor.revolucao()

sleep_ms(1000)

# Configurar a direção do motor (1 para um lado, 0 para o outro)
motor.direcao(0)

# Rodar o motor 360 graus
motor.angulo(90)

A4988