Jump to content

Archived

This topic is now archived and is closed to further replies.

Necroscope

Трансляция Энкодера в нажатие Кнопок.

  

12 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

Necroscope

Доброго всем дня.

На сегодняшний день я не смог найти прибора внятно и безошибочно транслирующего сигнал энкодера в "замыкание" кнопок. Mjoy16 - слабая и не очень удачная попытка оной трансляции.

По сему - было принято решение делать своё "железное" решение. Однако встал вопрос - "Сколько делать?" Ибо себе то я всяко сделаю, да и цена мелкой серии по себистоимости колеблется очень слабо.

Хотелось бы знать - насколько востребовано подобное решение(для чего и прикручена голосовалка)

 

Далее список "фич" и всего прочего:

- Прицип работы - при медленном вращении в одну сторону срабатывает("мигает") одна кнопка, при быстром другая. Соответственно при вращении в другую сторону срабатывают 3-я и 4-я кнопки.

- Схема подключения - 1 энкодер = 1 плата = 4 выхода на кнопки. ТОесть на каждый энкодер необходима своя плата.

- 2 выхода на кнопки работают("нажимаются") при малой скорости вращения, 2 при быстрой.

- задатчик скорости переключения режимов быстро\медленно - кнопкой по принципу "нажал-повернул_с_нужной_скоростью-отпустил"

- переключение режимов срабатывания кнопок джамперов (на землю\на плюс)

- возможно будет вариант с оптопарами - в этом случае просто будут замыкаться заведенные вами контакты.

- возможность подключения к любым девайсам, будь то джойстки, клавиатуры, контролеры или что-либо-ещё, без внесения изменений в оные.

 

- варианты продажи собраный\протестированый или "кит" - плата, прошитый чип и набор россыпухи. Ориентировочная стоимость 1-го собраного и протестированного девайса - 10-15$. "Кит" - ~10$. Цены сильно предварительные и скорее всего будут менятся в разные стороны в зависимости от цены деталей и цены изготовления плат.

 

Буду рад ответить на вопросы.

Прошу голосовать.

Share this post


Link to post
Share on other sites
truckerrus

......Буду рад ответить на вопросы.

Добрый день! Подскажите, пожалуйста, подойдет ли ваш девайс для реализации панели автопиота Airbus? То-есть имеем задатчики скорости, высоты и курса,которые должны вращаться вправо-влево для изменения значений и нажиматься-вытягиваться для включения-выключения.

Пока не голосовал, но предварительно могу сказать-если годится для арбуза, возьму 4 кита для самостоятельной сборки.

С уважением

Антон

Share this post


Link to post
Share on other sites
Necroscope

Добрый день! Подскажите, пожалуйста, подойдет ли ваш девайс для реализации панели автопиота Airbus? То-есть имеем задатчики скорости, высоты и курса,которые должны вращаться вправо-влево для изменения значений и нажиматься-вытягиваться для включения-выключения.

Пока не голосовал, но предварительно могу сказать-если годится для арбуза, возьму 4 кита для самостоятельной сборки.

С уважением

Антон

 

Приветствую.

На самом деле под панель автопилота оно и задумывалось изначально. Если в подразумеваемой модели Airbus реализовано использование кнопок для настройки высоты\скорости и т.п. - да.

Основная "фишка" этого девайса заключается в том что игра\fsuipc\программа настройки джойстика - будут видеть эти мерцания кнопок как нажатия обычных железных пуш-батонов. Тоесть на них можно будет смело вешать любые возможные функции, макросы и прочие радости. :rolleyes:

Что касаемо нажиматся-вытягиватся - те энкодеры которые я встречал - могут нажиматься, для этого у них встроена дополнительная кнопка. "Вытягивание" можно достаточно просто механически реализовать. Ну или поискать энкодеры с PUSH-PULL. ... я бы сам таких прикупил десяток :D

С наилучшими.

Share this post


Link to post
Share on other sites
Vasaman

Возьмем однозначно 4 шт. для эксперементов.

Share this post


Link to post
Share on other sites
vitabutch

Есть такая штука - называется Pulse switch. Образцы были куплены нами со Sly-ем на радио-рынке в Киеве, т.е. она есть у нас в продаже. Делает тоже самое, что Вы хотите сделать при помощи своего проекта. Крутим в одну сторону - периодически замыкается одна пара контактов. Крутим в другую - другая.

