Резистивная клавиатура ардуино: есть ли подводные камни?
Есть ли какие-то подводные камни при проектировании больших резистивных клавиатур для ардуино? Когда речь идет о 4-5 кнопках - все просто. Но если нужно предположим 60-80 кнопок? На сколько групп нужно раздивать и нужно ли? Есть ли еще какие проблемы?
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
- Реклама
Применяйте или 74HC595 или возьмите старую клаву от компа PS/2- она к ардуине нормально цепляется и разводите свою клаву как вам хочется
http://cxem.net/arduino/arduino22.php
P.S.есть куча проектов на ардуне миди клава 104 кнопки ...
https://www.youtube.com/watch?v=NtWRIHYDzWQ
http://cxem.net/arduino/arduino22.php
P.S.есть куча проектов на ардуне миди клава 104 кнопки ...
https://www.youtube.com/watch?v=NtWRIHYDzWQ
nickjust 74HC595 имеет на сколько помню 8 ног на регистры, томеж на ней можно сделать матричную клаву на 16 кнопок. Матричную клаву на 16 кнопок можно и на самой ардуине сделать. ПС2 - не подходит, там контроллеры х%й пойми какие ставят на которые даташита не найдешь и если в последствии мне надо будет собрать 100-200 устройств, то где я под них найду столько клавиатур да еще и с одинаковыми контроллерами (это при условии если свершится чудо и даташит будет найден)
Попробую пояснить: мне не нужно управление с отдельной клавиатуры, мне нужно собрать устройство в формфакторе МК98 =)
Попробую пояснить: мне не нужно управление с отдельной клавиатуры, мне нужно собрать устройство в формфакторе МК98 =)
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
я правильно понимаю, что речь вот о таком - http://easyelectronics.ru/multipleksirovanie.html ? Если да, то все быстро упрется в разрешение АЦП, плюс я сходу не вижу удобного способа определять нажатия нескольких кнопок.
[uquote="REB",url="/forum/viewtopic.php?p=3440735#p3440735"]74HC595 имеет на сколько помню 8 ног на регистры, томеж на ней можно сделать матричную клаву на 16 кнопок[/uquote]
а если на двух?)
скажем, на парочке из CD4515 (демультиплексор 4-в-16) и CD4051 (мультиплексор 8-в-1) можно родить матрицу о 128 кнопках, потратив на это 8 пинов контроллера.
[uquote="REB",url="/forum/viewtopic.php?p=3440735#p3440735"]74HC595 имеет на сколько помню 8 ног на регистры, томеж на ней можно сделать матричную клаву на 16 кнопок[/uquote]
а если на двух?)
скажем, на парочке из CD4515 (демультиплексор 4-в-16) и CD4051 (мультиплексор 8-в-1) можно родить матрицу о 128 кнопках, потратив на это 8 пинов контроллера.
Последний раз редактировалось arkhnchul Вт авг 21, 2018 10:42:54, всего редактировалось 1 раз.
arkhnchul: а есть схемка? ибо что-то мозга ее не компилирует)
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
- Реклама
там же, типа вот так - http://easyelectronics.ru/matrichnaya-klaviatura.html , или так - http://www.openmusiclabs.com/learning/d ... index.html
4515 ставим снизу (картинка "расширение разрядности дешифратором"), 4051 чуть сложнее - на его входы Y0-Y7 вешаем строки (это будет "считывающий порт"), вход COM заводим в контроллер (это и будет собственно единственный входной пин), входы ABC - к контроллеру.
Процедура сканирования: выставили нулевой столбец на 4515 и погнали строки: на пины ABC подаем 000, смотрим чо там на COM - это нулевая кнопка нулевого столбца. На ABC 001, смотрим COM - первая кнопка нулевого столбца. Заканчиваем на 111 строке, меняем столбец, прогоняем заново строки. И Так пока столбцы не кончатся.
4515 ставим снизу (картинка "расширение разрядности дешифратором"), 4051 чуть сложнее - на его входы Y0-Y7 вешаем строки (это будет "считывающий порт"), вход COM заводим в контроллер (это и будет собственно единственный входной пин), входы ABC - к контроллеру.
Процедура сканирования: выставили нулевой столбец на 4515 и погнали строки: на пины ABC подаем 000, смотрим чо там на COM - это нулевая кнопка нулевого столбца. На ABC 001, смотрим COM - первая кнопка нулевого столбца. Заканчиваем на 111 строке, меняем столбец, прогоняем заново строки. И Так пока столбцы не кончатся.
- Сообщения: 17
- Зарегистрирован: Вт янв 30, 2018 16:23:30
[uquote="REB",url="/forum/viewtopic.php?p=3440735#p3440735"]74HC595 имеет на сколько помню 8 ног на регистры, томеж на ней можно сделать матричную клаву на 16 кнопок.[/uquote] Обычно на матрицу в 16 кнопок 4 входа и 4 выхода. В этом варианте всё равно ещё входной регистр нужен, напр 165-й. Если только я не упустил какой-то нюанс 
Есть расширители портов MCP23017/MCP23S17 (два байтовых порта; первая I2C, вторая SPI).REB писал(а):...если нужно предположим 60-80 кнопок?...
Назначение вход/выход - отдельно для каждого вывода портов. Так же, отдельно, можно включить Pull-up.
Есть возможность "заказать" выдачу прерывания по изменению уровня на входах...
Т.ч., матрицу из кнопок можно подключить к ней без лишних деталей...
Хай

