from machine import Pin, ADC
from time import sleep, ticks_us, ticks_diff
from picozero import Speaker
switch = Pin(18, Pin.IN)
pot = ADC(27)
pir = Pin(15, Pin.OUT)
echo = Pin(12, Pin.IN)
trig = Pin(13, Pin.OUT)
buzzer = Speaker(16)
while True:
trig.low()
sleep(0.002)
trig.high()
sleep(0.00001)
trig.low()
while echo.value() == 0:
start = ticks_us()
while echo.value() == 1:
end = ticks_us()
duracao = ticks_diff(end, start)
distancia = (duracao * 0.0343) / 2
print(switch.value(), pot.read_u16(), pir.value(), distancia)
tempo = distancia ** 1.35 / 1000
if distancia < 100 and pir.value() == 1 and switch.value() == 1:
if tempo < 0.04:
buzzer.on()
else:
buzzer.on()
sleep(tempo)
buzzer.off()
sleep(tempo)
else:
buzzer.off()
sleep(1)Loading
pi-pico-w
pi-pico-w