from machine import Pin
from utime import sleep, ticks_us, sleep_us
triger=Pin(25, Pin.OUT)
echo=Pin(33, Pin.IN)
def ultra():
triger.off()
sleep_us(2)
triger.on()
sleep_us(5)
triger.off()
while echo.value()==0:
signal_off=ticks_us()
while echo.value()==0:
signal_on=ticks_us()
try:
time_pass=signal_on - signal_off
except NameError:
return 0
return timepass/58
red_pin = Pin(23, Pin.OUT)
yellow_pin = Pin(22, Pin.OUT)
green_pin = Pin(21, Pin.OUT)
while True:
dist = ultra()
print(f'Distance: {dist:.1f}cm')
sleep(0.1)
if dist <=50:
red_pin.on()
yellow_pin.off()
red_pin.off()
elif dist <=100:
red_pin.off()
green_pin.off()
yellow_pin.on()
elif dist <=200:
yellow_pin.off()
red_pin.off()
green_pin.on()
else:
yellow_pin.off()
red_pin.off()
green_pin.off()