Стартовая Бета версия.
Набор блоков для вывода действий кнопок клавиатуры (в комплекте 2 блока).
Описание выходов и настроек находится в настройках блоков.
Основные возможности
- Мультитач (до 10 одновременно нажатых кнопок) !!!
- Любые две одновременно нажатые кнопки отслеживаются и без диодов (в отличии от штатного блока).
- Встроенный Debounce (дребезга контактов) настраивается.
- Несколько клавиатур в проекте (не тестировал)
- Настройка выводимых символов (любые символы и даже служебные типа \n (перенос строки))
- Есть отдельные блоки для каждой кнопки
- Отслеживание Нажатия, клика, двойного клика, удержания (на каждой кнопке)
- Отслеживание одновременно двух кнопок (любых настраивается) можно настроить несколько сочетаний
- Фильтрация двух нажатых кнопок от нажатия их по отдельности.
- Подключение напрямую к пинам контроллера
- Подключение через I2C
- Поддерживаемые микросхемы расширения - PCF8574, PCF8574A, PCF8575, PCA9554, PCA9555, PCA9534, PCA9535, PCA9539, PCA6408, PCA6416, MCP23008, MCP23016, MCP23017.
Тестировалось на NANO, ESP32, MCP23017, PCF8574 (других микросхем у меня нет)
На Raspberry Pi 2040 - пока не пошло
На STM32 не тестировалось (скорее всего не заработает)
Ограничения:
Поддерживаются клавиатуры 3х3, 3х4, 4х3, 4х4
Для мультитач обязательны диоды на выходах столбцов, катодом к контроллеру (микросхеме)
ВНИМАНИЕ! диоды ставятся на столбцы. Не так как в штатном блоке, там на строки. (читай статью)
Полный мультитач (до 10 кнопок одновременно) работает только на основном блоке на выходах Press.
На отдельных блоках кнопок мультитач адекватен до 2 кнопок одновременно.
Важно!
Входы колонок на контроллере должны иметь внутреннюю подтяжку. Если ее нет, обязательна внешняя.
К примеру у ESP32 есть несколько входов не оснащенных PULLUP (смотри даташит)
На микросхемах должна быть внешняя подтяжка к +5V у входов строк (4,7 - 10 кОм).
Но может работать и без подтяжки на некоторых микросхемах, которые программно настраиваются.
Полностью все варианты и настройки протестировать не хватило сил и времени.
Подробное описание с примерами постараюсь сделать со временем.
Тестируйте, пишите комментарии.
.