Выглядит так

pulse_switch1.jpg

Делать обработчик энкодера в кнопку сложно - быстрые нажатия кнопки при быстром вращении энкодера большинство программ будут пропускать, т.к. они просто не рассчитаны на такие быстрые клики. Получите работу системы, очень похожую на Мджой. Мой совет, сделайте сначала эмулятор "быстрой кнопки" и посмотрите, будет ли работать с симом.

Share this post


Link to post
Share on other sites
Necroscope

Есть такая штука - называется Pulse switch. Образцы были куплены нами со Sly-ем на радио-рынке в Киеве, т.е. она есть у нас в продаже. Делает тоже самое, что Вы хотите сделать при помощи своего проекта. Крутим в одну сторону - периодически замыкается одна пара контактов. Крутим в другую - другая.

Выглядит так

Делать обработчик энкодера в кнопку сложно - быстрые нажатия кнопки при быстром вращении энкодера большинство программ будут пропускать, т.к. они просто не рассчитаны на такие быстрые клики. Получите работу системы, очень похожую на Мджой. Мой совет, сделайте сначала эмулятор "быстрой кнопки" и посмотрите, будет ли работать с симом.

 

Ну как показали предварительные разработки - не сложно. Но хлопотно :rolleyes:

 

Для быстрых режимов и придуман быстрый режим (тафтология) :rolleyes:

Если программа не может обрабатывать быстрые нажатие кнопок - тут уже ничем не помочь. Но если есть раздельное управление, например как у задатчика высоты в АП некоторых крафтов в FSX - все становится легко и просто - выставляем предел срабатывания "быстрого" режима на уровне "начала пропусков программой" и наслаждаемся.

 

У мджоя проблема была не в программах а в кривоватой реализации логики.

Share this post


Link to post
Share on other sites
truckerrus

.... "Вытягивание" можно достаточно просто механически реализовать. Ну или поискать энкодеры с PUSH-PULL. ... я бы сам таких прикупил десяток :rolleyes:

С наилучшими.

А вот не могли-бы вы поподробнее, желательно с рисуночком, объяснить как реализовать сие таинство вытягивания? И на счет промышленных энкодеров-давайте контакта не терять, если вы первый найдете-берите на мою долю, если я, соответственно беру на вас. Я территориально в ближнем Подмосковье, мне до Москвы 20 минут ехать, а в нерезиновой, думаю, можно все сыскать, было-бы желание, а оно есть.

С уважением

Антон

з.ы. Предварительно беру киты на 5 энкодеров, сегодня с человеком свяжусь-узнаю, если да, то на него тоже 5 штук

Share this post


Link to post
Share on other sites
Necroscope

А вот не могли-бы вы поподробнее, желательно с рисуночком, объяснить как реализовать сие таинство вытягивания? И на счет промышленных энкодеров-давайте контакта не терять, если вы первый найдете-берите на мою долю, если я, соответственно беру на вас. Я территориально в ближнем Подмосковье, мне до Москвы 20 минут ехать, а в нерезиновой, думаю, можно все сыскать, было-бы желание, а оно есть.

С уважением

Антон

з.ы. Предварительно беру киты на 5 энкодеров, сегодня с человеком свяжусь-узнаю, если да, то на него тоже 5 штук

 

Договорились :rolleyes:

 

вот первое что пришло в голову как сделать "Вытяг" на коленке.

post-7057-124928854181_thumb.jpg

Share this post


Link to post
Share on other sites
truckerrus
Posted · Hidden by SLAVJAN, October 7, 2010 - удаление из просмотра скрытых сообщений
Hidden by SLAVJAN, October 7, 2010 - удаление из просмотра скрытых сообщений

Спасибо! Открываем кружок умелые руки, опять жена орать будет :rolleyes:

Немного оффтопа. У вас нет никаких мыслей по выводу из сима индикации на табло? Что-бы не просто крутилки-кнопки реализовать, а как на панели и индикацию вывести?

Share this post


Link to post
Necroscope
Posted · Hidden by SLAVJAN, October 7, 2010 - удаление из просмотра скрытых сообщений
Hidden by SLAVJAN, October 7, 2010 - удаление из просмотра скрытых сообщений

Спасибо! Открываем кружок умелые руки, опять жена орать будет :)

