Tastenfeld.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import Adafruit_BBIO.GPIO as GPIO
  2. import time
  3. import sys
  4. pin_r1 = "P8_8"
  5. pin_r2 = "P8_10"
  6. pin_r3 = "P8_12"
  7. pin_r4 = "P8_14"
  8. pin_c1 = "P8_16"
  9. pin_c2 = "P8_17"
  10. pin_c3 = "P8_18"
  11. GPIO.setup(pin_r1, GPIO.OUT)
  12. GPIO.setup(pin_r2, GPIO.OUT)
  13. GPIO.setup(pin_r3, GPIO.OUT)
  14. GPIO.setup(pin_r4, GPIO.OUT)
  15. GPIO.setup(pin_c1, GPIO.IN)
  16. GPIO.setup(pin_c2, GPIO.IN)
  17. GPIO.setup(pin_c3, GPIO.IN)
  18. GPIO.add_event_detect(pin_c1,GPIO.RISING)
  19. GPIO.add_event_detect(pin_c2,GPIO.RISING)
  20. GPIO.add_event_detect(pin_c3,GPIO.RISING)
  21. try:
  22. time.sleep(1)
  23. print("...")
  24. while True:
  25. time.sleep(1)
  26. # 1. Zeile
  27. GPIO.output(pin_r1, GPIO.HIGH)
  28. GPIO.output(pin_r2, GPIO.LOW)
  29. GPIO.output(pin_r3, GPIO.LOW)
  30. GPIO.output(pin_r4, GPIO.LOW)
  31. if GPIO.input(pin_c1):
  32. print("1")
  33. continue
  34. if GPIO.input(pin_c2):
  35. print("2")
  36. continue
  37. if GPIO.input(pin_c3):
  38. print("3")
  39. continue
  40. time.sleep(0.1)
  41. #2.Zeile
  42. GPIO.output(pin_r1, GPIO.LOW)
  43. GPIO.output(pin_r2, GPIO.HIGH)
  44. GPIO.output(pin_r3, GPIO.LOW)
  45. GPIO.output(pin_r4, GPIO.LOW)
  46. if GPIO.input(pin_c1):
  47. print("4")
  48. continue
  49. if GPIO.input(pin_c2):
  50. print("5")
  51. continue
  52. if GPIO.input(pin_c3):
  53. print("6")
  54. continue
  55. time.sleep(0.1)
  56. #3.Zeile
  57. GPIO.output(pin_r1, GPIO.LOW)
  58. GPIO.output(pin_r2, GPIO.LOW)
  59. GPIO.output(pin_r3, GPIO.HIGH)
  60. GPIO.output(pin_r4, GPIO.LOW)
  61. if GPIO.input(pin_c1):
  62. print("7")
  63. continue
  64. if GPIO.input(pin_c2):
  65. print("8")
  66. continue
  67. if GPIO.input(pin_c3):
  68. print("9")
  69. continue
  70. time.sleep(0.1)
  71. #4.Zeile
  72. GPIO.output(pin_r1, GPIO.LOW)
  73. GPIO.output(pin_r2, GPIO.LOW)
  74. GPIO.output(pin_r3, GPIO.LOW)
  75. GPIO.output(pin_r4, GPIO.HIGH)
  76. if GPIO.input(pin_c1):
  77. print("*")
  78. continue
  79. if GPIO.input(pin_c2):
  80. print("0")
  81. continue
  82. if GPIO.input(pin_c3):
  83. print("#")
  84. continue
  85. time.sleep(1)
  86. except:
  87. print("incorrect Eingabe")
  88. GPIO.cleanup()