from machine import Pin
from utime import ticks_us,sleep_us,sleep
class Steppper_Motor:
def __init_(self,dir_pin,step_pin):
self.dire=Pin(dir_pin,Pin.OUT)
self.step=Pin(step_pin,Pin.OUT)
self.trig=Pin(trig_pin,Pin.OUT)
self.echo=Pin(echo_pin,Pin.IN)
def start_stepper(self,direction,step,delay):
self.dire.value(direction)
steps=abs(step)
for i in range (steps):
self.Step.value(1)
sleep_us(delay)
self.Step.value(0)
sleep_us(delay)
def distance(self):
self.trig.value(0)
sleep_us(2)
self.trig.value(1)
sleep_us(5)
self.trig.value(0)
while self.echo.value()==0:
signaloff=ticks_us()
while self.echo.value()==1:
signalon=ticks_us()
time=signalon-signaloff
dist=(time*0.03405)/2
print(dist)
while True:
stepper=Steppper_Motor(dir_pin=5,step_pin=18,trig_pin=33,echo_pin=25)
stepper.distance()
if(stepper.distance()<=200):
stepper.start_stepper(1,200,1000)
sleep(10)
stepper.start_stepper(0,200,1000)
sleep(10)
sleep(0.01)