Свежие обсуждения
Микроконтроллеры

Снова про клаву на одной ноге...

Здрассьте, Гуру железа и софта....
Простите за баян - была уже такая топика.
Так вот - в автоэлектронике - автомагах сони, пхилипс, блапункт используется ОДНА линия для кнопок на руле (земля не считается).
Там несколько резюков, которые изображают разное напряжение на ШИНЕ (громко сказано) и в соответствии с кнопками магнитола рулит музоном. Почему бы не использовать буржуйские автонаработки в целях экономии ног МК. Если подразумевается одновременное нажатие - то матрица R-2R - как в ковоксе, если нет - то ступеньками напряжение регулируется. Если в МК не окажется АЦП - то есть же старый добрый ГУН, тогда МК мерит не U а F или T - кому как удобнее...
ИМХО - проще программно мерить одну ногу, чем организовывать опрос матрицы кнопок...
Вопрос - насколько точно нужно рассчитывать пороги (разницу уровней напряжения команд), чтобы МК не путал кнопки... ?
Тот же 10-12 битный ADC с учетом всяких шумов преобразователя и т.д. ? Сколько кнопок теоретически можо повесить ?

Вариант 2 - сканирование ноги, на которую подается сигнал с регистра/счетчика-дешифратора со встроенным генератором, т.е он гонит, к примеру, 101ххххх, где ххххх - состояние 5 кнопок, причем при инициализации он выдает 10111111, т.к. маловероятно, что при включениии МК кнопки нажаты, соотв., по 101 определяется частота генератора + это сигнатура начала опроса кнопок.
Хотя это, как и ГУН чревато допкорпусами, а вот с АЦП на борту - самый кактус...

И еще - про дин.индикацию - в регсдвига задвигается не только состояние текущего индикатора, но и последними (или первыми) битами - его номер. Насколько это чревато паразитной засветкой сегментов ??? Если 2 столбца, то инвертор, если 3 и более - допкорпус (дешифратор). Зато - всего по ДВУМ линиям !

 

Примеры подключения нескольких кнопок на вход с компаратором и с АЦП для микрочиповских контроллеров можно посмотреть здесь:
http://gamma.spb.ru/articles.php?i=26

 

Про дин. индикацию - в регистре последовательного сдвига 74HC595 есть нога для записи содержимого сдвигового регистра на выход, так что паразитной засветки не наблюдается. Задвинул данные - и лишь потом всё на выход. До записи на выходах висит предыдущее состояние. Но тогда ног контроллера надо три.

 

Имею печальный опыт общения с радиостанцией Motorola CP-50... Там также экономятся ноги такой клавиатурой с резисторами, в результате изношенная клавиатура продолжает работать, но кнопки работают неправильно: срабатывают не те... Так что подобный способ -- в ущерб надежности и долговечности.

 

Krug: Про дин. индикацию - в регистре последовательного сдвига 74HC595
Для LED семисегментных индикаторов и бегущих строк удобно применять DM114/115, по сути это 74HC595 с выходными ключами, вых. ток которых задаётся одним внешним резистором в диапазоне от 10 (20) мА до 60 (90) мА по каждому выходу и цена божеская 13,15 руб/штука. Получается, что сам индикатор с этими мс работает в статическои режиме. http://www.sitikorea.com/DM114,115.pdf
У "Неона" есть и другие аналогичные мс: на 1...16 выходов, двухканальные и пр. http://www.e-neon.ru/user_img/katalog2008/neon/siti.pdf

 

To Ясь:
Если клава резиновая - то да - ошибка разработчиков (или барыжность), неправльно рассчитаны пороги срабатывания, не учитан износ графита, а если стандартные щелкунчики - то нормально - кнопки на рулях авто работают годами. В ноутах в клавах тоже контакты економят с помощью резюков, у них в бивисе даже есть калибровка на новую клаву, правда только в сервисных настройках...

Вспомнил одну микру BU2090, лет десять назад чинил музцентр панасоник. 12 каналов ОК, вдвигание инфы - по положительному фронту CLK а отрицательный фронт должен быть при DAT=0, защелкивание на выход - по отрицательному фронту CLK, причем DAT должен=1. Вот так - ДВЕ ноги и никакой паразитной засветки - действительно статический режим.