Files
piplayer/code/test/buttons-callback.py
T
2020-05-17 17:10:25 +02:00

43 lines
939 B
Python

import RPi.GPIO as GPIO
import time
from threading import Thread
# Buttons on PINs 9, 10 and 11
PIN_PREV = 10
PIN_PLAY = 9
PIN_NEXT = 11
GPIO.setmode(GPIO.BCM)
GPIO.setup(PIN_PREV, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(PIN_PLAY, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(PIN_NEXT, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def prev_callback(channel):
print('Button 1 (PREV)')
def play_callback(channel):
print('Button 2 (PLAY/PAUSE)')
def next_callback(channel):
print('Button 3 (NEXT)')
GPIO.add_event_detect(PIN_PREV, GPIO.RISING, callback=prev_callback, bouncetime=200)
GPIO.add_event_detect(PIN_PLAY, GPIO.RISING, callback=play_callback, bouncetime=200)
GPIO.add_event_detect(PIN_NEXT, GPIO.RISING, callback=next_callback, bouncetime=200)
try:
while True:
time.sleep(0.01)
# Exit when Ctrl-C is pressed
except KeyboardInterrupt:
print('Shutdown')
finally:
GPIO.cleanup()