Резистивная клавиатура ардуино: есть ли подводные камни?

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
REB
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1391
Зарегистрирован: Вс сен 20, 2009 00:23:17
Откуда: Жидостан

Сообщение REB »

Есть ли какие-то подводные камни при проектировании больших резистивных клавиатур для ардуино? Когда речь идет о 4-5 кнопках - все просто. Но если нужно предположим 60-80 кнопок? На сколько групп нужно раздивать и нужно ли? Есть ли еще какие проблемы?
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
Реклама
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Чт окт 22, 2009 14:23:03
Откуда: Тростянец

Сообщение nickjust »

Применяйте или 74HC595 или возьмите старую клаву от компа PS/2- она к ардуине нормально цепляется и разводите свою клаву как вам хочется
http://cxem.net/arduino/arduino22.php

P.S.есть куча проектов на ардуне миди клава 104 кнопки ...
https://www.youtube.com/watch?v=NtWRIHYDzWQ
Реклама
REB
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1391
Зарегистрирован: Вс сен 20, 2009 00:23:17
Откуда: Жидостан

Сообщение REB »

nickjust 74HC595 имеет на сколько помню 8 ног на регистры, томеж на ней можно сделать матричную клаву на 16 кнопок. Матричную клаву на 16 кнопок можно и на самой ардуине сделать. ПС2 - не подходит, там контроллеры х%й пойми какие ставят на которые даташита не найдешь и если в последствии мне надо будет собрать 100-200 устройств, то где я под них найду столько клавиатур да еще и с одинаковыми контроллерами (это при условии если свершится чудо и даташит будет найден)

Попробую пояснить: мне не нужно управление с отдельной клавиатуры, мне нужно собрать устройство в формфакторе МК98 =)
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Сообщение arkhnchul »

я правильно понимаю, что речь вот о таком - 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 пинов контроллера.
Последний раз редактировалось arkhnchul Вт авг 21, 2018 10:42:54, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
REB
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1391
Зарегистрирован: Вс сен 20, 2009 00:23:17
Откуда: Жидостан

Сообщение REB »

arkhnchul: а есть схемка? ибо что-то мозга ее не компилирует)
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
Реклама
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Сообщение 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 строке, меняем столбец, прогоняем заново строки. И Так пока столбцы не кончатся.
Реклама
Родился
Аватара пользователя
Сообщения: 17
Зарегистрирован: Вт янв 30, 2018 16:23:30

Сообщение z0rr_d »

[uquote="REB",url="/forum/viewtopic.php?p=3440735#p3440735"]74HC595 имеет на сколько помню 8 ног на регистры, томеж на ней можно сделать матричную клаву на 16 кнопок.[/uquote] Обычно на матрицу в 16 кнопок 4 входа и 4 выхода. В этом варианте всё равно ещё входной регистр нужен, напр 165-й. Если только я не упустил какой-то нюанс :)
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

REB писал(а):...если нужно предположим 60-80 кнопок?...
Есть расширители портов MCP23017/MCP23S17 (два байтовых порта; первая I2C, вторая SPI).
Назначение вход/выход - отдельно для каждого вывода портов. Так же, отдельно, можно включить Pull-up.
Есть возможность "заказать" выдачу прерывания по изменению уровня на входах...
Т.ч., матрицу из кнопок можно подключить к ней без лишних деталей...
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Чт окт 22, 2009 14:23:03
Откуда: Тростянец

Сообщение nickjust »

Хай
ПС2 - не подходит, там контроллеры х%й пойми какие ставят на которые даташита не найдешь и если в последствии мне надо будет собрать 100-200 устройств, то где я под них найду столько клавиатур да еще и с одинаковыми контроллерами (это при условии если свершится чудо и даташит будет найден)
Ммммм...пробовал разные клавы PS/2 разных фирм ...пох контроллер - у кнопок жесткий SCAN КОД каждой кнопы

Изображение
даже нонейм китайский четко работает
https://ru.wikipedia.org/wiki/%D0%A1%D0 ... 0%BE%D0%B4

З.Ы. 74НС595 можно применить не одну ,а как минимум 4 нормально работает
REB
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1391
Зарегистрирован: Вс сен 20, 2009 00:23:17
Откуда: Жидостан

Сообщение REB »

arkhnchul: Звучит очень интересно, но я ни фига не понял=)
Albert_V: как будет выглядеть схема?
nickjust: как будет выглядеть схема на 4 микрухах?

И насчет ПС2 вы меня не поняли. Даташит нужен для разводки платы. А плата должна быть потворяемой следовательно и компоненты стандартны и доступны.
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Сообщение arkhnchul »

[uquote="REB",url="/forum/viewtopic.php?p=3441267#p3441267"]Звучит очень интересно, но я ни фига не понял
...
как будет выглядеть схема?[/uquote]вотпрямщас лень рисовать, я маленько того-с. Мб завтра. Рекомендую таки вникнуть в те две ссылки и даташиты на упоминаемую логику - там ничего сложного, как только въедете в принцип. И, кстати, ничего требующего вот прям именно этих микросхем тоже.
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

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 останутся "лишние" выводы портов - никто не мешает использовать их для подключения, условно, светодиодов или завести на них некие входные линии, чтоб "разгрузить" выводы контроллера.
Изображение
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Чт окт 22, 2009 14:23:03
Откуда: Тростянец

Сообщение nickjust »

Вы б озвучили что делать планируете ,сколько кнопок
Вот на 2х шифт регмстрах 64 кнопки
https://forums.parallax.com/discussion/ ... -registers

А насчет вашего вопроса вот схема
Изображение
А вот тут подробнее почитать
http://we.easyelectronics.ru/CyberCat/d ... hc595.html
REB
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1391
Зарегистрирован: Вс сен 20, 2009 00:23:17
Откуда: Жидостан

Сообщение REB »

nickjust "микро"компьютер на ардуино Мега. нечто вроде МК98 но более полезное. И тут нужна клавиатура 60-80 кнопок, томеж буквы/символы + 2 5ти позиционных джойстика.
Сыылки посмотрел, все дошло, спасибо)
Albert_V: что делать с Vdd, Vss, SCK, SDA и RESET, это пожалуй единственное что я понял)))
А вот типовую схему включения с клавиатурой на дофига кнопок как-то не понял)
Существует миф, о том, что дырявые вечно суют свой нос не в свое дело, ввиду необоснованного ЧСВ. Не правда! Это не миф! )))
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

REB писал(а):А вот типовую схему включения с клавиатурой на дофига кнопок как-то не понял)
Что значит "типовая"?
Нарисуйте схему матричной клавиатуры 8х8 (64 кнопки) и подпишите 16 выводов от неё. Я по вашему рисунку скажу как её подключить к MCP23017.
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Чт окт 22, 2009 14:23:03
Откуда: Тростянец

Сообщение nickjust »

Хай всем!
Случайно просматривал https://voron.ua/catalog/017964 (внизу)
там готовых микрух , заточенных для клавиатуры куча - причем по смешной цене ,особенно серия TMxxxx

ИЛИ ВОТ на 1 микрухе 64 кнопы интерфейс i2c - ставим 2 микрухи и закрываем вопрос !
:))
https://easyeda.com/MrApplecraft/ti_84_ ... 944ac12efe
на ебее долар штука
Вложения
plata.png
(13 КБ) 402 скачивания
Ответить

Вернуться в «Периферия»