from machine import Pin
import time
# HC-SR04 pins
TRIG = Pin(3, Pin.OUT)
ECHO = Pin(2, Pin.IN)
# Buzzer
BUZZER = Pin(15, Pin.OUT)
def measure_distance():
# Make sure trigger is LOW
TRIG.value(0)
time.sleep_us(2)
# Send 10 us trigger pulse
TRIG.value(1)
time.sleep_us(10)
TRIG.value(0)
# Measure echo pulse
duration = time.ticks_us()
while ECHO.value() == 0:
duration = time.ticks_us()
start = duration
while ECHO.value() == 1:
duration = time.ticks_us()
end = duration
# Calculate distance in cm
pulse_time = time.ticks_diff(end, start)
distance = (pulse_time * 0.0343) / 2
return distance
while True:
distance = measure_distance()
print("Distance:", round(distance, 2), "cm")
if distance <= 100:
BUZZER.value(1)
else:
BUZZER.value(0)
time.sleep(0.2)