from machine import Pin, PWM
import time
trig = Pin(3, Pin.OUT)
echo = Pin(2, Pin.IN)
led = Pin(15, Pin.OUT)
buzzer = PWM(Pin(14))
buzzer.duty_u16(0)
def get_distance():
trig.low()
time.sleep_us(2)
trig.high()
time.sleep_us(10)
trig.low()
while echo.value() == 0:
start = time.ticks_us()
while echo.value() == 1:
end = time.ticks_us()
duration = time.ticks_diff(end, start)
distance = (duration * 0.0343) / 2
return distance
while True:
dist = get_distance()
# LED condition (<10 cm)
if dist < 10:
led.value(1)
else:
led.value(0)
# Buzzer condition (<50 cm)
if dist < 50:
buzzer.freq(100)
buzzer.duty_u16(30000)
else:
buzzer.duty_u16(0)
time.sleep(0.1)