from machine import *
from time import *
# Pin allocation
trig = Pin(8, Pin.OUT) # TRIG on GP8
echo = Pin(7, Pin.IN) # ECHO on GP7
buzzer = PWM(Pin(19)) # Buzzer on GP19
led = Pin(0, Pin.OUT) # LED on GP0
buzzer.freq(1000)
while True:
# Create trigger pulse
trig.value(0)
sleep_us(2)
trig.value(1)
sleep_us(10)
trig.value(0)
# Measure echo time
duration = time_pulse_us(echo, 1)
# Convert time to distance in cm
distance = (duration * 0.0343) / 2
# Print result
print("duration =", duration, "distance =", distance, "cm")
if distance <= 50:
print("Danger - Buzzer ON")
buzzer.duty_u16(20000)
led.value(0)
elif distance >= 51 and distance <= 100:
print("Warning - LED ON")
buzzer.duty_u16(0)
led.value(1)
else:
print("Safe")
buzzer.duty_u16(0)
led.value(0)
sleep(0.5)Manual Copy