Arduino и мембранная клавиатура
Описание
В наборе GyverKIT можно найти мембранную клавиатуру 4х4 кнопки. В продаже существует также версия 3х4:
Подключение
Клавиатура подключается очень просто: к любым цифровым пинам платы:
Библиотеки
Для работы с клавиатурой можно использовать:
- Библиотеку 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(9600); } void loop() { // получить текущую нажатую клавишу // вернёт 0 символ если ничего не нажато char key = pad.getKey(); // если кнопка нажата (не 0 символ) if (key) { // выводим в порт Serial.println(key); // можно разобрать через // switch (key) { // case '1': // ... } }
Домашнее задание
- Сравнить вес в памяти МК минимального примера для библиотек Keypad и SimpleKeypad (примеры будут отличаться только строкой создания объекта клавиатуры)