from machine import Pin, PWM, time_pulse_us,
from time import sleep
button = Pin(6, Pin.IN, Pin.PULL_DOWN)
servo = PWM(Pin(11))
servo.freq(50)
trigger = Pin(21, Pin.OUT)
echo = Pin(20, Pin.IN)
def set_servo_angle(angle):
duty = int(1638 + (angle / 180) * (8192 - 1638))
servo.duty_u16(duty)
set_servo_angle(0)
def get_distance():
trigger.low()
sleep(0.002)
trigger.high()
sleep(0.00001)
trigger.low()
duration = time_pulse_us(echo, 1)
distance_cm = (duration * 0.0343) / 2
return distance_cm
while True:
if button.value()==1:
set_servo_angle(90)
sleep(5)
set_servo_angle(0)
if get_distance() < 50 :
set_servo_angle(90)
sleep(5)
set_servo_angle(0)
sleep(0.1)