Модуль клавиатуры 4 на 4

Модуль клавиатуры 4x4. Описание и принцип работы

Когда мы хотим связать одну кнопку с микроконтроллером, ему нужен один контакт GPIO. Но когда мы хотим подключить много кнопок, например,  9, 12 или 16 и т. д., тогда нам необходимо использовать столько же контактов GPIO микроконтроллера.

Чтобы сохранить некоторые выводы GPIO микроконтроллера, мы можем использовать матричную клавиатуру. Матричная клавиатура — это не что иное, как расположение клавиш в ряд и столбец.

Например. если мы хотим подключить 16 кнопок к микроконтроллеру, нам потребуется 16 контактов GPIO, но если мы используем матричную клавиатуру 4×4, нам потребуется только 8 контактов GPIO микроконтроллера.

Структура модуля матричной клавиатуры 4×4

Структура матричной клавиатуры 4x4
Рисунок 1. Структура матричной клавиатуры 4×4

Модуль клавиатуры сделан в виде матрицы, где строки и столбцы пересекаются. Когда происходит нажатие кнопки, ключ кнопки замыкает в месте пересечения строку и столбец. Если нажатия не было, то и связи между строкой и столбцом не происходит.

Работа с матричной клавиатурой

Для того чтобы обнаружить нажатую клавишу, микроконтроллер все время должен сканировать  ключи клавиш. Сканирование происходит по следующему алгоритму:

  • Микроконтроллер заземляет все строки, устанавливая 0 на выходные контакты (R1, R2, R3 и R4), а затем считывает столбцы (C1, C2, C3 и C4), показанные на рисунке ниже.
Матричная клавиатура 4x4 перед нажатием
Рисунок 2. Матричная клавиатура 4×4 перед нажатием кнопки
  • В случае, когда данные считанные из столбцов, равны = 1 1 1 1, ни одна кнопка клавиатуры не была нажата, тогда  процесс сканирования продолжается до тех пор, пока не будет обнаружено нажатие клавиши.
  • Теперь рассмотрим выделенную клавишу на рис. выше, когда она нажимается. После нажатия клавиши происходит замыкание строки со столбцом, показанным ниже.
Матричная клавиатура 4x4 после нажатия кнопки
Рисунок 3. Матричная клавиатура 4×4 после нажатия кнопки
  • В случае нажатия клавиши в одном из битов столбца установится ноль. Например, если C1:C4 = 1 0 1 1, это означает, что была нажата клавиша в столбце с идентификатором C2.
  • После того как было зафиксировано нажатие клавиши, микроконтроллер выполнит процесс ее идентификации.

Процесс определения нажатой кнопки

Начиная с верхнего ряда, микроконтроллер заземлит его, подав низкий уровень только на ряд R1.

Теперь прочитайте столбцы, если все прочитанные данные равны 1, ни одна клавиша в этой строке не нажата, и процесс продолжается для следующей строки.

Итак, теперь заземлите следующий ряд, R2. Прочитайте столбцы, проверьте наличие нуля, и этот процесс продолжается до тех пор, пока строка не будет идентифицирована.

Например. В приведенном выше случае мы получим строку 2, в которой столбец не равен 1 1 1 1.

Итак, после идентификации строки, в которой была нажата клавиша, мы можем легко узнать клавишу по значению строки и столбца.

Подключение клавиатуры с использованием одного провода

Можно подключить клавиатуру любого размера с помощью всего одного аналогового контакта. Он основан на схеме с делителем напряжения. Узнать какая кнопка нажата можно по уровню напряжения на аналоговом входе микроконтроллера.

Например. Интерфейс клавиатуры 4×4 с одним проводом, как показано ниже.

Подключение клавиатуры используя один аналоговый контакт
Рисунок 4. Подключение клавиатуры используя один аналоговый контакт

Примечание


Комбинации номиналов резисторов могут быть разными.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии