GPIO pins working

This commit is contained in:
9and3r
2014-08-08 14:48:25 +02:00
parent ef93f342aa
commit 4abfb1e697
4 changed files with 33 additions and 17 deletions

View File

@@ -7,32 +7,28 @@ logger = logging.getLogger(__name__)
class GPIOManager():
def __init__(self):
def __init__(self, pins):
GPIO.setmode(GPIO.BCM)
# Left Button
GPIO.setup(4, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(4, GPIO.BOTH, callback=left, bouncetime=30)
GPIO.setup(pins['left'], GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(pins['left'], GPIO.BOTH, callback=left, bouncetime=30)
# Right Button
GPIO.setup(21, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(21, GPIO.BOTH, callback=right, bouncetime=30)
GPIO.setup(pins['right'], GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(pins['right'], GPIO.BOTH, callback=right, bouncetime=30)
# Up Button
GPIO.setup(22, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(22, GPIO.BOTH, callback=up, bouncetime=30)
GPIO.setup(pins['up'], GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(pins['up'], GPIO.BOTH, callback=up, bouncetime=30)
# Down Button
GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(23, GPIO.BOTH, callback=right, bouncetime=30)
GPIO.setup(pins['down'], GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(pins['down'], GPIO.BOTH, callback=right, bouncetime=30)
# Enter Button
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(24, GPIO.BOTH, callback=right, bouncetime=30)
GPIO.setup(pins['enter'], GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.add_event_detect(pins['enter'], GPIO.BOTH, callback=right, bouncetime=30)
def right(channel):
@@ -45,6 +41,7 @@ def right(channel):
event = pygame.event.Event(type, dict)
pygame.event.post(event)
def left(channel):
dict = {}
if GPIO.input(channel) == 1:
@@ -55,6 +52,7 @@ def left(channel):
event = pygame.event.Event(type, dict)
pygame.event.post(event)
def down(channel):
dict = {}
if GPIO.input(channel) == 1:
@@ -65,6 +63,7 @@ def down(channel):
event = pygame.event.Event(type, dict)
pygame.event.post(event)
def up(channel):
dict = {}
if GPIO.input(channel) == 1:
@@ -75,6 +74,7 @@ def up(channel):
event = pygame.event.Event(type, dict)
pygame.event.post(event)
def enter(channel):
dict = {}
if GPIO.input(channel) == 1: