from machine import Pin,time_pulse_us,PWM
import time
trig=Pin(3,Pin.OUT)
echo=Pin(2,Pin.IN)
servo=PWM(Pin(15))
servo.freq(50)
def set_angle(angle):
duty=int(1000+(angle/180)*8000)
servo.duty_u16(duty)
def distance():
trig.low()
time.sleep_us(2)
trig.high()
time.sleep_us(10)
trig.low()
duration=time_pulse_us(echo,1)
distance=(duration*0.0343)/2
return distance
def center():
set_angle(90)
time.sleep(1)
def left_turn():
set_angle(150)
time.sleep(2)
def right_turn():
set_angle(30)
time.sleep(2)
while True:
center()
print("Motor Stopped")
front_distance=int(distance())
print("Front Distance:",front_distance)
if front_distance<10:
left_turn()
left_dist=int(distance())
print("Left Distance:",left_dist)
time.sleep(0.5)
right_turn()
right_dist=int(distance())
print("Right Distance:",right_dist)
time.sleep(0.5)
if left_dist>right_dist:
print("Move Left")
elif right_dist>left_dist:
print("Move Right")
time.sleep(0.5)