Interrupts
This commit is contained in:
@@ -0,0 +1,40 @@
|
|||||||
|
import RPi.GPIO as GPIO
|
||||||
|
from time import gmtime, strftime
|
||||||
|
|
||||||
|
GPIO.setmode(GPIO.BCM)
|
||||||
|
|
||||||
|
# Buttons on PINs 9, 10 and 11
|
||||||
|
GPIO.setup(9, GPIO.IN, pull_up_down=GPIO.PUD_UP)
|
||||||
|
GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_UP)
|
||||||
|
GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP)
|
||||||
|
|
||||||
|
#sensor on PIN 17
|
||||||
|
GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
|
||||||
|
|
||||||
|
def btn1_callback(channel):
|
||||||
|
print("falling edge detected on 9")
|
||||||
|
|
||||||
|
def btn2_callback(channel):
|
||||||
|
print("falling edge detected on 10")
|
||||||
|
|
||||||
|
def btn3_callback(channel):
|
||||||
|
print("falling edge detected on 11")
|
||||||
|
|
||||||
|
|
||||||
|
print(strftime("%Y-%m-%d %H:%M:%S", gmtime()))
|
||||||
|
|
||||||
|
GPIO.add_event_detect(9, GPIO.FALLING, callback=btn1_callback, bouncetime=300)
|
||||||
|
GPIO.add_event_detect(10, GPIO.FALLING, callback=btn2_callback, bouncetime=300)
|
||||||
|
GPIO.add_event_detect(11, GPIO.FALLING, callback=btn3_callback, bouncetime=300)
|
||||||
|
|
||||||
|
try:
|
||||||
|
GPIO.wait_for_edge(17, GPIO.RISING)
|
||||||
|
print('Edge detected on channel 17')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print("Keyboard Interrupt")
|
||||||
|
finally:
|
||||||
|
GPIO.cleanup()
|
||||||
|
print("Cleaned up pins")
|
||||||
Binary file not shown.
Reference in New Issue
Block a user