Оглавление:

Использование клавиатуры 4x4 с CircuitPython: 4 шага
Использование клавиатуры 4x4 с CircuitPython: 4 шага
Anonim
Использование клавиатуры 4x4 с CircuitPython
Использование клавиатуры 4x4 с CircuitPython

Эта недорогая клавиатура предлагает простой метод ввода чисел в ваши проекты CircuitPython. Я собираюсь использовать его с экспрессом Adafruit ItsyBitsy M0.

Тебе понадобится:

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

Шаг 1. Как работает клавиатура

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

У них есть 16 простых, медленно действующих пузырьковых переключателей, расположенных в сетке 4 на 8 с 8 разъемами внизу. Если мы пронумеруем слева от 0 до 7, соединения от 0 до 3 будут подключены к каждой из строк. Подключение 0 к верхнему ряду и соединение 3 к нижнему ряду. Соединения с 4 по 7 подключаются к колоннам с соединением 4 в левой колонке и соединением 7 с правой колонкой. Каждый из 16 переключателей выполняет соединение между различными комбинациями строк / столбцов. Если мы нажмем key7, третья строка присоединится к левому столбцу. Мы можем определить, нажата ли клавиша 5, если ее строка поднята HIGH, и мы можем прочитать HIGH в ее столбце. Для этого мы ВЫХОДИМ в строки и ВХОД из столбцов.

Нам нужно установить каждую строку HIGH по очереди, в то время как другие строки LOW, читать каждый столбец по очереди, пока мы не получим HIGH ввод. Этим легко управлять с помощью вложенных циклов for.

Мы должны принять во внимание тот факт, что эти пузырьковые переключатели действуют довольно медленно, и их нужно нажимать довольно сильно, чтобы заставить их замкнуться. Сканирование всех 16 переключателей таким образом может быть выполнено очень быстро, но нам придется сканировать несколько раз, чтобы уловить нажатие клавиши. Нам также необходимо «отсканировать» с короткой задержкой, чтобы клавиши не повторялись при каждом нажатии.

Поскольку переключатели довольно «мягкие», нам нужна обратная связь с пользователем, чтобы указать, что нажатие клавиши было прочитано. Встроенный светодиод мигает при каждом нажатии клавиши.

Шаг 2: Физические соединения

Физические соединения
Физические соединения

Подключения слева направо на клавиатуре 0 1 2 3 4 5 6 7

D7 D9 D10 D11 A5 A4 A3 A2 на ItsyBitsy

D7 – D11 настроены как ВЫХОДЫ, в то время как от A5 до A2 настроены как ВХОДЫ с ВЫКЛЮЧЕНИЕМ.

Код содержит множество комментариев, и за ним должно быть легко следить.

Шаг 3. Как работает Getkey ()

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

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

Шаг 4: получить значение (цифры)

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

Эта процедура выдает n-значное значение с помощью цифровых клавиш. Он игнорирует красные клавиши.

Этот код Python можно легко преобразовать для работы на другом устройстве, таком как Raspberry Pi, вам, вероятно, нужно только изменить строки настройки контактов в верхней части скрипта.

Пожалуйста, дайте мне знать, если вы сочтете код полезным.

Оставайтесь в безопасности и получайте удовольствие!

Рекомендуемые: