Подключенная к Arduino клавиатура печатает неправильные цифры

Схожу с ума, пытаясь подключить клавиатуру к моему Arduino. Я следовал этой статье KeypadTutorial, но мне кажется, что что-то не так/не так, потому что у моей клавиатуры всего 9 контактов, а крайний левый (контакт 1) и крайний правый (контакт 9) контакты не имеют никаких следов, ведущих к клавиатуре. Я купил ее много лет назад и только сейчас нашел ей применение. Выглядит точно так же, как эта клавиатура Arduino, но отличается белыми клавишами с черным шрифтом.

Проблема в том, что отображается неправильная клавиша (например, нажимаю 0 и получаю 9). Я использовал мультиметр для проверки непрерывности между контактами при нажатии каждой клавиши и получил результаты, которые меня немного озадачили. Я бы подумал, что должна быть какая-то закономерность (например, первый контакт всегда будет 1, 2 или 3), но, очевидно, нет (или у меня просто плохая клавиатура).

KEY(pin1, pin2)
1(2,3)
2(1,2)
3(2,5)
4(3,7)
5(1,7)
6(5,7)
8(1,6)
9(5,6)
0(1,4)
#(4,5)
*(3,4)

, 👍0


1 ответ


Лучший ответ:

0

Поменяйте местами штифты некоторых клавиш, и появится узор.

KEY(pin1, pin2)      transposed pins
1(2,3)        x        1(3,2)   
2(1,2)                 2(1,2)
3(2,5)        x        3(5,2)
4(3,7)                 4(3,7)
5(1,7)                 5(1,7)
6(5,7)                 6(5,7)
8(1,6)                 8(1,6)
9(5,6)                 9(5,6)
0(1,4)                 0(1,4)
#(4,5)        x        #(5,4)
*(3,4)                 *(3,4)
,