import machine
import time
# Sensor Pins
trigger = machine.Pin(3, machine.Pin.OUT) # Blue wire
echo = machine.Pin(2, machine.Pin.IN) # Red wire
# Motor Pins
step_pin = machine.Pin(15, machine.Pin.OUT) # White wire
dir_pin = machine.Pin(14, machine.Pin.OUT) # Pink wire
def get_distance():
trigger.low()
time.sleep_us(2)
trigger.high()
time.sleep_us(10)
trigger.low()
while echo.value() == 0:
signaloff = time.ticks_us()
while echo.value() == 1:
signalon = time.ticks_us()
return ( (signalon - signaloff) * 0.0343) / 2
def move_motor():
dir_pin.high()
for _ in range(200): # One full spin
step_pin.high()
time.sleep_ms(2)
step_pin.low()
time.sleep_ms(2)
print("Starting Simulation...")
while True:
dist = get_distance()
if dist < 20: # If object is closer than 20cm
print("Object detected! Spinning motor...")
move_motor()
time.sleep(0.1)