Browse Source

Upload files to ''

Yang Zhang 4 years ago
parent
commit
1acad985b5
1 changed files with 70 additions and 0 deletions
  1. 70 0
      alle.py

+ 70 - 0
alle.py

@@ -0,0 +1,70 @@
+import time
+import multiprocessing
+import Adafruit_BBIO.GPIO as GPIO
+import Adafruit_BBIO.PWM as PWM
+
+inPinIR = "P9_12"
+inPinPIR = "P9_23"
+inPinMAG = "P8_7"
+myPWMLAUT = "P8_13"
+outPinROT = "P9_27"
+GPIO.setup(inPinIR, GPIO.IN)
+GPIO.setup(inPinPIR, GPIO.IN)
+GPIO.setup(inPinMAG, GPIO.IN)
+GPIO.setup(outPinROT, GPIO.OUT)
+GPIO.add_event_detect(inPinIR,GPIO.RISING)
+GPIO.add_event_detect(inPinPIR,GPIO.RISING)
+GPIO.add_event_detect(inPinMAG,GPIO.BOTH)
+
+a=1
+
+try:
+    time.sleep(2)
+    while True:
+        if GPIO.event_detected(inPinIR):
+            print("Motion detected from IR Sensor...")
+            for i in range(0,60):
+                PWM.start(myPWMLAUT, 50, 10000)
+                GPIO.output(outPinROT,GPIO.HIGH)
+                time.sleep(0.5)
+                GPIO.output(outPinROT,GPIO.LOW)
+                time.sleep(0.5)
+                PWM.stop(myPWMLAUT)
+            time.sleep(2)
+
+        if GPIO.event_detected(inPinPIR):
+            print("Motion detected from PIR Sensor...")
+            for i in range(0,60):
+                PWM.start(myPWMLAUT, 50, 10000)
+                GPIO.output(outPinROT,GPIO.HIGH)
+                time.sleep(0.5)
+                GPIO.output(outPinROT,GPIO.LOW)
+                time.sleep(0.5)
+                PWM.stop(myPWMLAUT)
+            time.sleep(2)
+
+        if GPIO.event_detected(inPinMAG):
+            if a==0:
+                print("Fenster ist zu---")
+                a=1
+                time.sleep(2)
+                continue
+            if a==1:
+                print("Fenster ist geoeffnet...")
+                a=0
+                print("Motion detected from Magnet Sensor...")
+                for i in range(0,60):
+                    PWM.start(myPWMLAUT, 50, 10000)
+                    GPIO.output(outPinROT,GPIO.HIGH)
+                    time.sleep(0.5)
+                    GPIO.output(outPinROT,GPIO.LOW)
+                    time.sleep(0.5)
+                    PWM.stop(myPWMLAUT)
+                time.sleep(2)
+                continue
+        else:
+            print("...")
+            time.sleep(2)
+except:
+    GPIO.cleanup()
+    PWM.cleanup()