import machine
import time
sensor_trig = machine.Pin(5, machine.Pin.OUT)
sensor_echo = machine.Pin(18, machine.Pin.IN)
buzzer = machine.PWM(machine.Pin(2))
buzzer.duty(0)
boton_encendido = machine.Pin(4, machine.Pin.IN, machine.Pin.PULL_UP)
ultimo_valor_distancia = -1
sistema_activo = True
def medir_distancia():
sensor_trig.value(0)
time.sleep_us(5)
sensor_trig.value(1)
time.sleep_us(10)
sensor_trig.value(0)
duracion = machine.time_pulse_us(sensor_echo, 1, 30000)
distancia = (duracion / 2) / 29.1
return int(distancia)
while True:
if boton_encendido.value() == 0:
sistema_activo = not sistema_activo
time.sleep(0.5)
if sistema_activo:
distancia = medir_distancia()
if 40 < distancia < 60:
buzzer.freq(1000); buzzer.duty(512); time.sleep(0.5); buzzer.duty(0); time.sleep(0.5)
elif 20 <= distancia <= 40:
buzzer.freq(1500); buzzer.duty(512); time.sleep(0.2); buzzer.duty(0); time.sleep(0.2)
elif 0 < distancia < 20:
buzzer.freq(2000); buzzer.duty(512)
else:
buzzer.duty(0)
time.sleep(0.1)