# from machine import Pin, PWM
# import time
# TRIG_PIN = 26
# ECHO_PIN = 25
# LED_PIN = 18
# trigger = Pin(TRIG_PIN, Pin.OUT)
# echo = Pin(ECHO_PIN, Pin.IN)
# led = PWM(Pin(LED_PIN))
# def get_distance():
# trigger.value(1)
# time.sleep_us(10)
# trigger.value(0)
# while echo.value() == 0:
# pass
# start = time.ticks_us()
# while echo.value() == 1:
# pass
# end = time.ticks_us()
# distance = ((end - start) / 2) / 29.1
# return distance
# while True:
# distance = get_distance()
# print('Distance:', distance, 'cm')
# if distance < 50:
# led.duty(1023)
# elif distance < 100:
# led.duty(int(1023 * 0.8))
# elif distance < 180:
# led.duty(int(1023 * 0.5))
# elif distance < 200:
# led.duty(int(1023 * 0.2))
# else:
# led.duty(0)
# time.sleep(0.1)
from machine import Pin, PWM
import time
TRIG_PIN = 26
ECHO_PIN = 25
LED_PIN = 18
trigger = Pin(TRIG_PIN, Pin.OUT)
echo = Pin(ECHO_PIN, Pin.IN)
led = PWM(Pin(LED_PIN))
def get_distance():
trigger.value(1)
time.sleep_us(10)
trigger.value(0)
while echo.value() == 0:
pass
start = time.ticks_us()
while echo.value() == 1:
pass
end = time.ticks_us()
distance = ((end - start) / 2) / 29.1
return distance
while True:
distance = get_distance()
print('Distance:', distance, 'cm')
brightness = int((200 - min(distance, 200)) / 200 * 1023)
led.duty(brightness)