реклама на сайте
подробности

 
 
> Клавиатура на 6 линиях ввода-вывода, Сколько кнопок максимум можно прицепить
prottoss
сообщение Aug 4 2005, 16:42
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Привет, Всем!

Вопрос теоретического плана - сколько кнопок можно максимум посадить на 6 линий ввода-вывода микроконтроллера. Кто что думает об этом?


--------------------
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 23)
arttab
сообщение Aug 5 2005, 01:41
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Если с диодами, то думаю, штук 30.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
rat
сообщение Aug 5 2005, 03:09
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Вообще говоря всего 9
Go to the top of the page
 
+Quote Post
andk
сообщение Aug 5 2005, 05:06
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 17-12-04
Из: Миасс
Пользователь №: 1 519



Ну чего это 9?
Если кнопка умеет замыкать несколько линий - то много больше smile.gif
Go to the top of the page
 
+Quote Post
arttab
сообщение Aug 5 2005, 05:33
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Если с диодами, то 30.
1-2,1-3,1-4,1-5,1-6 5 кнопок
2-1,2-3,2-4,2-5,2-6 5 кнопок
............................. 6*5=30


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
elserge
сообщение Aug 5 2005, 06:05
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 29-04-05
Из: Брест
Пользователь №: 4 612



А если подключить внешний контроллер клавиатуры - О-о-о!!! rolleyes.gif
Go to the top of the page
 
+Quote Post
Ramil
сообщение Aug 5 2005, 06:16
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 5-08-04
Пользователь №: 452



Цитата(arttab @ Aug 5 2005, 08:33)
Если с диодами, то 30.
1-2,1-3,1-4,1-5,1-6  5 кнопок
2-1,2-3,2-4,2-5,2-6  5 кнопок
............................. 6*5=30
*


иммено так
Прикрепленный файл  Key.rar ( 53.96 килобайт ) Кол-во скачиваний: 404



ещё можно использовать входы с АЦП подключив к ним резистивные
делители комутируемые кнопками - в этом случае теоретически
количество кнопок будет ограниченно только разрядностью АЦП
Go to the top of the page
 
+Quote Post
prottoss
сообщение Aug 5 2005, 08:13
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Ну вы, блин, даете :-) не было только варианта с подключением к МК TCP/IP тогда кнопок было бы........................

Вообще я наверное не совсем точно поставил вопрос, имелось ввиду без внешних пасивных и активных элементов (резисторов, диодов, шифраторов-дешифраторов и прочих числодробилок).

Но сам я пришел к выводу, что не более 15. Счас готовлю страничку по этому поводу у себя на сайте, к понедельнику, думаю выложу


--------------------
Go to the top of the page
 
+Quote Post
ReAl
сообщение Aug 12 2005, 15:47
Сообщение #9


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(prottoss @ Aug 5 2005, 11:13)
Вообще я наверное не совсем точно поставил вопрос, имелось ввиду без внешних пасивных и активных элементов (резисторов, диодов, шифраторов-дешифраторов и прочих числодробилок).

Но сам я пришел к выводу, что не более 15. Счас готовлю страничку по этому поводу у себя на сайте, к понедельнику, думаю выложу
*


Да, без лишних деталей - N*(N-1)/2, что для 6 клавиш даёт 15.
А упомянутые 30 - это "то же самое, но с диодами".

А страничка - это правильно, так как старые книги мало кто читает :-)


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
yung
сообщение Aug 14 2005, 09:59
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 207
Регистрация: 25-03-05
Из: Рязань
Пользователь №: 3 669



Если не трудно, схемку на 15 кнопок нарисуйте или на словах. А то что-то я не догоняю... wacko.gif
Go to the top of the page
 
+Quote Post
Make_Pic
сообщение Aug 14 2005, 12:44
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



Цитата(yung @ Aug 14 2005, 12:59)
Если не трудно, схемку на 15 кнопок нарисуйте или  на словах. А то что-то я не догоняю... wacko.gif
*

Речь идет о том, что каждый из 6 выводов может быть и входом и выходом, т.е. сканирующий ноль может быть на любом выводе, остальные в этот момент подтянуты к лог. ед. Я называю такое включение елочка (впервые применили в изделии "ТЕЛТА-216" на замену "Элетап-2" 7 лет назад) - плюсы при меньшем количестве портов больше кнопок, минусы - надо предусмотреть специальные меры, чтобы не вывести порт из строя. Кстати, то что предлагает prottoss, в его примере не аппаратной, не программной защиты нет.

Прикрепленное изображение
Go to the top of the page
 
