Может кому будет интересно, EFIS в простейшем варианте.
Определяется всеми как джойстик, имеет оси, хатки, кнопки, энкодеры. У меня пользуется на PMDG737 FSX, но разницы где включать — нет, это просто джойстик.
Особых знаний не нужно, травить платы и паять микросхемы тоже лишнее. Что имеем:
Arduino Leonardo 1 шт
Энкодеры R182 4шт
Тумблеры 2 шт
Миникнопки 7 шт
Ручки 4 шт
Резисторы 10кОм 15шт
Паяем кнопки, энкодеры, с подвесом через резюки.
Грузим Arduino 1.5.8. Указываем плату как Arduino Leonardo HID, тип работы — gamepad. Описано здесь http://mysku.ru/blog…ress/29785.html
Зашиваем такой скетч 
test_13_joy.zip 673байт
42 Количество загрузок: — и крутим и нажимаем все подряд — он показывает номерацию кнопок.

test_13_joy.zip 673байт
42 Количество загрузок: — и крутим и нажимаем все подряд — он показывает номерацию кнопок.
Далее такой 
Efis_control_joy_1.zip 1.24К
37 Количество загрузок: — он уже правильно обрабатывает энкодеры и нажатия кнопок.

Efis_control_joy_1.zip 1.24К
37 Количество загрузок: — он уже правильно обрабатывает энкодеры и нажатия кнопок.
Потом либо во фсупик, либо штатными средствами, я пользовался LINDA — назначаем все что нам нужно:
В общем то и все, дешево и сердито.
Ссылка на блог не работает.
Ссылочку поправьте пожалуйста. И может подскажете как собрать таким же образом MCP?
Крайне интересно. А как узнавать положения осей джойстика? Дребезга осей тут принципиально нет?
http://www.avsim.su/…-вечеров/page-1
Поправка
http://mysku.ru/blog…ress/29785.html
либо
http://mysku.su/novo…-pro-micro.html
либо вот сохраненная копия с яндекса
http://hghltd.yandex…0b6567c&keyno=0
Можно и MCP, только без индикации, так же вставляем энкодеры, подключаем, прописываем в скетче, прописываем в LINDA, и все готово.
Положения осей как у обычного джойстика, калибруется стандартным образом. А дребезг, я думаю можно убрать программно.
У обычного джойстика плохо, но можно оценить по положению ручки. Положение энкодера менее информативно. Или нет? Зачем программно убирать дребезг если его тут принципиально не должно быть. Вы вообще врубаетесь о чем речь идет?
Да, если честно, не совсем понимаю о чем Вы меня спрашиваете? конкретно в моем EFIS мне не надо знать положение крутилки, потому как я пользуюсь масштабированием, давлением и переключением типа карты, а тут и так все понятно, налево крутишь — меньше, направо — больше, а давление и масштаб и так на дисплеях видно.
Приношу свои искренние извинения, что задал грубо вопрос автору и человеку, который реально руками что-то сделал для сима. Забыл, кто автор темы
Творческих людей на сайте мало.
Мне кажется, что такой джойстик удобен мухобойщикам типа на шаг винта, качество смеси, триммеры. На многих «самолетах» посмотреть в каком положении ручки достаточно сложно, а какую скажем смесь выставил — забывается. В реале ручки переставляешь частенько ощупью, в знакомое положение. В симе хотелось бы посмотреть например на цифровой индикатор и убедиться, что ручка смеси в положении 80%
Теоретически дребезг оси, назначенной на скажем триммер, должен дергать самолет, и тем самым его тормозить, снижать качество. Для мухобойки в аварийной ситуации это может быть критично. Не знаю как в симе запрограммировано, но из-за дребезга отказался от джойстиков с сопротивлениями на такие оси.
С удовольствием купил бы готовый продукт с индикацией значения оси. Как люди летают на 4-х моторниках поршневиках вообще не представляю
На Ил-4 качество смеси подбирали по цвету выхлопных патрубков, но в симе такое пока не реализовано. Хотя бы четко знать положение управляющих элементов.
Наставил плюсиков
Я понял Вашу идею, Вам надо жесткое соответствие положения ручки и передаваемого сигнала без дребезга. Какие проблемы, берете потенциометр, внутри Arduino программно обрабатываете его показания с задержкой в 200мс, сглаживаете, и транслируете это уже на выход Arduino. Получаете джойстик со сглаженным сигналом без дребезга. Я думаю как то так.
вот нашел и тему соответсвующую http://arduino.ru/fo…-potentsiometra
обработку можно вести как в спортивном судействе, из допустим 10 значений за 100мс выбрасывать два минимальных и два максимальных, остальные усреднять.
+ взаимно)
Чем и прекрасен Arduino, что можно самому себе создать любой
продуктджойстик с любыми характеристиками, под любую задачу, заточить его, и это уже будет законченное аппаратное решение с разъемом USB.+

Я так понимаю используются не все функции EFIS, или вы каким то образом смогли впихнуть все в леонардо?
Да Вы правильно понимаете, я использую только то, что мне надо ( к примеру переключение дюймы-гектопаскали вообще мной не используется, как и многое другое). Настроил один раз и хватит. Но для реализму — почему нет?
И в Leonardo можно с легкостью запихать весь EFIS, со всеми кнопками, тумблерами и энкодерами. У него 14 цифровых и 6 аналоговых входов. Из цифровых входов можно сделать матрицу — допустим 6х6 (12 входов) это уже 36 кнопок или 18 крутилок, + остаются еще 2 цифровых и 6 аналоговых,а ежели их через резюки, так это вообще можно расширить до границ вселенной)) Для полного EFIS должно хватать с запасом. Но тут я не знаю, может быть у джойстика есть ограничение по количеству кнопок? Этот вопрос я еще не изучал.
То есть если использовать мегу можно теоретически вообще заменить весь MIP?
Интересная мысль.
А как ардуино работает в плане скорости срабатывания? Нет ли задержек?
Я чего интересуюсь? Крутится в голове мысль плавно переходить на ардуино.
Тут есть один нюанс — точно известно, что Leonardo умеет прикидываться джойстиком, про Mega мне не известно такое…..
По крайней мере в игровом процессе, каких нибудь лагов багов мной замечено не было, просто тупо джойстик с моментальной реакцией, ничем не отличающийся от других игровых устройств.