Explorar o código

'alarm_with_callback_ohne_Tast.py' löschen

Yang Zhang %!s(int64=5) %!d(string=hai) anos
pai
achega
e67a5e675f
Modificáronse 1 ficheiros con 0 adicións e 156 borrados
  1. 0 156
      alarm_with_callback_ohne_Tast.py

+ 0 - 156
alarm_with_callback_ohne_Tast.py

@@ -1,156 +0,0 @@
-import time
-import Adafruit_BBIO.GPIO as GPIO
-import Adafruit_BBIO.PWM as PWM
-
-
-
-class IR:
-    _name = ""
-    _pin = ""
-    _mode = GPIO.IN
-    _rot = None
-    _laut = None
-    def __init__(self, name, pin, rot, laut):
-        self._name = name
-        self._pin = pin
-        self._rot = rot
-        self._laut = laut
-        GPIO.setup(self._pin, self._mode)
-        GPIO.add_event_detect(self._pin, GPIO.RISING, callback=self.cb_ir)
-    
-    def __del__(self):
-        print("IR {} deleted.".format(self._name))
-        GPIO.remove_event_detect(self._pin)
-
-    def cb_ir(self, pin):
-        print("cb_ir called")
-        for i in range(self._laut._duration * self._rot._blink_freq):
-            self._laut.start()
-            self._rot.start()
-            time.sleep(1/self._rot._blink_freq)
-            self._rot.stop()
-            self._laut.stop()
-
-class PIR:
-    _name = ""
-    _pin = ""
-    _mode = GPIO.IN
-    _rot = None
-    _laut = None
-    def __init__(self, name, pin, rot, laut):
-        self._name = name
-        self._pin = pin
-        self._rot = rot
-        self._laut = laut
-        GPIO.setup(self._pin, self._mode)
-        GPIO.add_event_detect(self._pin, GPIO.RISING, callback=self.cb_pir)
-    
-    def __del__(self):
-        print("PIR {} deleted.".format(self._name))
-        GPIO.remove_event_detect(self._pin)
-
-    def cb_pir(self, pin):
-        print("cb_pir called")
-        for i in range(self._laut._duration * self._rot._blink_freq):
-            self._laut.start()
-            self._rot.start()
-            time.sleep(1/self._rot._blink_freq)
-            self._rot.stop()
-            self._laut.stop()
-        
-class MAG:
-    _name = ""
-    _pin = ""
-    _mode = GPIO.IN
-    _window_closed = True
-    _rot = None
-    _laut = None
-    def __init__(self, name, pin, rot, laut):
-        self._name = name
-        self._pin = pin
-        self._rot = rot
-        self._laut = laut
-        GPIO.setup(self._pin, self._mode)
-        GPIO.add_event_detect(self._pin, GPIO.BOTH, callback=self.cb_mag)
-    
-    def __del__(self):
-        print("MAG {} deleted.".format(self._name))
-        GPIO.remove_event_detect(self._pin)
-
-    def cb_mag(self, pin):
-        if self._window_closed:
-            print("Fenster geoeffnet...")
-            self._window_closed = False
-            for i in range(self._laut._duration * self._rot._blink_freq):
-                self._laut.start()
-                self._rot.start()
-                time.sleep(1/self._rot._blink_freq)
-                self._rot.stop()
-                self._laut.stop()
-        else:
-            print("Fenster zu...")
-            self._window_closed = True
-
-class ROT:
-    _name = ""
-    _pin = ""
-    _mode = GPIO.OUT
-    _blink_freq = 2
-    def __init__(self, name, pin, blink_freq=2):
-        self._name = name
-        self._pin = pin
-        self._blink_freq = blink_freq
-        GPIO.setup(self._pin, self._mode)
-    
-    def __del__(self):
-        print("ROT {} deleted.".format(self._name))
-
-    def start(self):
-        GPIO.output(self._pin, GPIO.HIGH)
-    
-    def stop(self):
-        GPIO.output(self._pin, GPIO.LOW)
-
-class LAUT:
-    _name = ""
-    _pin = ""
-    _mode = GPIO.OUT
-    _duration = 60 # in second
-    _pwm_perc = 50 # in percentage
-    _pwm_freq = 10000 # in hz
-    def __init__(self, name, pin, duration=60, pwm_perc=50, pwm_freq=10000):
-        self._name = name
-        self._pin = pin
-        self._duration = duration
-        self._pwm_perc = pwm_perc
-        self._pwn_freq = pwm_freq
-        GPIO.setup(self._pin, self._mode)
-    
-    def __del__(self):
-        print("PWM {} deleted.".format(self._name))
-
-    def start(self):
-        PWM.start(self._pin, self._pwm_perc, self._pwm_freq)
-    
-    def stop(self):
-        PWM.stop(self._pin)
-
-if __name__ == "__main__":
-    try:
-        print("Program start. Initializing with alarm config...")
-        rot = ROT("outPinROT", "P9_27")
-        laut = LAUT("myPWMLAUT", "P8_13", duration=4)
-        ir = IR("inPinIR", "P9_12", rot, laut)
-        pir = PIR("inPinPIR", "P9_41", rot, laut)
-        mag = MAG("inPinMAG", "P8_7", rot, laut)
-
-        print("Initialization succeeded. Start in 2 seconds.")
-        time.sleep(2)
-        while True:
-            print("...")
-            time.sleep(2)
-    except Exception as e:
-        print("Exception captured. Clean up and quit...")
-        GPIO.cleanup()
-        PWM.cleanup()
-        print(e)