from machine import Pin, PWM
import time
trig = Pin(5, Pin.OUT)
echo = Pin(18, Pin.IN)
servo = PWM(Pin(13), freq=50)
def set_angle(angle):
duty = int(26 + (angle / 180.0) * 97)
servo.duty(duty)
def get_distance():
trig.value(0)
time.sleep_us(2)
trig.value(1)
time.sleep_us(10)
trig.value(0)
signaloff = 0
signalon = 0
while echo.value() == 0:
signaloff = time.ticks_us()
while echo.value() == 1:
signalon = time.ticks_us()
time_passed = time.ticks_diff(signalon, signaloff)
distance = (time_passed * 0.0343) / 2
return distance
set_angle(0)
while True:
dist = get_distance()
if dist < 50:
print("Person Detected at Gate!")
set_angle(90)
time.sleep(3)
set_angle(0)
time.sleep(1)
time.sleep(0.1)