4x4矩阵键盘,显示更奇怪的值

时间:2019-03-19 06:32:51

标签: python-3.x keypad raspberry-pi-zero

我正在尝试将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()

0 个答案:

没有答案