Бібліотека Keypad для роботи з клавіатурою Arduino

Бібліотека Keypad служить для використання разом із Arduino клавіатур матричного типу. Поточна версія бібліотеки (3.1) підтримує численні натискання.

Ця бібліотека була створена для створення рівня абстракції для апаратного забезпечення. Вона покращує читання коду, приховуючи від користувача виклики функцій pinMode та digitalRead.

Вам немає необхідності використовувати зовнішні резистори або діоди, так як бібліотека використовує внутрішні підтягуючі резистори в мікроконтролері на Arduino і додатково забезпечує високий вхід на всі невикористовувані висновки стовпців.

Завантаження, встановлення та імпорт

Ця бібліотека зараз доступна через менеджер бібліотеки в Arduino IDE. Якщо ви використовуєте сучасну IDE (версія 1.6.2 і вище), можете просто використовувати меню:

Скетч → Підключити бібліотеку → Керувати бібліотеками. А потім знайти Keypad.

Коли ви знайдете, натисніть на записи, і з'явиться кнопка «Установка». ZIP файл наведено нижче для старих версій IDE.

Помістіть каталок Keypad в "arduino\libraries\".

В Arduino IDE створіть новий скетч (або відкрийте існуючий) і виберіть у меню «Скетч → Імпорт бібліотеки → Keypad».

Коли бібліотека імпортована, рядок " #include " з'явиться на початку вашого скетчу.

Keypad(makeKeymap(userKeymap), row[], col[], rows, cols) Створює об'єкт Keypad, який використовує (у прикладі нижче) висновки 5, 4, 3, 2 як висновки рядків та висновки 8, 7, 6 як висновки стовпців. Ця клавіатура має 4 рядки та 3 стовпці, в результаті 12 кнопок.

Методи класу Keypad та визначення для роботи з множинними натисканнями:

Key key[LIST_MAX] Список активних клавіш. LIST_MAX (рівний 10) задає максимальну кількість клавіш активного списку.bool getKeys() Заповнює масив key активних кнопок (до 10 значень). Повертає true за наявності будь-яких активних клавіш. bool isPressed(char keyChar) Повертає true, якщо кнопка з кодом keyChar натиснута. int findInList(char keyChar) Пошук клавіші за кодом у списку активних клавіш. Повертає -1 якщо клавіша не знайдена, або індекс в масиві активних клавіш.