from machine import Pin, PWM
import utime
TRIG = Pin(3, Pin.OUT)
ECHO = Pin(2, Pin.IN)
led = PWM(Pin(15))
led.freq(1000)
def get_distance():
TRIG.low()
utime.sleep_us(2)
TRIG.high()
utime.sleep_us(10)
TRIG.low()
signal_off = utime.ticks_us() # Initialize to avoid errors
signal_on = utime.ticks_us()
while ECHO.value() == 0:
signal_off = utime.ticks_us()
while ECHO.value() == 1:
signal_on = utime.ticks_us()
time_passed = signal_on - signal_off
distance = (time_passed * 0.0343) / 2 # Convert to cm
return distance
while True:
dist = get_distance()
print("Distance:", dist, "cm")
if dist > 100:
brightness = 0
else:
brightness = int((1 - (dist / 100)) * 65535)
led.duty_u16(brightness)
utime.sleep(0.1)