Съдържание:

Използване на клавиатура 4x4 с CircuitPython: 4 стъпки
Използване на клавиатура 4x4 с CircuitPython: 4 стъпки

Видео: Използване на клавиатура 4x4 с CircuitPython: 4 стъпки

Видео: Използване на клавиатура 4x4 с CircuitPython: 4 стъпки
Видео: #ArduBlock 2.0 - Ввод с клавиатуры 4x4 3x4 2024, Юли
Anonim
Използване на клавиатура 4x4 с CircuitPython
Използване на клавиатура 4x4 с CircuitPython

Тази евтина клавиатура предлага прост метод за цифрово въвеждане на вашите проекти CircuitPython. Ще го използвам с Adafruit ItsyBitsy M0 express.

Ще имаш нужда:

  • Клавиатура - моята е 4х4
  • ItsyBitsy M0 Express или подобна платка
  • Mu Editor инсталиран на вашия компютър
  • USB кабел за мигане на кода

Стъпка 1: Как работи клавиатурата

Как работи клавиатурата
Как работи клавиатурата

Те имат клавиатура с 16 прости, бавнодействащи балонни превключватели, подредени в 4 по мрежа с 8 връзки в долната част. Ако преброим отляво от 0 до 7, връзките от 0 до 3 са свързани към всеки от редовете. Връзка 0 към горния ред и връзка 3 към долния ред. Връзки 4 до 7 са свързани към колоните с връзка 4 в лявата колона и връзка 7 към дясната колона. Всеки от 16 -те превключвателя прави съединение между различна комбинация от ред/колона. Ако натиснем клавиш7, третият ред се присъединява към лявата колона. Можем да усетим дали е натиснат клавиш 5, ако неговият ред е повдигнат HIGH и можем да прочетем HIGH в колоната му. За да направим това, ИЗХОДИМ към редовете и ВХОД от колоните.

Трябва да зададем всеки ред HIGH на свой ред, докато другите редове са LOW, прочетете всяка колона на свой ред, докато не получим HIGH вход. Това лесно се управлява с вложени за цикли.

Трябва да вземем предвид факта, че тези балонни превключватели действат доста бавно и трябва да бъдат натиснати доста силно, за да ги затворят. Сканирането на всичките 16 превключвателя по този начин може да се извърши много бързо, но трябва да сканираме многократно, за да вдигнем натискането на клавиш. Трябва също така да се „освободим“с кратко време закъснение, така че да не получаваме клавиши, повтарящи се всеки път, когато натискаме.

Тъй като превключвателите са доста „хлъзгави“, се нуждаем от обратна връзка с потребителя, за да покажем, че е прочетено натискане на клавиш. Вграденият светодиод мига при всяко натискане на клавиш.

Стъпка 2: Физически връзки

Физически връзки
Физически връзки

Връзки отляво надясно на KeyPad0 1 2 3 4 5 6 7

D7 D9 D10 D11 A5 A4 A3 A2 на ItsyBitsy

D7 до D11 са зададени като OUTPUTs, докато A5 до A2 са настроени като INPUTs с PULLDOWN.

Кодът има много коментари и трябва да бъде доста лесен за следване.

Стъпка 3: Как работи Getkey ()

Как работи Getkey ()
Как работи Getkey ()

Тази функция сканира клавиатурата за едно натискане на клавиш. Той бързо проверява всеки от клавишите на свой ред максимум 10 пъти, за да види дали ключът е затворен. Ако бутонът е натиснат, той връща стойността на ключа, като брои отляво надясно отгоре надолу (0… 15) Обърнете внимание на стойностите за долния ред: 14, 0, 15, 13 (Hex E, 0, F, D). Ако не е натиснат клавиш, той връща -999 като код за грешка, който може лесно да бъде взет в основната програма. Вграденият светодиод мига, ако се натисне клавиш като обратна връзка от потребителя. Това работи доста бързо и изчакването за отказ от 0,2 секунди се използва само при натискане на клавиш.

Стъпка 4: Getvalue (цифри)

Getvalue (цифри)
Getvalue (цифри)

Тази програма предоставя n цифрена стойност от цифровите клавиши. Той игнорира червените клавиши.

Този код на Python може лесно да се преобразува, за да работи на друго устройство, като Raspberry Pi, вероятно трябва само да промените линиите за настройка на щифтове в горната част на скрипта.

Моля, уведомете ме, ако смятате, че кодът е полезен.

Бъдете в безопасност и се забавлявайте!

Препоръчано: