from machine import Pin, ADC, PWM
import time
trigger = Pin(16, Pin.OUT)
echo = Pin(17, Pin.IN)
ldr = ADC(26)
red_led = Pin(14, Pin.OUT)
green_led = Pin(15, Pin.OUT)
buzzer = PWM(Pin(13))
buzzer.freq(1000)
INTRUDER_DISTANCE = 50
DARK_THRESHOLD = 30000
def measure_distance():
trigger.low()
time.sleep_us(2)
trigger.high()
time.sleep_us(10)
trigger.low()
while echo.value() == 0:
start = time.ticks_us()
while echo.value() == 1:
end = time.ticks_us()
duration = time.ticks_diff(end, start)
distance = (duration * 0.0343) / 2
return distance
print("Security System Initialized")
print("---------------------------")
while True:
distance = measure_distance()
light_value = ldr.read_u16()
print(f"Distance: {distance:.1f} cm | LDR: {light_value}")
if distance < INTRUDER_DISTANCE:
print("🚨 INTRUDER DETECTED!")
red_led.value(1)
green_led.value(0)
buzzer.duty_u16(30000)
else:
red_led.value(0)
buzzer.duty_u16(0)
if light_value > DARK_THRESHOLD:
print("🌙 Night Watch Mode")
green_led.toggle()
time.sleep(0.5)
else:
print("☀️ Day Safe Mode")
green_led.value(1)
time.sleep(0.5)