from machine import Pin, PWM, time_pulse_us
import utime
servo = PWM(Pin(15), freq=50)
trig = Pin(5, Pin.OUT)
echo = Pin(18, Pin.IN)
led = Pin(14, Pin.OUT)
pir = Pin(13, Pin.IN)
def medir_distancia():
trig.value(0)
utime.sleep_us(2)
trig.value(1)
utime.sleep_us(10)
trig.value(0)
duracion = time_pulse_us(echo, 1, 40000)
if duracion < 0:
return 0
return (duracion * 0.0343) / 2
led = Pin(14, Pin.IN)
def mover_servo(angulo):
duty = int((angulo / 180 * 100) + 20)
servo.duty(duty)
print("Sistema Iniciado...")
while True:
distancia = medir_distancia()
movimiento = pir.value()
if distancia == 50:
Pin(14, Pin.on)
if movimiento == 1:
print("¡Movimiento detectado! Distancia:", distancia, "cm")
mover_servo(180)
else:
print("Todo tranquilo. Distancia:", distancia, "cm")
mover_servo(45)
utime.sleep(1)