Информация 4x4 keypad выходит неверно(pyfirmata)
У меня есть программа, которая читает нажата ли кнопка на 4x4 keypad на pyfirmata(python). Проблема в том, что информация, которая выводит arduino uno, неверна. В чем ошибка?
Вот код:
import pyfirmata as pf
import time as tm
board = pf.Arduino("COM3")
pf.util.Iterator(board).start()
buttons = [
['0','a','b','9'],
['1','c','d','8'],
['2','e','f','7'],
['3','4','5','6'],
]
r1,c1 = board.get_pin("d:11:i"),board.get_pin("d:5:i")
r2,c2 = board.get_pin("d:10:i"),board.get_pin("d:4:i")
r3,c3 = board.get_pin("d:9:i"),board.get_pin("d:3:i")
r4,c4 = board.get_pin("d:8:i"),board.get_pin("d:2:i")
while True:
try:
print("----")
print(int(r1.read()),int(r2.read()),int(r3.read()),int(r4.read()))
print(int(c1.read()),int(c2.read()),int(c3.read()),int(c4.read()))
print("----")
except:
pass
tm.sleep(0.1)
Output:
----
0 0 0 0
0 0 0 0
----
----
1 1 1 1
1 1 0 1
----
----
0 0 0 0
0 0 1 0
----
----
0 1 1 0
0 1 1 1
----
----
0 0 0 0
0 0 1 0
----
----
1 1 1 1
1 1 1 1
----
----
0 0 0 0
0 0 0 0
----
Примечание: я не нажимал на кнопки.