roboforum.ru

Технический форум по робототехнике.


Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение Digit » 26 окт 2007, 16:51

В общем, такой расклад.
Имеется клавиатура (готовый прибор), которая опрашивает клавиши с какой-то частотой. Частота мне не известна и померять не чем :| Клавиатура имеет стандартную схему 5х3. Т.е. на 5 контактах последовательно выставляется логическая "1", а на 3-х контактах считывается состояние...
Имеется МК AVR (модель конкретная будет выбрана после того, как определюсь с методом решения задачи), который с помощью АЦП мониторит состояние техпроцесса и в зависимости от этого должен "жать" кнопки...
Как это поэлегантнее сделать? Замену клавиатуры не предлагать! :)
Вариантов пока два.
1. Подпаяться к выводам клавы. С максимальной частотой МК проверять, если на одном из 5 выводов "1", то выставить на соответствующем из 3-х входов "1" и держать единичку, пока "1" на выводе не сменится на "0". Но т.к. МК занимается еще и АЦП, то теоретически есть вариант "проморгать" изменение состояния входов-выходов...
2. Поставить 15 транзисторов :D Может кто-нить знает сборку из 16 транзюков в одном корпусе? А то плодить детальки на плате не хочется...

Может есть еще какие-то варианты? Или может у предложенных вариантов есть какие-то существенные достоинства либо недостатки?
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение Myp » 26 окт 2007, 17:16

то теоретически есть вариант "проморгать" изменение состояния

поставить 2 мк :lol:


а вобще какаята странная система ничо не понял нормально поясните чё хотите?
повесить паралельно клавиатуре мк который в зависимости от АЦП должен симулировать нажатие кнопки?
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение Digit » 26 окт 2007, 17:18

Myp писал(а):а вобще какаята странная система ничо не понял нормально поясните чё хотите?
повесить паралельно клавиатуре мк который в зависимости от АЦП должен симулировать нажатие кнопки?


Совершенно в дырдочку верно! :) Или схему нарисовать в пэйнте?
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение avr123.nm.ru » 26 окт 2007, 17:52

Digit писал(а):Частота мне не известна и померять не чем :|


А звуковая плата ПК не подойдет ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение Myp » 26 окт 2007, 17:56

чёто у меня аткое ощущение что проблема из ничего :lol:

всё будет успевать цифроватся, анализироватся и нажиматся\
этож не коспический корабль чтоб там 16 MIPS нехватило

но 3 ключа всёже надо буит на выход поставить
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение Digit » 26 окт 2007, 18:16

Myp писал(а):чёто у меня аткое ощущение что проблема из ничего :lol:
всё будет успевать цифроватся, анализироватся и нажиматся\
этож не коспический корабль чтоб там 16 MIPS нехватило
но 3 ключа всёже надо буит на выход поставить

Та это и не проблема вовсе! :) Мне тоже кажется, что 16МГц хватит за глаза. Просто вот думаю, может есть какое-то элегантное и красивое решение, а я по глупости не вижу его...
А 3 ключа зачем? Резистор и все...

avr123.nm.ru писал(а):А звуковая плата ПК не подойдет ?

Подойдет канеш. Возможно позже :roll:
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение rig » 26 окт 2007, 18:42

прерывание можно организовать.
диодами или логикой 'или' собрать 5 выходов в один. прерывание по наличию 1 на выходе. по прерыванию анализ какая строка подсвечивается единичкой, дешифрируем и выставляем в нужный момент 1 на нужной колонке.

второй вариант
5 входов на прерывание 'изменение состояния ноги' далее аналогично п.1
только так я непробовал так. но знаю что можно.
только будет ли 5 ног на прерывание вот в чем вопрос.

External Interrupt Request Tiny/Мega
Pin Change Interrupt Request М168
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение -= Александр =- » 26 окт 2007, 19:15

Можно и без диодов - прерывание по началу сканирования, а дальше - по таймеру.
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Re: Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение SSG » 27 окт 2007, 09:31

Взять контроллер с тремя входами прерываний и подпаяться к 3 линиям клавы. При возникновении какого-л. прерывания смотрим в нужном ли ряду кнопок производиться опрос. Если да, то устанавливаем ноль на входе нужной пимпы нужным из 5 выходов.
Да, в принципе, и полингом можно молотить. Скорости хватит. :) Но прерывания как-то душевнее. :)
I live My life!
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

Re: Как грамотнее эмулировать нажатие клавиатуры (AVR)?

Сообщение Digit » 28 окт 2007, 00:25

Тогда надо с пятью входами прерываний... Сигнал-то идет на пяти линиях, а на три надо будет выставлять... Ну да это тонкости :)
Прерывания душевнее, согласен 8)
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий


Вернуться в Новичкам или основы основ роботостроения.

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

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