Матричная клавиатура

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: Матричная клавиатура

Сообщение blindman » 25 июн 2008, 10:57

Чего там непонятного? Intel HEX - это текстовое представление двоичного файла. Каждый байт кодируется двумя символами, плюс служебная информация
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Матричная клавиатура

Сообщение rig » 25 июн 2008, 11:32

я както без резисторов и диодов обошелся, входы включал со своей подтяжкой, сканировал нулем, где появлялся ноль на входе там нажата кнопка.
порт 8 ног дает матрицу 6х4 прототип китайская клавиатура от калькулятора - там усе готово. Задержки в 1 мс хватает.
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Матричная клавиатура

Сообщение blindman » 25 июн 2008, 11:44

Диоды необходимы, если нужно отлавливать одновременные нажатия нескольких клавиш. А резисторы все-таки полезно, а то ошибся в установке режима порта - и меняй контроллер. И чет не пойму, как без внешних элементов подключить матрицу 6х4 к 8 ногам?
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Матричная клавиатура

Сообщение Victorovych » 25 июн 2008, 13:12

Одновременные нажатия чудно отлавливаются и без диодов
rig писал(а):порт 8 ног дает матрицу 6х4...

чет не получается
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: Матричная клавиатура

Сообщение blindman » 25 июн 2008, 13:49

Victorovych писал(а):Одновременные нажатия чудно отлавливаются и без диодов

И такие ?
matrix.png
matrix.png (5.73 КиБ) Просмотров: 1909


Добавлено спустя 22 минуты 57 секунд:
Хотя такое походу и с диодами не отловить. если только не цеплять диод к каждой кнопке
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Матричная клавиатура

Сообщение rig » 25 июн 2008, 13:55

не растраивайтесь, научитесь еще трехмерно мыслить :ROFL:

всего 28 кнопок можно забить
28 кнопок.GIF
28 кнопок.GIF (6.53 КиБ) Просмотров: 1875

уже выкладывал гдето эту фотку, клава от калькулятора справа в углу , я только разводку вычислил и программу написал.
radio_com4.jpg

вот подпрограмка на Си
key.rar
(851 байт) Скачиваний: 35


Добавлено спустя 5 минут 4 секунды:
вот код более удобный, с #define и понятными названиями клавиш, немного комментариев присутствует
key.rar
(851 байт) Скачиваний: 47
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Матричная клавиатура

Сообщение blindman » 25 июн 2008, 14:00

Как отличить комбинацию 0,7,8 от 0,1,7,8 ?
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Матричная клавиатура

Сообщение rig » 25 июн 2008, 14:09

не понял вопрос, определяется только одна кнопка, дальше выходит из цикла, этож не настольная клавиатура от компа.
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Матричная клавиатура

Сообщение blindman » 25 июн 2008, 14:12

Викторович утверждал, что можно определять одновременные нажатия -- вот я и пытаюсь понять как
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Матричная клавиатура

Сообщение Victorovych » 25 июн 2008, 14:16

blindman писал(а):И такие ?

И такие. Сигнал на сканирующих ногах имеет два состояния 0 и серое, проходим скан всех кнопок и смотрим результат

rig писал(а):не растраивайтесь, научитесь еще трехмерно мыслить :ROFL:

Вариант рулезный, не додумался
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: Матричная клавиатура

Сообщение rig » 25 июн 2008, 14:29

на моей схеме врядли одновременное нажатие определить можно. хотя наверно можно. хотя наверно можно
0,7,8
D7 в 0 выход остальные подтяжка вход получим D0 D1 - 0 остальные 1
D6 в 0 выход остальные подтяжка вход получим D1 - 0 остальные 1

от 0,1,7,8 ?
D7 в 0 выход остальные подтяжка вход получим D0 D1 - 0 остальные 1
D6 в 0 выход остальные подтяжка вход получим D0 D1 - 0 остальные 1

дальше уже думай что нажато, усложняй программу опроса, прерывания или еще что придумать вплоть до отдельного МК, но надоли такое чудо?

Добавлено спустя 4 минуты 58 секунд:
Victorovych писал(а):Вариант рулезный, не додумался

яж тоже не "сам" все давно уже придумано.
принцип понятен, а дальше как фантазия разыграется.
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Матричная клавиатура

Сообщение blindman » 25 июн 2008, 14:33

rig писал(а):0,7,8
D7 в 0 выход остальные подтяжка вход получим D0 D1 - 0 остальные 1
D6 в 0 выход остальные подтяжка вход получим D1 - 0 остальные 1

Правильно так :
0,7,8
D7 в 0 выход остальные подтяжка вход получим D0 D1 - 0 остальные 1
D6 в 0 выход остальные подтяжка вход получим D0 D1- 0 остальные 1

Втом то и дело, что при 3 нажатых кнопках закорочены 4 линии - и нажатие четвертой ничего не меняет
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Матричная клавиатура

Сообщение rig » 25 июн 2008, 14:47

так то да, тогда поставь диоды через каждую кнопку -|>|--/ --- , будет айс.
в зависимости какая задача выбирай средства.
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Матричная клавиатура

Сообщение Victorovych » 25 июн 2008, 14:49

blindman писал(а):Втом то и дело, что при 3 нажатых кнопках закорочены 4 линии - и нажатие четвертой ничего не меняет

Та да, не подумал :( Чтоб такие отловить действительно кнопки диодами развязывать нужно
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: Матричная клавиатура

Сообщение blindman » 25 июн 2008, 14:54

Вот я и говорю что к каждой. А ваще это я так - чиста теоретически :D
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11