from machine import Pin
from time import sleep
step_pin = Pin(15, Pin.OUT) # Connect to STEP pin on A4988
dir_pin = Pin(2, Pin.OUT) # Connect to DIR pin on A4988
enable_pin = Pin(4, Pin.OUT) # Optional: Connect to ENABLE pin
enable_pin.value(0) # Set ENABLE to LOW (active)
# Function to rotate the motor
def rotate_motor(steps, direction, delay=0.01):
dir_pin.value(direction) # Set rotation direction
for _ in range(steps):
step_pin.value(0) # Pulse the STEP pin
sleep(delay)
step_pin.value(1)
sleep(delay)
# Main program
while True:
print("Rotating clockwise")
rotate_motor(steps=20, direction=0, delay=0.01) # Rotate 200 steps CW
sleep(1)
print("Rotating counterclockwise")
rotate_motor(steps=20, direction=1, delay=0.001) # Rotate 200 steps CCW
sleep(1)
enable_pin.value(1) # Disable the motor