====== Четырёхкнопочная клавиатура: инструкция, подключение и примеры использования ====== Используйте эластичную четырёхкнопочную клавиатуру для создания кодовых замков, управления элементами умного дома и роботами. {{:продукты:keypad-1x4:keypad-1x4.1.jpg|}} ===== Видеообзор ===== {{youtube>usM4J3f95aM?large}} ===== Подключение и настройка ===== На клавиатуре расположен шлейф из 5 проводов с мама-разъёмом шагом 2,54 мм. Подключите её к управляющей электронике с помощью линейки [[amp>product/pin-headers-long|штырьковых соединителей]]. Или используйте [[amp>product/breadboard-half|Breadboard]] и [[amp>product/wire-mm|провода «папа-папа»]]. {{ :продукты:keypad-1x4:kb_4x1_.png?nolink |}} Подавая сигнал на вывод ''1'' и снимая его на проводах ''2''—''5'', можно определить какие кнопки зажаты в данный момент. Для быстрого поиска нужной кнопки мы написали библиотеку [[https://github.com/amperka/AmperkaKB|AmperkaKB]]. ===== Пример работы ===== ==== Iskra Neo ==== В качестве примера подключим клавиатуру к платформе [[amp>product/iskra-neo|Iskra Neo]] к пинам ''0''—''4'' и будем выводить нажатую клавишу в Serial-порт. {{ :продукты:keypad-1x4:schemekb_1x4_iskraneo.png |}} Прошейте плату скетчем, приведённым ниже. // подключаем библиотеку для работы с матричной клавиатурой #include // создаём объект для работы с матричной клавиатурой // указывая номера arduino подключенные к шлейфу клавиатуры // начиная с первого вывода шлейфа AmperkaKB KB(4, 3, 2, 1, 0); void setup() { // открываем монитор Serial порта Serial.begin(9600); // указываем тип клавиатуры KB.begin(KB1x4); // второй необзятельный параметр: // время длительного зажатия кнопки // по умолчанию 2000, изменим на 5000 мс // KB.begin(KB4x3, 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 ==== Подключим клавиатуру к платформе [[amp>product/iskra-js|Iskra JS]] к пинам ''P0''—''P4'' и будем выводить нажатую клавишу в последовательный порт. require("KeyPad").connect([P4], [P3, P2, P1, P0], function(e) { print("3412"[e]); }); ===== Особенности работы ===== Каждая кнопка клавиатуры является областью воздушного зазора между двумя диэлектрическими слоями с нанесенным на них токопроводящим покрытием. Дорожки покрытия одного слоя нанесены горизонтально (вывод ''1''), а другого вертикально (выводы ''2''—''5''). Нажатие на кнопку приводит к соединению дорожки одного слоя с дорожкой другого и замыканию вывода ''1'' с одним из выводов ''2''—''5''.{{ :продукты:keypad-1x4:schemekb_1x4_.png?nolink |}} ===== Характеристики ===== * Габариты: 69×20×0,8 мм * Рабочее напряжение: до 12 В * Максимальный ток: 100 мА * Сопротивление изоляции: >100 МОм * Сопротивление контактов: <200 Ом * Вес: 5 г ===== Ресурсы ===== * [[amp>product/keypad-1x4|Четырёхкнопочная клавиатура]] в магазине. * [[https://github.com/amperka/AmperkaKB|Библиотека для Arduino]].