|
@@ -1,91 +0,0 @@
|
|
-import Adafruit_BBIO.GPIO as GPIO
|
|
|
|
-import time
|
|
|
|
-import sys
|
|
|
|
-
|
|
|
|
-KEYPAD = [
|
|
|
|
- ["1","2","3"],
|
|
|
|
- ["4","5","6"],
|
|
|
|
- ["7","8","9"],
|
|
|
|
- ["*","0","#"]
|
|
|
|
-]
|
|
|
|
-
|
|
|
|
-ROW = ["P8_8", "P8_10", "P8_12", "P8_14"]
|
|
|
|
-COLUMN = ["P8_16", "P8_17", "P8_18"]
|
|
|
|
-
|
|
|
|
-pin_r1 = "P8_8"
|
|
|
|
-pin_r2 = "P8_10"
|
|
|
|
-pin_r3 = "P8_12"
|
|
|
|
-pin_r4 = "P8_14"
|
|
|
|
-
|
|
|
|
-pin_c1 = "P8_16"
|
|
|
|
-pin_c2 = "P8_17"
|
|
|
|
-pin_c3 = "P8_18"
|
|
|
|
-
|
|
|
|
-GPIO.setup(pin_r1, GPIO.OUT)
|
|
|
|
-GPIO.setup(pin_r2, GPIO.OUT)
|
|
|
|
-GPIO.setup(pin_r3, GPIO.OUT)
|
|
|
|
-GPIO.setup(pin_r4, GPIO.OUT)
|
|
|
|
-GPIO.setup(pin_c1, GPIO.IN)
|
|
|
|
-GPIO.setup(pin_c2, GPIO.IN)
|
|
|
|
-GPIO.setup(pin_c3, GPIO.IN)
|
|
|
|
-
|
|
|
|
-def cb_keypressed(pin):
|
|
|
|
- col = COLUMN.index(pin)
|
|
|
|
- key = None
|
|
|
|
-
|
|
|
|
- # GPIO.output(pin_r1, GPIO.HIGH)
|
|
|
|
- GPIO.output(pin_r2, GPIO.LOW)
|
|
|
|
- GPIO.output(pin_r3, GPIO.LOW)
|
|
|
|
- GPIO.output(pin_r4, GPIO.LOW)
|
|
|
|
- if GPIO.input(pin):
|
|
|
|
- key=KEYPAD[0][col]
|
|
|
|
-
|
|
|
|
- GPIO.output(pin_r1, GPIO.LOW)
|
|
|
|
- GPIO.output(pin_r2, GPIO.HIGH)
|
|
|
|
- # GPIO.output(pin_r3, GPIO.LOW)
|
|
|
|
- # GPIO.output(pin_r4, GPIO.LOW)
|
|
|
|
- if GPIO.input(pin):
|
|
|
|
- key=KEYPAD[1][col]
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- # GPIO.output(pin_r1, GPIO.LOW)
|
|
|
|
- GPIO.output(pin_r2, GPIO.LOW)
|
|
|
|
- GPIO.output(pin_r3, GPIO.HIGH)
|
|
|
|
- # GPIO.output(pin_r4, GPIO.LOW)
|
|
|
|
- if GPIO.input(pin):
|
|
|
|
- key=KEYPAD[2][col]
|
|
|
|
-
|
|
|
|
- # GPIO.output(pin_r1, GPIO.LOW)
|
|
|
|
- # GPIO.output(pin_r2, GPIO.LOW)
|
|
|
|
- GPIO.output(pin_r3, GPIO.LOW)
|
|
|
|
- GPIO.output(pin_r4, GPIO.HIGH)
|
|
|
|
- if GPIO.input(pin):
|
|
|
|
- key=KEYPAD[3][col]
|
|
|
|
-
|
|
|
|
- if key:
|
|
|
|
- print(key)
|
|
|
|
-
|
|
|
|
- GPIO.output(pin_r1, GPIO.HIGH)
|
|
|
|
- GPIO.output(pin_r2, GPIO.HIGH)
|
|
|
|
- GPIO.output(pin_r3, GPIO.HIGH)
|
|
|
|
- GPIO.output(pin_r4, GPIO.HIGH)
|
|
|
|
-
|
|
|
|
-GPIO.add_event_detect(pin_c1, GPIO.RISING, callback=cb_keypressed, bouncetime=50)
|
|
|
|
-GPIO.add_event_detect(pin_c2, GPIO.RISING, callback=cb_keypressed, bouncetime=50)
|
|
|
|
-GPIO.add_event_detect(pin_c3, GPIO.RISING, callback=cb_keypressed, bouncetime=50)
|
|
|
|
-
|
|
|
|
-try:
|
|
|
|
- GPIO.output(pin_r1, GPIO.HIGH)
|
|
|
|
- GPIO.output(pin_r2, GPIO.HIGH)
|
|
|
|
- GPIO.output(pin_r3, GPIO.HIGH)
|
|
|
|
- GPIO.output(pin_r4, GPIO.HIGH)
|
|
|
|
- time.sleep(1)
|
|
|
|
- print("...")
|
|
|
|
- while True:
|
|
|
|
- time.sleep(2)
|
|
|
|
- print("...")
|
|
|
|
-
|
|
|
|
-except Exception as e:
|
|
|
|
- print("Exception captured. Clean up and quit...")
|
|
|
|
- GPIO.cleanup()
|
|
|
|
- print(e)
|
|
|