from machine import Pin
import time
pir = Pin(16, Pin.IN)
led = Pin(15, Pin.OUT)
# Lưu thời điểm cuối cùng phát hiện chuyển động
last_motion_time = None
# Thời gian chờ tắt đèn là 10 giây
timeout_ms = 10000
while True:
if pir.value() == 1:
# Có chuyển động thì bật LED
led.value(1)
# Cập nhật lại thời điểm cuối cùng còn có chuyển động
last_motion_time = time.ticks_ms()
else:
# Nếu đã từng phát hiện chuyển động trước đó
if last_motion_time is not None:
# Kiểm tra đã quá 10 giây chưa
if time.ticks_diff(time.ticks_ms(), last_motion_time) >= timeout_ms:
led.value(0)
else:
# Chưa có chuyển động lần nào thì LED tắt
led.value(0)
time.sleep_ms(50)