даже нонейм китайский четко работает
https://ru.wikipedia.org/wiki/%D0%A1%D0 ... 0%BE%D0%B4
З.Ы. 74НС595 можно применить не одну ,а как минимум 4 нормально работает
Ммммм...пробовал разные клавы PS/2 разных фирм ...пох контроллер - у кнопок жесткий SCAN КОД каждой кнопыПС2 - не подходит, там контроллеры х%й пойми какие ставят на которые даташита не найдешь и если в последствии мне надо будет собрать 100-200 устройств, то где я под них найду столько клавиатур да еще и с одинаковыми контроллерами (это при условии если свершится чудо и даташит будет найден)

даже нонейм китайский четко работает
https://ru.wikipedia.org/wiki/%D0%A1%D0 ... 0%BE%D0%B4
З.Ы. 74НС595 можно применить не одну ,а как минимум 4 нормально работает
arkhnchul: Звучит очень интересно, но я ни фига не понял=)
Albert_V: как будет выглядеть схема?
nickjust: как будет выглядеть схема на 4 микрухах?
И насчет ПС2 вы меня не поняли. Даташит нужен для разводки платы. А плата должна быть потворяемой следовательно и компоненты стандартны и доступны.
Albert_V: как будет выглядеть схема?
nickjust: как будет выглядеть схема на 4 микрухах?
И насчет ПС2 вы меня не поняли. Даташит нужен для разводки платы. А плата должна быть потворяемой следовательно и компоненты стандартны и доступны.
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
[uquote="REB",url="/forum/viewtopic.php?p=3441267#p3441267"]Звучит очень интересно, но я ни фига не понял
...
как будет выглядеть схема?[/uquote]вотпрямщас лень рисовать, я маленько того-с. Мб завтра. Рекомендую таки вникнуть в те две ссылки и даташиты на упоминаемую логику - там ничего сложного, как только въедете в принцип. И, кстати, ничего требующего вот прям именно этих микросхем тоже.
...
как будет выглядеть схема?[/uquote]вотпрямщас лень рисовать, я маленько того-с. Мб завтра. Рекомендую таки вникнуть в те две ссылки и даташиты на упоминаемую логику - там ничего сложного, как только въедете в принцип. И, кстати, ничего требующего вот прям именно этих микросхем тоже.
А что тут сложного?REB писал(а):Albert_V: как будет выглядеть схема?
Надеюсь, у вас не возникнут вопросы к чему подключить линии Vdd, Vss, SCK, SDA, A0-A2 и RESET (всё есть в pdf-е)...
У матрицы кнопок есть "столбцы" и "строки". Столбцы подключаете к порту GPAx, а строки к GPBx (или наоборот; как больше нравится).
У того порта, который захотите сделать "входом" - потом программно включите Pull-up (внутренняя "подтяжка" к +питания).
Если нужно, с того порта которого назначите "входом", заведите INTх на тот вход контроллера, который можете назначить на внешнее прерывание.
Лично я бы использовал INT, чтоб постоянно не опрашивать клавиатуру.
Смысл в следующем: Исходное состояние - все кнопки отпущены, все выходы порта в "0". Опрос клавиатуры не проводится.
Как только будет нажата любая кнопка, получаете прерывание, считываете по какому входу (к примеру, это столбец) было изменение уровня с "1" на "0" и начинаете "шерстить" строку, ища нажатую кнопку.
Алгоритм несколько сложнее чем "постоянный опрос", но в этом случае можно контроллер "отправить в сон" и "просыпаться" по нажатию любой кнопки.
Если выберите именно MCP23017 (I2C; на али их как махорки в табачной лавке) - для общения с такой клавиатурой нужно выделить 2(3) линии контроллера.
P.S.
Если после подключения клавиатуры у MCP23017 останутся "лишние" выводы портов - никто не мешает использовать их для подключения, условно, светодиодов или завести на них некие входные линии, чтоб "разгрузить" выводы контроллера.
Вы б озвучили что делать планируете ,сколько кнопок
Вот на 2х шифт регмстрах 64 кнопки
https://forums.parallax.com/discussion/ ... -registers
А насчет вашего вопроса вот схема

