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)
pico:GP0
pico:GP1
pico:GND.1
pico:GP2
pico:GP3
pico:GP4
pico:GP5
pico:GND.2
pico:GP6
pico:GP7
pico:GP8
pico:GP9
pico:GND.3
pico:GP10
pico:GP11
pico:GP12
pico:GP13
pico:GND.4
pico:GP14
pico:GP15
pico:GP16
pico:GP17
pico:GND.5
pico:GP18
pico:GP19
pico:GP20
pico:GP21
pico:GND.6
pico:GP22
pico:RUN
pico:GP26
pico:GP27
pico:GND.7
pico:GP28
pico:ADC_VREF
pico:3V3
pico:3V3_EN
pico:GND.8
pico:VSYS
pico:VBUS
ultrasonic1:VCC
ultrasonic1:TRIG
ultrasonic1:ECHO
ultrasonic1:GND
led1:A
led1:C
r1:1
r1:2