|
1 | | -import RPi.GPIO as GPIO |
2 | 1 | import time |
| 2 | +import board |
| 3 | +from digitalio import DigitalInOut, Direction |
| 4 | + |
| 5 | +# set the GPIO input pins |
| 6 | +pad0_pin = board.D22 |
| 7 | +pad1_pin = board.D21 |
| 8 | +pad2_pin = board.D17 |
| 9 | +pad3_pin = board.D24 |
| 10 | +pad4_pin = board.D23 |
| 11 | + |
| 12 | +pad0 = DigitalInOut(pad0_pin) |
| 13 | +pad1 = DigitalInOut(pad1_pin) |
| 14 | +pad2 = DigitalInOut(pad2_pin) |
| 15 | +pad3 = DigitalInOut(pad3_pin) |
| 16 | +pad4 = DigitalInOut(pad4_pin) |
| 17 | + |
| 18 | +pad0.direction = Direction.INPUT |
| 19 | +pad1.direction = Direction.INPUT |
| 20 | +pad2.direction = Direction.INPUT |
| 21 | +pad3.direction = Direction.INPUT |
| 22 | +pad4.direction = Direction.INPUT |
| 23 | + |
| 24 | +pad0_already_pressed = True |
| 25 | +pad1_already_pressed = True |
| 26 | +pad2_already_pressed = True |
| 27 | +pad3_already_pressed = True |
| 28 | +pad4_already_pressed = True |
3 | 29 |
|
4 | | -GPIO.setmode(GPIO.BCM) |
| 30 | +while True: |
5 | 31 |
|
6 | | -#set the GPIO input pins |
7 | | -pad0 = 22 |
8 | | -pad1 = 27 |
9 | | -pad2 = 17 |
10 | | -pad3 = 24 |
11 | | -pad4 = 23 |
| 32 | + if pad0.value and not pad0_already_pressed: |
| 33 | + print("Pad 0 pressed") |
| 34 | + pad0_already_pressed = pad0.value |
12 | 35 |
|
13 | | -GPIO.setup(pad0, GPIO.IN) |
14 | | -GPIO.setup(pad1, GPIO.IN) |
15 | | -GPIO.setup(pad2, GPIO.IN) |
16 | | -GPIO.setup(pad3, GPIO.IN) |
17 | | -GPIO.setup(pad4, GPIO.IN) |
| 36 | + if pad1.value and not pad1_already_pressed: |
| 37 | + print("Pad 1 pressed") |
| 38 | + pad1_already_pressed = pad1.value |
18 | 39 |
|
19 | | -pad0alreadyPressed = False |
20 | | -pad1alreadyPressed = False |
21 | | -pad2alreadyPressed = False |
22 | | -pad3alreadyPressed = False |
23 | | -pad4alreadyPressed = False |
| 40 | + if pad2.value and not pad2_already_pressed: |
| 41 | + print("Pad 2 pressed") |
| 42 | + pad2_already_pressed = pad2.value |
24 | 43 |
|
| 44 | + if pad3.value and not pad3_already_pressed: |
| 45 | + print("Pad 3 pressed") |
| 46 | + pad3_already_pressed = pad3.value |
25 | 47 |
|
26 | | -while True: |
27 | | - pad0pressed = not GPIO.input(pad0) |
28 | | - pad1pressed = not GPIO.input(pad1) |
29 | | - pad2pressed = not GPIO.input(pad2) |
30 | | - pad3pressed = not GPIO.input(pad3) |
31 | | - pad4pressed = not GPIO.input(pad4) |
32 | | - |
33 | | - if pad0pressed and not pad0alreadyPressed: |
34 | | - print "Pad 0 pressed" |
35 | | - pad0alreadyPressed = pad0pressed |
36 | | - |
37 | | - if pad1pressed and not pad1alreadyPressed: |
38 | | - print "Pad 1 pressed" |
39 | | - pad1alreadyPressed = pad1pressed |
40 | | - |
41 | | - if pad2pressed and not pad2alreadyPressed: |
42 | | - print "Pad 2 pressed" |
43 | | - pad2alreadyPressed = pad2pressed |
44 | | - |
45 | | - if pad3pressed and not pad3alreadyPressed: |
46 | | - print "Pad 3 pressed" |
47 | | - pad3alreadyPressed = pad3pressed |
48 | | - |
49 | | - if pad4pressed and not pad4alreadyPressed: |
50 | | - print "Pad 4 pressed" |
51 | | - pad4alreadyPressed = pad4pressed |
| 48 | + if pad4.value and not pad4_already_pressed: |
| 49 | + print("Pad 4 pressed") |
| 50 | + pad4_already_pressed = pad4.value |
52 | 51 |
|
53 | 52 | time.sleep(0.1) |
0 commit comments