+Quote Post
prottoss
сообщение Aug 15 2005, 11:00
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Make_Pic @ Aug 14 2005, 20:44)
Речь идет о том, что каждый из 6 выводов может быть и входом и выходом, т.е. сканирующий ноль может быть на любом выводе, остальные в этот момент подтянуты к лог. ед. Я называю такое включение елочка (впервые применили в изделии "ТЕЛТА-216" на замену "Элетап-2" 7 лет назад)  - плюсы при меньшем количестве портов больше кнопок, минусы - надо предусмотреть специальные меры, чтобы не вывести порт из строя. Кстати, то что предлагает prottoss, в его примере не аппаратной, не программной защиты нет.

Прикрепленное изображение

*


Ну, вот, давайте теперь разберемся, кто из нас чайник...
Загляните на мой сайт, на страницу где где дается описание 15 кнопочной клавиатуры с исходниками. Поясню работу на разборе одного цикла:
1. Все линии порта устанавливаются на ввод, с подключенными pull-up резисторами
2. Одна из линий устанавливается на вывод, и в нее пишется 0
3. Считывается состояние порта, при этом в бит с номером сканирующей линий (та что настроена на вывод и с нулем) пишется 1.
4. Идем на начало цикла, если не все линии просканированы

Поясните уважаемый Make_Pic, какие "надо предусмотреть специальные меры, чтобы не вывести порт из строя" ?????????????
И кто после этого из нас ЧАЙНИК????????????????????????????????????????????

Я вот считаю что как раз сдесь совершенно не надо ни каких мер, ни цента для защиты порта. Все работает как надо - 1 выход, 5 входов ВСЕГДА.


С уважением, Андрей


--------------------
Go to the top of the page
 
+Quote Post
VVL1
сообщение Sep 19 2005, 13:25
Сообщение #13


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 15-04-05
Из: Kieff
Пользователь №: 4 190



Может я "чайник" - здесь всё правильно - по такой схеме строятся все пульты ДУ для теликов и пр. Но как реализовать декодирование нажатия одновременно двух клавиш? Точнее правильное определение нажатия клавиши из одного столбца. Если пальчики толстые и нажимают сразу2-е клавиши - конфуз может окзаться wink.gif
Go to the top of the page
 
+Quote Post
BVU
сообщение Sep 19 2005, 13:40
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(VVL1 @ Sep 19 2005, 17:25)
Может я "чайник"  - здесь всё правильно - по такой схеме строятся все пульты ДУ для теликов и пр. Но как реализовать декодирование нажатия одновременно двух клавиш? Точнее правильное определение нажатия клавиши из одного столбца. Если пальчики толстые и нажимают сразу2-е клавиши - конфуз может окзаться wink.gif
*


Да ведь это зависит от логики программного алгоритма сканирования клавиатуры. Хоть все кнопки нажмите... biggrin.gif


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 19 2005, 13:46
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(BVU @ Sep 19 2005, 21:40)
Цитата(VVL1 @ Sep 19 2005, 17:25)
Может я "чайник"  - здесь всё правильно - по такой схеме строятся все пульты ДУ для теликов и пр. Но как реализовать декодирование нажатия одновременно двух клавиш? Точнее правильное определение нажатия клавиши из одного столбца. Если пальчики толстые и нажимают сразу2-е клавиши - конфуз может окзаться wink.gif
*


Да ведь это зависит от логики программного алгоритма сканирования клавиатуры. Хоть все кнопки нажмите... biggrin.gif
*



Здесь ответ однозначный - двойные нажатия отследить не возможно. Не буду вдаваться в объяснения. Посоветую лишь нарисовать по такой схеме клавиатуру на три линии - три кнопки и попробовать напиать алгоритм декодирования для нажатий более одной кнопки. Сразу говорю, что не получится. А кто видел пульты для теле-видео с двойными нажатиями? :-)


--------------------
Go to the top of the page
 
+Quote Post
Виктория
сообщение Sep 19 2005, 13:48
Сообщение #16


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Программеры утерли нос схемотехникам?!
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 19 2005, 13:55
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Vic1 @ Sep 19 2005, 21:48)
Программеры утерли нос схемотехникам?!
*


Зачем так говорить? Сдесь все програмеры и схемотехники в одном флаконе. И это -есть- ХОРОШО.


--------------------
Go to the top of the page
 
+Quote Post
Виктория
сообщение Sep 19 2005, 14:15
Сообщение #18


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Я за взаимообогащение!
Go to the top of the page
 
