Например такую:
Спойлер
Короче суть в следующем: если сканирование по рядам, а опрос по столбцам, то через другую нажатую кнопку столбца сигнал может передаться на любой другой столбец:
Вариантов устранить нашел только один вставить диод после каждой кнопки ряда вот так:
Нажатие нормально отрабатывается, с небольшой проблемой из-за падения напряжения на диодах, но так как при такой схеме диоды должны стоять ПОСЛЕ КАЖДОЙ кнопки, то защитные диоды на входе не нужны:
Спойлер
Но так как хочется готовую клаву, то не очень много шансов нормально впаять диоды, даже в SMD исполнении, да и не хочется этим заниматься.
Но ведь, судя по предложениям матричные клавиатуры широко распространены. В чем же дело?
Подключать матричные резисторы(для этого не нужно лезть внутрь клавы) - тоже сомнительный вариант, если положить ладошку на клаву, на выходе может быть всё что угодно, ножки то экономятся, но комбинаций замыкания неимоверное количество.
Но правда и тут есть варианты. Оставить сканирование как есть, но если сигнал идёт более чем с одного столбца, но вообще не учитывать нажатие, так как могут быть неоднозначности.
По мне так лучше ничего не делать, чем выполнить ошибочную команду.
С другой стороны, если всё же оставаться на матричной клаве, то лучше инвертировать входы и выходы. Заодно и 6 тактов за цикл опроса на AVR(сейчас планирую делать проект на нем, а так только начинаю изучать STM) сэкономится.
В этом случае тоже могут быть неоднозначности(не обращайте на плавающие выходы, для подсветки уровней перевёл резисторы в цифровой режим элуляции):
Но зато если однозначно читается ряд или однозначно читается столбец, то можно безопасно обрабатывать одновременное нажатие. (Пока я и эти клавиши не знаю куда девать, но всё же).
У кого какие мысли по этому поводу? Ведь раз других готовых вариантов нет, то значит обычного исполнения матричных клавиатур всем хватает. Может это просто я такой замороченный.
- Вложения
-
- def_diode_w2.png
- (38.74 КБ) 617 скачиваний
-
- def_diode_w.png
- (37.91 КБ) 610 скачиваний
-
- revert_err.png
- (45.6 КБ) 595 скачиваний
-
- def_err.png
- (47.49 КБ) 613 скачиваний
-
- def_diode.png
- (51.8 КБ) 594 скачивания