Немного оффтопа. У вас нет никаких мыслей по выводу из сима индикации на табло? Что-бы не просто крутилки-кнопки реализовать, а как на панели и индикацию вывести?

Насколько я знаю - это делает FS_BUS или IO_Card - я тут не спец совершенно.

Для себя я не вижу смысла, так как все равно ВК перед глазами.

Share this post


Link to post
Vasaman

Есть такая штука - называется Pulse switch. Образцы были куплены нами со Sly-ем на радио-рынке в Киеве, т.е. она есть у нас в продаже. Делает тоже самое, что Вы хотите сделать при помощи своего проекта. Крутим в одну сторону - периодически замыкается одна пара контактов. Крутим в другую - другая.

Где в Москве можно купить данный девайс. Сейчас перелопатил инет, обзвонил магазины никто об этом ничего не знает. Если у кого есть возможность достать, откликнитесь.

Share this post


Link to post
Share on other sites
truckerrus
Posted · Hidden by SLAVJAN, October 7, 2010 - удаление из просмотра скрытых сообщений
Hidden by SLAVJAN, October 7, 2010 - удаление из просмотра скрытых сообщений

Насколько я знаю - это делает FS_BUS или IO_Card - я тут не спец совершенно.

Для себя я не вижу смысла, так как все равно ВК перед глазами.

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

1.MCDU

2.MFU aka панель автопилота

3.Пульт управления освещением

4.Пульт тормозов и шасси

Визуалку выводим на один монитор, дисплеи на второй. Должно получиться дешево и сердито :) , на а там посмотрим, может и до кокпита руки дойдут.

Share this post


Link to post
Valery-B

Уважаемый Профи!

 

Сам я тоже занимался подобным проектом, результаты можете посмотреть здесь: http://il2.nadym.ru/forum/index.php?showtopic=412

Но ихмо, использовать скорость вращения для определения какую кнопку нажать, как это сделал автор Mjoy16, весьма бесперспективное дело. Тут имееться несколько причин. Во первых, сам HID-интерфейс, на основе которого реализованы все джойстики, изначально ориентирован на обычные кнопки, т.е. время нажатие на нее человеком не должно быть меньше какой-то величины. В своей разработке я пытался его определить, число не помню, но факт что оно достаточно велико. В связи с этим, при быстром вращении какая-то часть нажатий кнопок будет обязательно потеряна. Кроме того, сам программный алгоритм сканирования состояния кнопок в Mjoy16 достаточно громоздок и медлителен, что тоже не даст крутить энкодер быстро. Хотя может быть, при применении других устройств, типа IOCARD этого удастся избежать. Таким образом, быстро и надежно вращать энкодер не получиться. Кроме того, практически все крутилки в самолетах, которые иммитируються энкодерами, изменеяют одну величину (всего пара кнопок) и если уж хотим реалистичности, так и нужно ставить один энкодер на одну изменение одной переменной.

 

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

 

С Уважением, Валерий.

Share this post


Link to post
Share on other sites
Necroscope

Уважаемый Профи!

 

Сам я тоже занимался подобным проектом, результаты можете посмотреть здесь: http://il2.nadym.ru/forum/index.php?showtopic=412

Но ихмо, использовать скорость вращения для определения какую кнопку нажать, как это сделал автор Mjoy16, весьма бесперспективное дело. Тут имееться несколько причин. Во первых, сам HID-интерфейс, на основе которого реализованы все джойстики, изначально ориентирован на обычные кнопки, т.е. время нажатие на нее человеком не должно быть меньше какой-то величины. В своей разработке я пытался его определить, число не помню, но факт что оно достаточно велико. В связи с этим, при быстром вращении какая-то часть нажатий кнопок будет обязательно потеряна. Кроме того, сам программный алгоритм сканирования состояния кнопок в Mjoy16 достаточно громоздок и медлителен, что тоже не даст крутить энкодер быстро. Хотя может быть, при применении других устройств, типа IOCARD этого удастся избежать. Таким образом, быстро и надежно вращать энкодер не получиться. Кроме того, практически все крутилки в самолетах, которые иммитируються энкодерами, изменеяют одну величину (всего пара кнопок) и если уж хотим реалистичности, так и нужно ставить один энкодер на одну изменение одной переменной.

 

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

 

С Уважением, Валерий.

 

Уважаемый Валерий,

 

Именно этот пост и побудил нас делать саму эту схему описаную в топике! :umnik2: Просто я не смог найти в том посте "how to" или гайда - "купи вотэта и спаяй вот так". Поэтому окрыленный идеей побежал к знакомому гуру от электроники и озадачил его тех-заданием. К сожалению гуру сейчас загружен по работе и точных сроков пока не дает.

Хотелось бы уточнить какие результаты получились у Вас. Как обстоят дела с пропуском нажатий?

HID - это хорошо. Но его трудно сделать "на коленке", по сути это надо делать аналог контроллера джойстика\клавиатуры.

Мы решили боротся с пропусками нажатий - вводом дополнительной пары контактов для "быстрого" режима.

С переменными тут сложно. Если мы привязываемся к переменным - то плата\проект становится специализированым под конкретную модель\игру. В то время как хочется вольного переноса функционала с игры в игру или модель. Плюс хочется избежать самописного софта для настроки. Так например я-бы с удовольствием повесил это на свой Кугар или МФП - хотя-бы для того чтобы имспользовать огромные возможности софта этих устройств.

Согласен - моно-модуль был-бы оптимальнее. Просто он в то-же время и сложней. Думаю покидать все в кучку и соединить общей шиной будет не сложно. Тем более мы планируем использовать штырьковые разьемы.

Думаю было-бы очень полезно и здорово обединить усилия! Напишите в личку Ваш мэйл или аську?

 

С наилучшими!

Share this post


Link to post
Share on other sites
Valery-B

Уважаемый Валерий,

 

Именно этот пост и побудил нас делать саму эту схему описаную в топике! :) Просто я не смог найти в том посте "how to" или гайда - "купи вотэта и спаяй вот так". Поэтому окрыленный идеей побежал к знакомому гуру от электроники и озадачил его тех-заданием. К сожалению гуру сейчас загружен по работе и точных сроков пока не дает.

Хотелось бы уточнить какие результаты получились у Вас. Как обстоят дела с пропуском нажатий?

 

Значит так, подойду из далека. Иногда я балуюсь в игры типа Operation Flashpoint, ARMA и т.п. В них, скорее всего вы наслышаны, можно управлять любой техникой, начиная от велосипедов и заканчивая танками, самолетами и т.д. Еще у меня дома есть велотренажер. Так как просто педали крутить скучно, я решил совместить этот оздоровительный процесс с игрой, что-бы вращая педали, передвигаться по виртуальному миру. С поворотами проблем не возникло, поставил две кнопки. А вот с движением вперед стало сложнее. Сначала закрепил на колесе магнит, который-бы замыкал контакты геркона, заменяющего кнопку, но не тут-то было, при вращении в панели управления джойстиками никаких нажатий не было видно. Пришлось делать так называемый "расширитель" импульса по схеме одновибратора, только тогда что-то получилось.

 

Теперь вернемся к энкодерам. Повторюсь, очень короткое нажатие кнопки (человек обычную кнопку так нажать и отпустить быстро не сможет) ни к чему не приведет. Это не отобразиться ни в панели управления джойстиками, ни в симуляторе. Я подбирал интервал времени через таймер микроконтроллера, и примерно определился на 0.1 секунде. Сейчас я не могу точнее сказать, нужно лезть в программу на ассемблере и все вспоминать. Тут еще вот что. обычные энкодеры - это механические контакты со своим дребезгом. Дребезг гаситься, не важно, каким способом (программно или RC-цепочкой), но на это также нужно время. Если учесть, что за один поворот энкодера произойдет около 40 нажатий кнопок, то интервал между ними, вполне соизмерим с временем борьбы с дребезгом и собственно, самим интервалом нажатия (0.1 сек.), поэтому, если вращать ручку быстро, часть нажатий будет безвозвратно потеряна, что для энкодера допускать никак нельзя.

 

HID - это хорошо. Но его трудно сделать "на коленке", по сути это надо делать аналог контроллера джойстика\клавиатуры.

Мы решили боротся с пропусками нажатий - вводом дополнительной пары контактов для "быстрого" режима.

 

HID это программно аппаратный интерфейс человека и компьютера, клавы, мышки и джойстики в виндовсе работают через него. Великий и ужасный Mjoy16 тоже основан на HID, только USB интерфейс в нем работает программно, поэтому и весьма медлителен. Хотя его используют огромное число самодельщиков, для всех симуляторов.