+Quote Post
BVU
сообщение Sep 19 2005, 14:16
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(prottoss @ Sep 19 2005, 17:46)
Цитата(BVU @ Sep 19 2005, 21:40)
Цитата(VVL1 @ Sep 19 2005, 17:25)
Может я "чайник"  - здесь всё правильно - по такой схеме строятся все пульты ДУ для теликов и пр. Но как реализовать декодирование нажатия одновременно двух клавиш? Точнее правильное определение нажатия клавиши из одного столбца. Если пальчики толстые и нажимают сразу2-е клавиши - конфуз может окзаться wink.gif
*


Да ведь это зависит от логики программного алгоритма сканирования клавиатуры. Хоть все кнопки нажмите... biggrin.gif
*



Здесь ответ однозначный - двойные нажатия отследить не возможно. Не буду вдаваться в объяснения. Посоветую лишь нарисовать по такой схеме клавиатуру на три линии - три кнопки и попробовать напиать алгоритм декодирования для нажатий более одной кнопки. Сразу говорю, что не получится. А кто видел пульты для теле-видео с двойными нажатиями? :-)
*



Спорить видно бесполезно, но еще раз хочу заметить все зависит от метода сканирования клавиатуры и каким МК. Так что при этом, никто не ввел ограничения, что каждый pin порта не двунапревленный и независимый на ввод запись...? Ведь вопрос ставился: "Вопрос теоретического плана". smile.gif


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
VVL1
сообщение Sep 19 2005, 14:32
Сообщение #20


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 15-04-05
Из: Kieff
Пользователь №: 4 190



Всё звисит от стоимости реализации. Если алгоритм антидребезга + декодирования какая клавиша вдавлена занимает половину памяти контроллера - и 50% МИПСов - это уже очень плохо - если только контроллер не реализует саму задачу клавиатуры smile.gif
Вопрос нужно ставить так: сколько можно реализовать кнопок оптимально, в соотношении трудоёмксть/ресурсоёмкость.
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 19 2005, 14:33
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(prottoss)
Посоветую лишь нарисовать по такой схеме клавиатуру на три линии - три кнопки и попробовать напиать алгоритм декодирования для нажатий более одной кнопки.
При наличии трех линий для трех кнопок отдельной сканирующей линии и не требуется smile.gif Нужно лишь три pull-up резистора. Каждая кнопка замыкает свою линию на общий провод. Можно отследить одновременное нажатие хоть двух, хоть всех трех кнопок smile3009.gif
Go to the top of the page
 
+Quote Post
tobias_ivan
сообщение Sep 20 2005, 07:54
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 150
Регистрация: 7-09-05
Из: Россия, г.Новороссийск
Пользователь №: 8 321



2rezident:
общий провд - это уже четвертая линия wink.gif
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 20 2005, 08:37
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(rezident @ Sep 19 2005, 22:33)
Цитата(prottoss)
Посоветую лишь нарисовать по такой схеме клавиатуру на три линии - три кнопки и попробовать напиать алгоритм декодирования для нажатий более одной кнопки.
При наличии трех линий для трех кнопок отдельной сканирующей линии и не требуется smile.gif Нужно лишь три pull-up резистора. Каждая кнопка замыкает свою линию на общий провод. Можно отследить одновременное нажатие хоть двух, хоть всех трех кнопок smile3009.gif
*



Когда я говорил про три кнопки и три линии я лишь проводил аналогию с 6-ю линиями и 15-ю кнопками, и предлагал три линии и три кнопки соеденить как 6 и 15 и попробовать создать алгоритм, отслеживающий одновременные нажатия двух кнопок. Уважаемый rezident, читайте внимательно топик

Цитата(VVL1 @ Sep 19 2005, 22:32)
Всё звисит от стоимости реализации. Если алгоритм антидребезга + декодирования какая клавиша вдавлена занимает половину памяти контроллера - и 50% МИПСов - это уже очень плохо - если только контроллер не реализует саму задачу клавиатуры
Вопрос нужно ставить так: сколько можно реализовать кнопок оптимально, в соотношении трудоёмксть/ресурсоёмкость.


Алгоритм антидребезга не зависит от количества кнопок и схемы подключения, он зависит от конструкции кнопок :-) А для декодирования существует много стандартных способов все зависит от программиста, эти способы реализующего. Вобще для решения любой задачи есть миллионы путей, но оптимальных - единицы.


--------------------
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 22 2005, 15:18
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(tobias_ivan @ Sep 20 2005, 13:54)
2rezident:
общий провд - это уже четвертая линия  wink.gif
*

Согласен. Не подумал. Был не прав. Исправлюсь. krapula.gif
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 10:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01611 секунд с 7
ELECTRONIX ©2004-2016