View Categories

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

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

В наборе GyverKIT START IOT EXTRA
Клавиатура 4x4

В наборе GyverKIT можно найти мембранную клавиатуру 4х4 кнопки. В продаже существует также версия 3х4:

Подключение к Arduino #

Клавиатура подключается очень просто: к любым цифровым пинам платы:

Библиотеки #

Для работы с клавиатурой можно использовать:

  • Библиотеку Keypad, устанавливается вручную или через менеджер библиотек по поиску Keypad
  • Библиотеку SimpleKeypad, устанавливается вручную или через менеджер библиотек по поиску SimpleKeypad. Основана на Keypad, но имеет меньше возможностей, быстрее работает и занимает меньше памяти. Работа с ней практически не отличается от Keypad

SimpleKeypad #

Минимальный пример:

// размеры клавиатуры
#define KP_ROWS 4
#define KP_COLS 4

// пины подключения (по порядку штекера)
byte colPins[KP_COLS] = {7, 6, 5, 4};
byte rowPins[KP_ROWS] = {11, 10, 9, 8};

// массив имён кнопок
char keys[KP_ROWS][KP_COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

// подключаем либу
#include <SimpleKeypad.h>

// создаём клавиатуру
SimpleKeypad pad((char*)keys, rowPins, colPins, KP_ROWS, KP_COLS);

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

void loop() {
  // получить текущую нажатую клавишу
  // вернёт 0 символ если ничего не нажато
  char key = pad.getKey();

  // если кнопка нажата (не 0 символ)
  if (key) {
    // выводим в порт
    Serial.println(key);

    // можно разобрать через
    // switch (key) {
    // case '1':
    // ...
  }
}

Полезные страницы #

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Прокрутить вверх