А вот тут подробнее почитать
http://we.easyelectronics.ru/CyberCat/d ... hc595.html
Вот на 2х шифт регмстрах 64 кнопки
https://forums.parallax.com/discussion/ ... -registers
А насчет вашего вопроса вот схема

А вот тут подробнее почитать
http://we.easyelectronics.ru/CyberCat/d ... hc595.html
nickjust "микро"компьютер на ардуино Мега. нечто вроде МК98 но более полезное. И тут нужна клавиатура 60-80 кнопок, томеж буквы/символы + 2 5ти позиционных джойстика.
Сыылки посмотрел, все дошло, спасибо)
Albert_V: что делать с Vdd, Vss, SCK, SDA и RESET, это пожалуй единственное что я понял)))
А вот типовую схему включения с клавиатурой на дофига кнопок как-то не понял)
Сыылки посмотрел, все дошло, спасибо)
Albert_V: что делать с Vdd, Vss, SCK, SDA и RESET, это пожалуй единственное что я понял)))
А вот типовую схему включения с клавиатурой на дофига кнопок как-то не понял)
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
Что значит "типовая"?REB писал(а):А вот типовую схему включения с клавиатурой на дофига кнопок как-то не понял)
Нарисуйте схему матричной клавиатуры 8х8 (64 кнопки) и подпишите 16 выводов от неё. Я по вашему рисунку скажу как её подключить к MCP23017.
Хай всем!
Случайно просматривал https://voron.ua/catalog/017964 (внизу)
там готовых микрух , заточенных для клавиатуры куча - причем по смешной цене ,особенно серия TMxxxx
ИЛИ ВОТ на 1 микрухе 64 кнопы интерфейс i2c - ставим 2 микрухи и закрываем вопрос !
https://easyeda.com/MrApplecraft/ti_84_ ... 944ac12efe
на ебее долар штука
Случайно просматривал https://voron.ua/catalog/017964 (внизу)
там готовых микрух , заточенных для клавиатуры куча - причем по смешной цене ,особенно серия TMxxxx
ИЛИ ВОТ на 1 микрухе 64 кнопы интерфейс i2c - ставим 2 микрухи и закрываем вопрос !
https://easyeda.com/MrApplecraft/ti_84_ ... 944ac12efe
на ебее долар штука
- Вложения
-
- plata.png
- (13 КБ) 402 скачивания


