我試圖讓我的樹莓派使用紅外傳感器檢測動作,然後打開LED 5秒鐘,同時每隔0.5秒輪詢IR傳感器。這是到目前爲止我的代碼,但它等待LED再次檢查紅外傳感器之前關閉...Python:每秒運行一次循環並觸發5秒鐘功能
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
PIR_PIN = 18
GPIO.setup(PIR_PIN, GPIO.IN)
LED_PIN = 17
GPIO.setup(LED_PIN, GPIO.OUT)
def light():
GPIO.output(LED_PIN, GPIO.input(PIR_PIN))
time.sleep(5)
GPIO.output(LED_PIN, False)
try:
while True:
if GPIO.input(PIR_PIN):
print("Motion Detected!")
light()
time.sleep(0.5)
except KeyboardInterrupt:
GPIO.cleanup()
使用多線程 – Benjamin