Не так давно в форумах поднимался вопрос создания тренажера на основе симулятора. Мысль не бесспорная, но в качестве идеи для тех, кто возьмется за создание своего «устройства ввода» (читай «штурвала») предлагаю свои мысли по расширению возможностей простого джойста (четыре оси четыре кнопки). Без лишних заморочек с написанием драйвера из стандартного джойста можно сделать не совсем стандартный (четыре оси четырнадцать кнопок). Все-ж поболее, чем по умолчанию.
Итак. У нас есть стандартный миди/гейм порт, который «распиновывается» следующим образом:

Рис. 1. Распайка геймпорта
Каждая нажатая кнопка на палке радости – это сигнал на одном из пинов. Четыре кнопки есть. Остальные кнопки можно получить одновременным нажатием четырех стандартных в определенных комбинациях. Но чтобы машина их прочитала именно как отдельные кнопки а не комбинацию основных – идем на сайт http://www.chproducts.com/index.html, и сгружаем оттуда драйвер для CH Virtual Pilot Pro. Этот драйвер был написан для девайсины от СHProducts, которая представляла из себя штурвал с двумя четырехпозиционными шапками (hats) и шестью кнопками. Естессно, какие фунции назначить на кнопки, зависит только от вашей фантазии – можно оставить шапки, а можно и автопилот на них навесить – не принципиально. А сочетания нажатий на этой девайсине выглядят так:
a1 |
a2 |
b1 |
b2 |
|
Номер кнопки на рис. 2 |
Основные (стандартные) кнопки |
1 |
0 |
0 |
0 |
кнопка 1 |
1 |
0 |
1 |
0 |
0 |
кнопка 2 |
2 |
0 |
0 |
1 |
0 |
кнопка 3 |
3 |
0 |
0 |
0 |
1 |
кнопка 4 |
4 |
Дополнительные кнопки |
1 |
0 |
1 |
0 |
кнопка 5 |
5 |
1 |
0 |
0 |
1 |
кнопка 6 |
6 |
1 |
1 |
1 |
1 |
hat1 вверх |
7 |
1 |
1 |
0 |
1 |
hat1 вправо |
8 |
1 |
1 |
1 |
0 |
hat1 вниз |
9 |
1 |
1 |
0 |
0 |
hat1 влево |
10 |
0 |
1 |
1 |
1 |
hat2 вверх |
11 |
0 |
1 |
0 |
1 |
hat2 вправо |
12 |
0 |
1 |
1 |
0 |
hat2 вниз |
13 |
0 |
0 |
1 |
1 |
hat2 влево |
14 |
Комбинация не используется |
1 |
0 |
1 |
1 |
|
|
Правда, есть у этого способа и отрицательная сторона – одновременное нажатие двух дополнительных клавиш может вызвать уже существующую комбинацию – например, кнопки «hat2 влево»+«hat1 влево» отработается как нажатие «hat1 вверх». Но и эту особенность можно использовать с пользой. Назначаем на «hat2 влево» симовскую функцию Left_Brake, на «hat1 влево» – функцию Right_Brake, а на «hat1 вверх» – Brakes. Монтируем кнопки «hat2 влево» под левой педалью, «hat1 влево» под правой, а «hat1 вверх» вообще не выводим никуда, и получаем нормальную систему торможения колесами при рулении «аки в жизни». Одним словом, отпускайте Вашу фантазию в полет и экспериментируйте. Это, так сказать, теория. А на практике это выглядит примерно так:

Рис. 2. Электрическая схема
Pin 2, 7, 10, 14 – соответствующие пины в стандартном разъеме джойстика. GRND – соединяется с любой землей на разъеме. В схеме можно использовать любые диоды.
P.S. Все вышеописанное не просто теоретические выводы. Данная схема была опробована на практике и подтвердила свою живучесть.
Михаил Самохин
Комментарии от Алексея Гербова (Ranger)
На первый взгляд схема кажется простой... но при реализации у меня, как у человека далекого от электроники возникли некоторые сложности. Попробуйте сделать по авторской, а если не выйдет читайте что думаю я по этому поводу. Авторская схема показывает общий принцип, я сделал вывод, что она не работает, в нее внесены некоторые упрощения которые делают ее нефункциональной. По этой причине поломав несколько часов голову я пришел к выводу что общая суть построения кнопок начиная с 5 по 14 такова: находим какое сочетание кнопок 1-4 вызывает некоторую дополнительную кнопку, на ножки этих контактов вешаем провода (в смысле тянем параллельный провод например из того места где сигнал входит в кнопку), в которые впаяны диоды (в этом вся суть, по авторской схеме у меня получилось замыкание всех кнопок одновременно), все это хозяйство смело объединяем (после диода, кстати диод направлен от кнопок 1-4 к виртуальной) и на кнопку, из нее в землю. Сказал сложно, будет время попробую упростить.. Чтоб хоть немного все прояснить приведу пример: сочетание кнопок 1 и 3 вызывают кнопку пять. Поэтому к контактам кнопок (пины 2 и 10) припаиваем два провода, после них диоды, диоды направлены от пинов, после диодов делаем некоторую вилку, то есть объединяем диоды (скручиваем, спаиваем) и потом ведем этот провод к кнопке, а из нее в землю... заморочено, но если вы в Imperium Galactica 2 Alliance помнили
после первого дня хотя бы на каких планетах у вас ест заводы, думаю вы справитесь
и с этой задачей.
А теперь немного о конструкции самого штурвала. Он должен представлять стержень, который может поворачиваться вокруг оси и двигаться на себя и от себя. Для передачи вращения следует установить на край пластинку с резистором, так, чтобы при повороте стержня пластинка заставляла поворачиваться резистор, а соответственно при движении вверх вниз двигалась вместе со стержнем. Движение вверх вниз можно передавать с помощью контакта валов, трубок с канавками или оптики. Прочитайте остальные публикации данного раздела, и, возможно вы поймете то, что, возможно, не поняли сейчас.
|