Оглавление
Мембранная матричная клавиатура позволяет получить множество кнопок для ввода данных в программу, используя меньшее количество пинов МК, чем как если бы это были обычные кнопки. Клавиатура с цифрами может использоваться для создания электронных замков и сейфов, охранных систем, калькуляторов и математических игр.
![]() |
В наборе 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':
// ...
}
}
Полезные страницы #
- Набор GyverKIT – наш большой стартовый набор Arduino, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
- Поддержать автора за работу над уроками