from machine import Pin, time_pulse_us
import utime
# Define GPIO pins
TRIG = Pin(3, Pin.OUT)
ECHO = Pin(2, Pin.IN)
def measure_distance():
TRIG.low()
utime.sleep_us(2)
TRIG.high()
utime.sleep_us(10)
TRIG.low()
pulse_duration = time_pulse_us(ECHO, 1, 30000) # Max timeout 30ms
if pulse_duration < 0:
return None # No echo detected
distance_cm = (pulse_duration * 0.0343) / 2 # Convert to cm
return distance_cm
while True:
distance = measure_distance()
if distance is not None:
print("Distance:", round(distance, 2), "cm")
else:
print("Out of range")
utime.sleep(1) # Wait before next reading