Switched from poling to interrupts

This commit is contained in:
John Shaver 2018-04-04 14:40:10 -07:00
parent ad49985a12
commit 0ac94b5b31
1 changed files with 27 additions and 14 deletions

41
main.py
View File

@ -3,19 +3,32 @@
import RPi.GPIO as GPIO import RPi.GPIO as GPIO
import time import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP) def buttonEventHandler(value):
GPIO.setup(24, GPIO.OUT) print "buton event!"
if value is 0:
GPIO.output(24, True)
print('Button Pressed...')
else:
GPIO.output(24, False)
print('Button Released...')
try: def main():
while True: print "Let's do this!"
button_state = GPIO.input(23)
if button_state == False: GPIO.setmode(GPIO.BCM)
GPIO.output(24, True)
print('Button Pressed...') GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
time.sleep(0.2) GPIO.setup(24, GPIO.OUT)
else: #GPIO.add_event_detect(23, GPIO.FALLING)
GPIO.output(24, False) #GPIO.add_event_callback(23, buttonEventHandler)
except: try:
GPIO.cleanup() while True:
GPIO.wait_for_edge(23, GPIO.BOTH)
buttonEventHandler(GPIO.input(23))
except KeyboardInterrupt as e:
GPIO.cleanup()
raise
if __name__== "__main__":
main()