Матричная клавиатура 4×4 кнопки: инструкция, подключение и примеры использования
Используйте матричную эластичную 16-кнопочную клавиатуру для создания кодовых замков, управления элементами умного дома и роботами.
Видеообзор
Подключение и настройка
На матричной клавиатуре расположен шлейф на 8 проводов с мама-разъёмом шагом 2,54 мм. Подключите её к управляющей электронике с помощью линейки штырьковых соединителей. Или используйте Breadboard и провода «папа-папа».
Подавая сигнал на одном проводе из первой четвёрки и снимая его на проводах второй четвёрки, можно определить какие кнопки в определённой группе зажаты в данный момент. Для быстрого поиска нужной кнопки мы написали библиотеку AmperkaKB.
Пример работы
В качестве примера подключим клавиатуру к платформе Iskra Neo к пинам 0
—7
и будем выводить нажатую клавишу в Serial-порт.
Прошейте плату скетчем, приведённым ниже.
- KB_4x4.ino
// подключаем библиотеку для работы с матричной клавиатурой #include <AmperkaKB.h> // создаём объект для работы с матричной клавиатурой // указывая номера arduino подключенные к шлейфу клавиатуры // начиная с первого вывода шлейфа AmperkaKB KB(7, 6, 5, 4, 3, 2, 1, 0); void setup() { // открываем монитор Serial порта Serial.begin(9600); // указываем тип клавиатуры KB.begin(KB4x4); // второй необзятельный параметр: // время длительного зажатия кнопки // по умолчанию 2000, изменим на 5000 мс // KB.begin(KB4x4, 5000); } void loop() { // считывание данных с клавиатуры KB.read(); // опеределяем клик кнопки if (KB.justPressed()) { // печатаем номер кнопки и её символ в последовательный порт Serial.print("Key is press "); Serial.print(KB.getNum); Serial.print(" = \""); Serial.print(KB.getChar); Serial.println("\""); } // определяем отжатие кнопки if (KB.justReleased()) { // печатаем номер кнопки и её символ в последовательный порт Serial.print("Key is release "); Serial.print(KB.getNum); Serial.print(" = \""); Serial.print(KB.getChar); Serial.println("\""); } // определяем зажатие кнопки на 3 секунды if (KB.isHold()) { // печатаем номер кнопки и её символ в последовательный порт Serial.print("Key on long press "); Serial.print(KB.getNum); Serial.print(" = \""); Serial.print(KB.getChar); Serial.println("\""); } }
Iskra JS
Подключим клавиатуру к платформе Iskra JS к пинам P0
—P7
и будем выводить нажатую клавишу в последовательный порт.
- keyPad1x4.js
require("KeyPad").connect([P0, P1, P2, P3], [P4, P5, P6, P7], function(e) { print("123A456B789C*0#D"[e]); });
Особенности работы
Клавиатура выполнена в виде матрицы 4×4
, каждая кнопка является областью воздушного зазора между двумя диэлектрическими слоями с нанесенным на них токопроводящим покрытием. Дорожки покрытия одного слоя нанесены горизонтально (выводы 1
—4
), а другого вертикально (выводы 5
—8
). Нажатие на кнопку приводит к соединению дорожки одного слоя с дорожкой другого и замыканию одного из выводов 1
—4
с одним из выводов 5
—8
.
Характеристики
- Габариты: 68×77×0,8 мм
- Рабочее напряжение: до 12 В
- Максимальный ток: 100 мА
- Сопротивление изоляции: >100 МОм
- Сопротивление контактов: <200 Ом
- Вес: 10 г
Ресурсы
- Клавиатура 4×4 кнопки в магазине.