Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import RPi.GPIO as GPIO
- import os
- import time
- import sys
- # PIR pin
- REL_GPIO = 21
- PIR_GPIO = 16
- # Display timeout in seconds
- TIMEOUT = 350
- # DONT EDIT BELOW THIS LINE
- # UNLESS YOU KNOW WHAT YOU ARE DOING
- GPIO.setmode(GPIO.BOARD)
- GPIO.setup(PIR_GPIO, GPIO.IN)
- GPIO.setup(REL_GPIO, GPIO.IN)
- timer = 0
- display = False
- relais = 0
- def set_display(enable,an=0):
- global display
- display = enable
- relais=an
- os.system("sudo gpio -g write 21 " + "an")
- os.system("sudo vcgencmd display_power " + str(int(enable)))
- def check_timeout():
- print("timed")
- if timer >= TIMEOUT and display:
- set_display(False)
- os.system("sudo gpio -g write 21 1")
- elif not display and timer < TIMEOUT:
- set_display(True)
- os.system("sudo gpio -g write 21 0")
- def motion(pin):
- global timer
- timer = 0
- if __name__ == "__main__":
- try:
- GPIO.add_event_detect(PIR_GPIO, GPIO.RISING, callback=motion)
- while True:
- time.sleep(1)
- if timer < TIMEOUT:
- timer += 1
- check_timeout()
- except KeyboardInterrupt:
- GPIO.cleanup()
- sys.exit(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement