1234567891011121314151617181920212223242526272829303132333435 |
- #!/usr/bin/env python3
- import time
- from time import sleep
- import RPi.GPIO as GPIO
- pin_back = 19
- pin_front = 21
- GPIO.setmode(GPIO.BOARD)
- GPIO.setup(pin_back, GPIO.IN) # , pull_up_down=GPIO.PUD_DOWN)
- previous_state = None
- def my_callback(channel):
- global previous_state
- # time.sleep(0.2) # confirm the movement by waiting 1.5 sec
- pin_val = GPIO.input(pin_back)
- if pin_val != previous_state:
- previous_state = pin_val
- if pin_val: # and check again the input
- print("[ ] DOOR CLOSED !")
- else:
- print("[+] DOOR OPENED !")
- GPIO.add_event_detect(pin_back, GPIO.BOTH, callback=my_callback)
- # , bouncetime=500)
- # you can continue doing other stuff here
- while True:
- time.sleep(50000)
- pass
|