RuntimeError: вы должны сначала настроить () канал GPIO (4x4 Numpad на Raspberry Pi) - PullRequest
1 голос
/ 08 мая 2020

Я хотел использовать свою цифровую клавиатуру 4x4 с моим Raspberry Pi 3B + и следовал инструкциям этого руководства YouTube: https://www.youtube.com/watch?v=yYnX5QodqQ4, но я получил следующую ошибку:

RuntimeError: You must setup() the GPIO channel first

Это мой код Python:

import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)

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

ROW = [7,11,13,15]
COL = [12,16,18,22]

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

for i in range(4):
    GPIO.setup(ROW[1], 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],1)

except KeyboardInterrupt:
    GPIO.cleanup()

Я пытался изменить GPIO.setmode(GPIO.BOARD) на GPIO.setmode(GPIO.BCM) и удалить GPIO.cleanup(), но ничего не помогло. Есть у кого-нибудь идеи, как решить эту проблему?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...