Матричная клавиатура 4x4, показывающая странные значения - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь подключить Raspberry Pi Zero к клавиатуре 4x4.Я использую сценарий, представленный ниже, и все правильно подключено.Однако, по какой-то причине, когда я нажимаю клавишу на клавиатуре, программа печатает на первый взгляд случайную клавишу из этой строки.Я много раз проверял проводку, и она определенно правильная, поэтому что-то не так с кодом.Может ли кто-нибудь помочь, пожалуйста?

Большое спасибо.

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

MATRIX = [[1,2,3,'A'],
          [4,5,6,'B'],
          [7,8,9,'C'],
          ['*',0,'#','D']]

ROW = [4, 17, 27, 22]
COL = [18, 23, 24, 25]

for j in range(4):
    GPIO.setup(COL[j], GPIO.OUT)
    GPIO.output(COL[j], 1)

for i in range(4):
    GPIO.setup(ROW[i], GPIO.IN, pull_up_down = GPIO.PUD_UP)

try:
    while True:
        for j in range(4):
            GPIO.output(COL[j], 0)

            for i in range(4):
                if GPIO.input(ROW[i]) == 0:
                    print(MATRIX[i][j])
                    while GPIO.input(ROW[i]) == 0:
                        pass

            GPIO.output(COL[j], 0)

except KeyboardInterrupt:
    GPIO.cleanup()
...