Пост N: 104
Зарегистрирован: 24.09.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 11.04.08 12:05. Заголовок: Как удобней организовать опрос клавиатуры из 16 кнопок?
Нужно организовать опрос 16 кнопок. От МК осталось свободных всего 5 портов. Пытался найти шифратор, нашел только максимум на 12 кнопок. Может кто знает другие на большие количество кнопок? Понравилась идея изложенная в самоучителе 11/2 в части касающийся программной реализации. Диодный шифратор делать как-то не хочется (больше 20 диодов). Пока из всех вариантов склоняюсь к установке еще одного Пика, отдельно под клавиатуру. Конечно расточительно, но зато сразу код нужной кнопки с противодребезговой защитой. Можно на него завести 16 кнопок и сделать 5 выходов, как раз под мои свободные 5 портов.
Интересен еще один вопрос. Можно ли соединять к одному кварцу несколько Пиков?. Интуитивно понимаю, что нельзя, но вот почему? Может, кто пробовал?
Пост N: 709
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
3
Награды:
Отправлено: 11.04.08 12:26. Заголовок: Sky Lord пишет: Дио..
Sky Lord пишет:
цитата:
Диодный шифратор делать как-то не хочется
есть такая м/с 74С922. Обрабатывает клавиатуру из 16-и кнопок, на выходе
цитата:
код нужной кнопки с противодребезговой защитой
есть отдельный вывод, который можно использовать для входа прерывания МК, но стоит (у нас) около 7$. Я сначала ее начал использовать, а потом сообразил что дешевле поставить 628-й ПИК с программой.
Пост N: 106
Зарегистрирован: 24.09.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 11.04.08 14:17. Заголовок: Да, цены на шифратор..
Да, цены на шифраторы меня тоже порадовали. Был бы смысл их использовать, если ты не владеешь программированием МК или они стоят дешевле, чем Пик. Я тоже прикинул, что цена на шифраторы примерно та же (порядка 150-280р), а функциональность у Пика все таки выше. Самое интересное, что если купить пачку Пиков (5 шт.), то цена получается даже ниже (130р), чем у шифратора У меня основной МК стоит F877 (160р. если брать до 5 шт.) в корпусе TQFP44. Я сначала хотел купить F873 на 28 ног, но у него корпус другой и придется переходник покупать, а он дорогой. Мне переходник в программатор для TQFP44 обошелся в 1900р., а под F873 стоит 2400р. нет смысла. Да и для одинаковых пиков, и прогу легче переделать.
Пока я так понимаю, что оптимально это Пик. Господа, может есть еще какие-то мнения?
Alberto пишет:
цитата:
есть такая м/с 74С922
Она есть в Чипе стоит 340р.
Кстати, может кто не знает. Открылся "новый" магазин электроники (открылся еще летом). "Вольтмастер" http://www.voltmaster.ru Самое интересное, что там некоторые вещи дешевле выходят, чем в Чипе (притом ощутимо). Например мой МК F877 стоит там 160 (если брать 5 штук, то по 130р.), а в Чипе 290р (если брать 15 штук, то по 147р.).
Пост N: 632
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 11.04.08 15:22. Заголовок: Ведь существуют ещё ..
Ведь существуют ещё сдвиговые регистры. Для них достаточно 4 вывода ПИКа (1-данные, 2-такт, 3-сброс, 4-чтение клавиш), а подключить можно практически неограниченое количество кнопок. Подойдёт МС К176ИР2 (8 кнопок на корпус). Цена будет вообще смешная.
Пост N: 634
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 11.04.08 15:31. Заголовок: Sky Lord пишет: Мож..
Sky Lord пишет:
цитата:
Можно ли соединять к одному кварцу несколько Пиков?. Интуитивно понимаю, что нельзя, но вот почему
Ну почему нельзя? Можно! Но с двумя выводами кварца должен быть соединён только один ПИК, а остальньные (входы генераторов ПИКов) только с одним, тем, к которому подключается вывод генератора.
Пост N: 784
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг:
1
Отправлено: 11.04.08 19:10. Заголовок: Sky Lord пишет: ост..
Sky Lord пишет:
цитата:
осталось свободных всего 5 портов.
А чем заняты остальные? У меня, на сайте, есть 16-ти кнопочная клавиатура. Там одновременно динамическая индикация, на 16 светодиодов, и стробы, у индикации, и опроса клавиатуры общие. Поэтому всего заняты 4+4+4=12 выводов. Кстати, можете его использовать, в качестве дополнительного блока, если остановитесь на таком варианте. Номер нажатой кнопки шифруется двоичным кодом. А вообще, как народ только не изгаляется. Видел вариант, где используется RC-цепочка, где R-набор резисторов. Кнопки подключены к местам соединения. Идея в том, что сперва заряжают ёмкость, а потом измеряют время разряда. Соответственно, при нажатии разных кнопок, R будет различным, и время тоже. Надеюсь, понятно объяснил.
Пост N: 714
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
3
Награды:
Отправлено: 11.04.08 19:30. Заголовок: Чем использовать три..
Чем использовать три (!) корпуса мелкой логики я лучше использую один корпус МК. Дороже? Да, но надо учитывать и печатку (больше дырок, больше размер печатки, сложнее рисунок и т.д.), т.ч. в результате разница будет не такая и большая.
Пост N: 110
Зарегистрирован: 24.09.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 11.04.08 19:32. Заголовок: Пётр пишет: Что-то ..
Пётр пишет:
цитата:
Что-то типа этого...
Прикольно.... Вот до такого я бы точно не додумался. Я уже решил еще один Пик поставить. Дополнительных 33 порта очень кстати. Можно будет убрать два регистра (каждый из которых по размерам как Пик). Но эта идея в дальнейшем может очень пригодиться. Спасибо. Уберу ее в закрома, как деталька в "конструктор" пойдет.
Dmitry Dubrovenko пишет:
цитата:
Надеюсь, понятно объяснил
Да я понял. Остается с вами согласиться, идея интересная и наверняка найдет своих последователей. Лично я, вряд ли буду ее использовать, т.к. всегда стараюсь снизить присутствие аналоговой части до минимума (меньше настройки в будущем).
Отправлено: 11.04.08 20:09. Заголовок: Sky Lord пишет: Нуж..
Sky Lord пишет:
цитата:
Нужно организовать опрос 16 кнопок. От МК осталось свободных всего 5 портов
Что- то только заметил, эту тему. Если у вас есть индикатор, то очень леко реализовать, оставив ваши 5 выводов свободными. Нужно 8 выводов порта, а если они заведены на индикатор по шине данных, то это идеальный вариант. Посмотрите в обмене 4/27. "Вариант создания клавиатуры без прерываний."
Пост N: 112
Зарегистрирован: 24.09.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 11.04.08 21:30. Заголовок: MAZ Только что нашел..
MAZ Только что нашел эту тему в обмене и посмотрел. Оказывается есть столько разных решений одного вопроса. Это здорово. Я сам тоже люблю ЖК. Но в этом "девайсе" 14 (+ точка и общий) сегментные индикаторы и поэтому применена динамическая индикация. Но идея действительно классная в случае ЖК. 16 кнопок размениваем на 4 порта и при этом никакого дополнительного железа! Да это просто подарок какой-то.
Пост N: 115
Зарегистрирован: 24.09.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 11.04.08 22:19. Заголовок: Я решил в случае это..
Я решил в случае этого девайса не заморачиваться. Второй Пик убрал из схемы два регистра и обеспечил мне постоянное наблюдение за кнопками, вне основной программы. А готовый двоичный код выставленный на RB4-RB7 легко использовать в основной программе. Тем более, что два Пика это 66 портов, от которых свободными остались всего 5 (опять пять.... магия какая-то). Притом плата настолько большая по габаритам, что ужиматься нет смысла.
Идея в том, что сперва заряжают ёмкость, а потом измеряют время разряда.
а вот другой вариант: на вход АЦП вешается N резисторов, с одной стороны все выводы соединены между собой и подключены к выводу АЦП (плюс один резистор (R1) на +5В), а на другой стороне резисторов кнопки, подключающие резисторы к общему проводу. Если ни одна кнопка не нажата на АЦП подается +5В через резистор R1 (т.е. грубо говоря +5В), при нажатии любой кнопки на АЦП подается напряжение с делителя резистор R1 и резистор нажатой кнопки. Идея не моя, видел в журнале.
Пост N: 717
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
3
Награды:
Отправлено: 12.04.08 08:09. Заголовок: MAZ пишет: причем о..
MAZ пишет:
цитата:
причем одновременно
и это решаемо: например имеем резистор включенный в +5В R0=10кОм. Резисторы R1=1кОм, R2=2кОм, R3=4кОм, R4=8кОм (резисторы R2-R5 подключены к кнопкам). При нажатии кнопки 1 имеем делитель R0 - R1 (10кОм-1кОм), при нажатии кнопки 2 R0 - R2 (10кОм-2кОм), кнопка 3 R0-R3 (10кОм-4кОм). Если нажать, напримет, кнопки два и три одновременно получим R0 - (R2+R3) или делитель 10кОм - 1,33кОм (сопротивление двух параллельно включенных резисторов), остальные ситуации просчитайте сами (сопротивления резисторов я взял от фонаря, не из ряда и не сделавши никаких предварительных прикидок), т.е. проблем нет, данную ситуацию можно просчитать, главное посмотреть чтобы суммарное сопротивление какой-либо комбинации небыло похоже на сопротивление одного резистора и т.д. Думаю идея ясна.
Пост N: 721
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
3
Награды:
Отправлено: 12.04.08 16:41. Заголовок: В продолжение к пред..
В продолжение к предыдущему. Сейчас подумал, может Вы имели ввиду другое. При 16-и кнопках, если прописать все варианты, получится больше 65 тыс вариантов. В таком случае при нажатии на две, три, четыре и т.д. кнопок ничего не сработает (или сработает на разрешенные в программе комбинации), т.е. своего рода "защита от дурака".
Отправлено: 12.04.08 17:26. Заголовок: Альберто. Мы сейчас ..
Альберто. Мы сейчас на одной стороне. Именно я об этом и напомнил, что это надо продумать. Например, будет нажата S2=1V и S3=1,5V, причем одновременно. А контроллер подумает , что нажата S7=2,5V. Может получится очень и очень плохо. Просто предупредил. Надо продумать, мне кажется надо делать, чтобы при нажатие кнопок одновременно 2 и больше. Напряжение становилось не "стандартное" для опроса. Да, еще при 16 кнопках не принято делать те же действия, что при 2-8. Т.е специально предусмотрены режимы, когда работают сразу двумя кнопками одновременно. Лучше одной выбирать нужный режим (меню), а другая кнопка делает в каждом режиме, что угодно.
Пост N: 726
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
3
Награды:
Отправлено: 12.04.08 20:13. Заголовок: MAZ пишет: Просто п..
MAZ пишет:
цитата:
Просто предупредил.
спасибо. Это просто вариант как использую всего один вывод МК подключить 10-20 кнопок.
цитата:
Например, будет нажата S2=1V и S3=1,5V, причем одновременно. А контроллер подумает , что нажата S7=2,5V.
думаю там гораздо проще все просчитать чем кажется с первого взгляда. Ведь при нажатии двух кнопок не получится простое складывание напряжений (делитель в одном из плеч которого резисторы включаются паралельно). Чтобы было проще вот схема:
цитата:
одной выбирать нужный режим (меню), а другая кнопка делает в каждом режиме, что угодно.
обычно я тоже делаю меню (а иначе зачем ЖКИ), обхожусь шестью (четырьмя) кнопками, вход в меню (Ok), переход по пунктам меню (вверх/вниз, может быть влево/вправо) и выход на предыдущий уровень (Esc). Для подтверждения выбранного меню, введенных данных клавиша Ok. Вот как образец один из моих дизайнов:
Отправлено: 12.04.08 22:50. Заголовок: А вот мой "колх..
А вот мой "колхозный" дизайн. Два "скрытых" режима. Защита от шаловливых рук. И эти же кнопки, там чего только по одной не вытворяют. Сам порой забываю.Извиняюсь за качество.
Пост N: 638
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 13.04.08 10:52. Заголовок: Sky Lord пишет: Тем..
Sky Lord пишет:
цитата:
Тем более, что два Пика это 66 портов, от которых свободными остались всего 5
Что за устроойство это такое? У меня в текущем устройстве на PIC16F84A (приёмник ДУ для телевизора) задействовано только 8 выводов, всободныи остались 5 При этом к нему подключается 12-ти разрядный ЦАП (на резистрорах), два 7-ми сегментных индикатора со статической индикацией, 8 кнопок, ключи для управления селекорами каналов (3 штуки) и каскад БАПЧГ, а также приёмник ДУ и светодиод, мигающий при приёме команд. В общем требуется 12+7+7+8+3+1+1+1=40 выводов, а как я уже говорил используется только 8 выводов ПИКа, причём 2 из них используются для прерывания от приёмника и мигания светодиодом, а остальные шесть, для расширителя на 38 выводов. Расширитель собран на четырёх 74HC595 и одной К176ИР2.
Отправлено: 13.04.08 11:00. Заголовок: Alberto пишет: дело..
Alberto пишет:
цитата:
дело в том что я собирался заказывать корпуса на заводе, изделие должно было быть не в единичном экземпляре, но...
А что но? Даже интересно. Мне тоже вот таких штук надо сделать, дай бог не один десяток. Но с заводом связываться, себе дороже. Да и не умеют наши пока делать нормально. Как человек не ленивый, надфильком и дрелькой, делаю за три часа. Все вместе 2 дня. Сдача. И служит украшением "монстра" которым этот блочок управляет.
Отправлено: 13.04.08 21:53. Заголовок: Это конечно, за Ваши..
Это конечно, за Ваши деньги, любой каприз, можно и фирменный. От меня красота не требовалось, это просто привычка делать, стараться быть похожим на фирму. Но руки, есть руки.
Пост N: 739
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
3
Награды:
Отправлено: 13.04.08 22:36. Заголовок: MAZ пишет: за Ваши ..
MAZ пишет:
цитата:
за Ваши деньги, любой каприз
вот и я о том.
цитата:
От меня красота не требовалось
а в моем случае это 60-70% успеха. Аборигены... им надо чтобы блистело. Просто пример, зерносушилка 420т/час стоит 750 тыс. долларов. Что поставят в самодельном корпусе за 200$ или в "фирменном" за 600$. Ответ думаю понятен.
Отправлено: 13.04.08 22:48. Заголовок: Да, но сколько, тогд..
Да, но сколько, тогда заплатят разработчику этого девайса? Мой аппарат, тянет всего на 20тыс $. Но у Вас монстр какой-то, 420 тонн, Вы не ошиблись? За два дня он пересушит хороший элеватор. Предлагаю, перйти на тему про измерение температуры. Я вам там вопрос оставил.
Пост N: 119
Зарегистрирован: 24.09.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 18.04.08 20:21. Заголовок: Alberto Интересный в..
Alberto Интересный вы дизайн сделали для кнопок. Вы предполагали сделать наклейку или вырезать под каждую кнопку? Вот мой вариант, как я сделал кнопки. Поставил обычные тактовые кнопки, но т.к. в Чипе не было повыше, то я приклеил на эпоксидку гаечки с шайбочками и затянул это все пленкой.
Петр. Я вынес для себя из этого обсуждения, что если готовая ИМС стоит дороже МК, и не требуется высокого быстродействия (меньше мкс), то я буду ставить Пик с соответствующей программой, тут как говориться "что, кому нравится". В схеме, помимо 16 кнопок стоят светодиоды 10 штук. Можно конечно поставить регистр для включения их, но т.к. их 10, то следовательно придется ставить два регистра и т.п. заморочки, здорово решаемые всего лишь двумя Пиками.
Пост N: 22
Зарегистрирован: 03.10.08
Откуда: Украина, г.Донецк
Рейтинг:
0
Отправлено: 24.07.09 10:01. Заголовок: Еще вариант
Я понимаю, что тема старая, но есть вопрос. В одном из устройств, которое я некогда ремонтировал, была клавиатура из 8 кнопок и подключалась по 2 (!!!) проводам. а организовано было просто. аналоговым кодированием. на каждой кнопке висел последовательно резистор, резистор-кнопка были соединены параллельно и подключались к АЦП.
Собственно вопрос. Может кто уже такое делал? насколько устойчиво декодируются?
Пробывал давно. Работает нормально. Экономия. Когда портов не хватает. Но надо подбирать резисторы, и фиксировать пороги напряжения в программе для каждой кнопки. Не очень удобно, при повторе конструкции. И еще проблема с нажатием нескольких кнопок возникает. В остальном, имет право на жизнь.
Пост N: 23
Зарегистрирован: 03.10.08
Откуда: Украина, г.Донецк
Рейтинг:
0
Отправлено: 24.07.09 12:20. Заголовок: MAZ пишет: Не очень..
MAZ пишет:
цитата:
Не очень удобно, при повторе конструкции.
Согласен, ведь сопротивление резисторов не всегда совпадает с написанным. а в этом случае нужна хоть и не большая, но точность.
MAZ пишет:
цитата:
И еще проблема с нажатием нескольких кнопок возникает.
Почему? Ведь закон Ома работает сопротивление параллельно соединенных резисторов даст меньшее сопротивление, следовательно большее напряжение на АЦП. Как я понимаю, сложность рассчитать и составить таблицу в n! где n количество кнопок
Пост N: 1434
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
4
Награды:
Отправлено: 24.07.09 13:28. Заголовок: shaman пишет: а в э..
shaman пишет:
цитата:
а в этом случае нужна хоть и не большая, но точность
тоже делал такое, делал просто: от 0,9К до 1,1К (резистор 1К) - 1-ая кнопка, от 1,8К до 2,2К (резистор 2К) - 2-ая, от 0,6К до 0,8К - нажаты обе кнопки.
цитата:
Как я понимаю, сложность рассчитать и составить таблицу в n! где n количество кнопок
на 16 кнопок не пробовал, но на четырех работало. P.S. Кстати, можете посмотреть мои сообщения здесь же от №716, там речь о такой же клавиатуре.
Все даты в формате GMT
3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет