Матричная клавиатура PRO (Мультитач)

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Матричная клавиатура PRO (Мультитач)

#1

Сообщение Dryundel » 03.09.2022{, 01:05}

Матричная клавиатура PRO (Мультитач)
Стартовая Бета версия.
1.jpg
Для тестов использовалась вот такая мембранная клавиатураПоказать
1.jpg
.
Набор блоков для вывода действий кнопок клавиатуры (в комплекте 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 кОм).
Но может работать и без подтяжки на некоторых микросхемах, которые программно настраиваются.

Полностью все варианты и настройки протестировать не хватило сил и времени.
Подробное описание с примерами постараюсь сделать со временем.

Тестируйте, пишите комментарии. :)
.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Матричная клавиатура PRO (Мультитач)

#2

Сообщение Dryundel » 03.09.2022{, 13:12}

Господа, товарищи, братья!
Есть техническая возможность поддержки ATtiny I2C с микросхемами расширений PCF8574, PCF8575.
У меня их просто нет, а заказывать ради экспериментов и ждать месяц, как то лениво.
Если есть потребность в данном расширении блока и желание поделиться сим добром, пишите в личку.
(Только те у которых есть порт I2C)
.
Rovki писал(а):
03.09.2022{, 13:18}
а чего нет аттини или микросхем расширения ?
Нет ATtiny.

Аватара пользователя
Rovki
Полковник
Сообщения: 4875
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Матричная клавиатура PRO (Мультитач)

#3

Сообщение Rovki » 03.09.2022{, 14:53}

Есть ..24 и 13, если не ошибаюсь
Электронщик до мозга костей и не только

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Матричная клавиатура PRO (Мультитач)

#4

Сообщение Dryundel » 03.09.2022{, 15:23}

Rovki писал(а):
03.09.2022{, 14:53}
Есть ..24 и 13, если не ошибаюсь
У 13 нет I2C.
Таблица ATtiny

Аватара пользователя
Rovki
Полковник
Сообщения: 4875
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Матричная клавиатура PRO (Мультитач)

#5

Сообщение Rovki » 03.09.2022{, 17:20}

Dryundel писал(а):
03.09.2022{, 15:23}
Rovki писал(а):
03.09.2022{, 14:53}
Есть ..24 и 13, если не ошибаюсь
У 13 нет I2C.
Таблица ATtiny
А программно нельзя назначить?
Электронщик до мозга костей и не только

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Матричная клавиатура PRO (Мультитач)

#6

Сообщение Dryundel » 03.09.2022{, 17:52}

Rovki писал(а):
03.09.2022{, 17:20}
А программно нельзя назначить?
Нет. Поддержка I2C или есть или ее нет. Как аппаратный таймер, или он один или несколько.
Rovki, мы же с Вами это проходили на примере шины CAN для ESP8266.

Аватара пользователя
Rovki
Полковник
Сообщения: 4875
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Матричная клавиатура PRO (Мультитач)

#7

Сообщение Rovki » 03.09.2022{, 22:29}

В attiny 24 и 44 есть i2c / И они у меня есть ,но только для SMD монтажа.
https://github.com/SpenceKonde/ATTinyCo ... tiny_x4.md
Электронщик до мозга костей и не только

kissmanyuriy
Рядовой
Сообщения: 8
Зарегистрирован: 31.10.2020{, 12:48}
Репутация: 0
Имя: Юрий

Матричная клавиатура PRO (Мультитач)

#8

Сообщение kissmanyuriy » 28.02.2023{, 16:17}

Здравствуйте. А можно допилить для клавиатуры 4х5 20 клавиш на PCF8575?
Вложения
4х5.JPG

kissmanyuriy
Рядовой
Сообщения: 8
Зарегистрирован: 31.10.2020{, 12:48}
Репутация: 0
Имя: Юрий

Матричная клавиатура PRO (Мультитач)

#9

Сообщение kissmanyuriy » 19.03.2023{, 15:12}

Уважаемый автор я не программист а инженер поэтому и пользуюсь FLProg 7.5.2
Решил попробовать ваш пользовательский блок. Ранее использовал Keyboard I2C Adv.

Отправлено спустя 2 часа 15 минут 25 секунд:
Keypad_I2C keypad_1(makeKeymap(keys_keypad_1), rowPins_keypad_1, colPins_keypad_1, ROWS_keypad_1, COLS_keypad_1, 32, PCF8574);
'PCF8574' was not declared in this scope
Что не так? ПАМАГИТЕ!!! :smile37:
Вложения
111.JPG

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Матричная клавиатура PRO (Мультитач)

#10

Сообщение Dryundel » 19.03.2023{, 22:38}

kissmanyuriy писал(а):
19.03.2023{, 17:28}
Решил попробовать ваш пользовательский блок
Это бета версия. Возможны баги.
Требуется обратная связь. Написал в личку, жду ответа.

kissmanyuriy
Рядовой
Сообщения: 8
Зарегистрирован: 31.10.2020{, 12:48}
Репутация: 0
Имя: Юрий

Матричная клавиатура PRO (Мультитач)

#11

Сообщение kissmanyuriy » 21.03.2023{, 07:16}

Спасибо, все работает.
А все таки сложно допилить для клавиатуры 4х5 20 клавиш на PCF8575?

Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»