ラズベリーパイにIRセンサーを使用して動きを検出させようとしていて、0.5秒ごとにIRセンサーをポーリングしながら5秒間LEDをオンにします。ここでは...まさにあなたのコードに基づいて正しい動作ですPython:1秒ごとにループを実行し、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