Arduino и мембранная клавиатура: руководство

Клавиатура позволяет взаимодействовать с микроконтроллером. Вы можете достать такие клавиатуры из старых телефонов или приобрести их в большинстве магазинов электроники менее чем за $2.

Мембранная клавиатура 3x4

Они выпускаются в самых разных формах и размерах. Наиболее распространенные размеры – 3x4 и 4x4, и вы можете найти клавиатуры с надписями, буквами и цифрами на клавишах.

Вы даже можете создать собственную клавиатуру с нуля.

Если вы будете следовать этому руководству, вы сможете управлять любой клавиатурой.

Описание

Эти клавиатуры очень популярны среди любителей Arduino. Они очень дешевые и их можно использовать с любым микроконтроллером (MCU).

Где купить?

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

Вы можете воспользоваться ссылками выше или перейти напрямую на MakerAdvisor.com/tools, чтобы найти все детали для ваших проектов по лучшей цене!

Как это работает?

Мембранная клавиатура представляет собой матрицу, состоящую из строк и столбцов. Каждая клавиша привязана к определенной строке и столбцу (см. изображение ниже).

На клавиатуре с 12 кнопками у вас 4 строки и 3 столбца. Первая клавиша замыкает связь между строкой 1 и столбцом 1 (R1C1). 2 – это R1C2, 3 – R1C3, * – R4C1, 9 – R3C3 и так далее.

Как работает мембранная клавиатура - матрица строк и столбцов

Arduino с мембранной клавиатурой

Для сборки этой схемы вам понадобятся следующие компоненты:

  • 1x Arduino (eBay)

  • 1x Клавиатура (eBay)

  • Соединительные провода

Схема подключения

Следуйте приведенной ниже схеме подключения. Если ваша клавиатура отличается от представленной ниже, попробуйте найти даташит в интернете.

Схема подключения мембранной клавиатуры к Arduino

Загрузка библиотеки

Вот библиотека, которая вам понадобится для этого проекта:

  1. Скачайте библиотеку Keypad

  2. Разархивируйте библиотеку Keypad

  3. Установите библиотеку Keypad в вашу Arduino IDE, переместив разархивированную папку в: Arduino\Libraries

  4. Перезапустите Arduino IDE

Загрузка кода

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

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

Примечание

Если ваша клавиатура имеет больше клавиш, вы можете изменить строки 3 и 4, чтобы добавить правильное количество строк и столбцов. Затем в строке 5 вы можете изменить массив, чтобы он соответствовал клавишам вашей клавиатуры.

#include "Keypad.h"

const byte ROWS = 4; // number of rows
const byte COLS = 3; // number of columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};

byte rowPins[ROWS] = {8, 7, 6, 5}; // row pinouts of the keypad R1 = D8, R2 = D7, R3 = D6, R4 = D5
byte colPins[COLS] = {4, 3, 2};    // column pinouts of the keypad C1 = D4, C2 = D3, C3 = D2
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  char key = keypad.getKey();
  if (key != NO_KEY)
    Serial.println(key);
}

Просмотреть исходный код

Демонстрация

В этом проекте при нажатии клавиши её значение отображается в мониторе порта. Вот что вы должны увидеть в мониторе порта Arduino IDE, когда начнете нажимать клавиши клавиатуры.

Монитор порта Arduino с выводом нажатых клавиш мембранной клавиатуры

Заключение

Теперь вы можете создать интерфейс для вашего Arduino с помощью клавиатуры. Вы также можете добавить LCD-дисплей к этому проекту.

Надеемся, это руководство было для вас полезным.