카테고리 없음
[파이썬] PIR 모션 센서가 Raspberry Pi를 사용하여 감지하지 않는 경우 else-like 절
필살기쓰세요
2021. 2. 1. 09:12
나는 문제를 해결하고 누군가가 그것을 사용하고 싶을 때 게시 할 것이라고 생각했습니다. 코드가 상당히 많이 변경되었습니다. 여전히 매우 낮은 CPU를 사용합니다. 유일한 차이점은이 코드가 동작을 포착하는 데 더 효율적이지만 잘못된 판독 값이 더 높다는 것입니다. 이는 PIR 센서의 노브를 조정하여 해결할 수 있습니다. 위의 코드에도 동일한 개념을 적용 할 수 있습니다.
''' Import required stuff '''
import RPi.GPIO as GPIO #GPIO
import time #for delay
''' GPIO setup '''
GPIO.setmode(GPIO.BCM) #GPIO setmode
PIR_PIN_L = 23 #define left pin
PIR_PIN_R = 24 #define right pin
PIR_PIN_M = 25 #define middle pin
GPIO.setup(PIR_PIN_L, GPIO.IN) #set left pin
GPIO.setup(PIR_PIN_R, GPIO.IN) #set right pin
GPIO.setup(PIR_PIN_M, GPIO.IN) #set middle pin
'''Definitions '''
def MOTIONL(): #define motion on left
if GPIO.input(PIR_PIN_L)==1 : #trigger condtion left being active
print("Motion Detected on Left") #output
time.sleep(3)
def MOTIONR(): #define motion on right
if GPIO.input(PIR_PIN_R)==1 : #trigger condtion right being active
print("Motion Detected on Right") #output
time.sleep(3)
def MOTIONM(): #define motion in middle
if GPIO.input(PIR_PIN_M)==1 : #trigger condtion middle being active
print("Motion Detected on Middle") #output
time.sleep(3)
def NOMOTION() :
if GPIO.input(PIR_PIN_L)==0 and GPIO.input(PIR_PIN_R)==0 and GPIO.input(PIR_PIN_M)==0 :
#above trigger condition is no sensor being active
print("No Motion Detected") #output
time.sleep(3)
''' Initiation '''
print("PIR Module Test (CTRL+C to exit)")
time.sleep(4)
print("Ready")
''' Sensing '''
try:
while 1: #calls defined functions simulatanously
NOMOTION()
MOTIONR()
MOTIONL()
MOTIONM()
except KeyboardInterrupt: #CTRL and C will reset shell
print("Quit")
GPIO.cleanup()
print
명령은 당신이 전화를 원하는대로 기능을 대체 할 수 있습니다.
출처
https://stackoverflow.com/questions/39920019