Про "Быстрый режим", если он будет опираться на обычные джойстики все-же стоит забыть, как я уже выше объяснял, слишком короткое нажатие система не воспримет вообще.

 

с переменными тут сложно. Если мы привязываемся к переменным - то плата\проект становится специализированым под конкретную модель\игру. В то время как хочется вольного переноса функционала с игры в игру или модель. Плюс хочется избежать самописного софта для настроки. Так например я-бы с удовольствием повесил это на свой Кугар или МФП - хотя-бы для того чтобы имспользовать огромные возможности софта этих устройств.

 

Про переменные я для примера сказал, конечно, ничего привязывать никуда не нужно, сам пользователь в настройках игры будут связывать вращение энкодера с изменением какой-либо величины.

 

Согласен - моно-модуль был-бы оптимальнее. Просто он в то-же время и сложней. Думаю покидать все в кучку и соединить общей шиной будет не сложно. Тем более мы планируем использовать штырьковые разьемы.

 

Можно, просто при изготовлении печаток не разрезать их на отдельные платы, а оставить по несколько штук вместе. Ну и при разводке платы предусмотреть на шинах питания дополнительные контактные площадки, для связи их монтажным проводом. Я вот тоже ошибся, сделал плату с таким расчетом, что-бы она крепилась на энкодере непосредственно, но иногда такая конструкция просто не влезет по размеру, например около изгиба панели.

 

было-бы очень полезно и здорово обединить усилия! Напишите в личку Ваш мэйл или аську?

 

С наилучшими!

 

Вполне согласен.

Share this post


Link to post
Share on other sites
Necroscope

Теперь вернемся к энкодерам. Повторюсь, очень короткое нажатие кнопки (человек обычную кнопку так нажать и отпустить быстро не сможет) ни к чему не приведет. Это не отобразиться ни в панели управления джойстиками, ни в симуляторе. Я подбирал интервал времени через таймер микроконтроллера, и примерно определился на 0.1 секунде. Сейчас я не могу точнее сказать, нужно лезть в программу на ассемблере и все вспоминать. Тут еще вот что. обычные энкодеры - это механические контакты со своим дребезгом. Дребезг гаситься, не важно, каким способом (программно или RC-цепочкой), но на это также нужно время. Если учесть, что за один поворот энкодера произойдет около 40 нажатий кнопок, то интервал между ними, вполне соизмерим с временем борьбы с дребезгом и собственно, самим интервалом нажатия (0.1 сек.), поэтому, если вращать ручку быстро, часть нажатий будет безвозвратно потеряна, что для энкодера допускать никак нельзя.

Именно для этого мы и придумываем "Быстрый" режим. :pilotfly: Так как все вышеописаное имеет место быть - решение представляетя следующим: при привышении некоторого значения "нажатий\в секунду" энкодера чип перестает выводить "замыкания" на пару контактов 1 и 2, и начинает выводить их на пару 3 и 4.

При условии того что уровень срабатывания можно будет легко и доступно изменить - проблем быть не должно.

Это будет так же полезно если в модели самолета (например в задатчике высоты АП) в есть разделение ввода сотен и тысяч футов. Такое-же разделение точно есть в Fsuipic.

 

HID это программно аппаратный интерфейс человека и компьютера, клавы, мышки и джойстики в виндовсе работают через него. Великий и ужасный Mjoy16 тоже основан на HID, только USB интерфейс в нем работает программно, поэтому и весьма медлителен. Хотя его используют огромное число самодельщиков, для всех симуляторов.

Хлопотно это :dance:

 

Можно, просто при изготовлении печаток не разрезать их на отдельные платы, а оставить по несколько штук вместе. Ну и при разводке платы предусмотреть на шинах питания дополнительные контактные площадки, для связи их монтажным проводом. Я вот тоже ошибся, сделал плату с таким расчетом, что-бы она крепилась на энкодере непосредственно, но иногда такая конструкция просто не влезет по размеру, например около изгиба панели.

Да, разумно. Думаю если процесс пойдет - можно сделать и так. Просто сейчас "предзаказ" примерно 20 единиц, и морочится на этом пока не резон.

 

Вполне согласен.

Напишу в ЛС :bad:

Share this post


Link to post
Share on other sites

×
×
  • Create New...