Jump to content
IL-2 Series Forum

Recommended Posts

_Baloo_
Posted (edited)

Всем привет!

Хочу поделиться утилитой, которая родилась из технической необходимости, и рассказать о большом обновлении (Версия 1.7).

Предыстория: > Я использую Defender Cobra M5, в который интегрировал «потроха» от старого джойстика HAMA (ради дополнительных кнопок и осей, а заодно и вибромоторчика в ручке). В системе это два разных устройства. Штатный FFB в ИЛ-2 в такой связке работает некорректно: либо не включается вовсе, либо начинает задирать нос самолета, так как игра ждет полноценный механизм обратной связи с центровкой, а у меня — только вибромотор.

Перерыв весь интернет, я не нашел простого решения. Большинство софта переводит телеметрию в аудио (для вибронакидок). Я сначала сделал утилиту, которая переводит аудио в вибрацию, но это дает лишние задержки и прослойки. В итоге написал свою программу.

Кому подойдет:

  • Тем, у кого джойстик имеет только вибромотор (без силовых моторов на осях).

  • Тем, у кого «гибридные» сборки из нескольких контроллеров.

  • [НОВОЕ] Всем, кто собирает джойстики своими руками (DIY) на базе плат Arduino и популярной прошивки MMJOY2.

  • Обладателям старых FFB-устройств, где штатная реализация в игре работает плохо.

  • Всем, у кого устройство определяется в Windows как «игровой контроллер с поддержкой вибрации» (в драйвере есть тест вибро).

Что делает утилита: Напрямую берет данные из UDP-телеметрии ИЛ-2 и превращает их в честную вибрацию без звуковых прослоек.

Что появилось в версии 1.7 (Поддержка Ардуино и MMJOY2): Теперь программа официально умеет работать с кастомными контроллерами на базе MMJOY2 [v20151118]. Вывод эффектов обратной отдачи можно реализовать на обычном мелком вибромоторчике (3-6V) через популярную связку: умный светодиодный драйвер WS2811 (вешается на цифровой пин B5 Ардуины) + составной транзистор КТ972А.

В самом конфигураторе MMJOY2 настройка занимает полминуты: на вкладке LED достаточно включить галочку LED-RGB WS2811(порт B5) и выбрать цвет по умолчанию White. Полную принципиальную схему распаковки железа (куда паять подтягивающий резистор, защитный диод и конденсатор), а также описание физических нюансов работы этой схемы я подробно расписал в файле README на странице проекта.

Эффекты (настраиваются отдельно):

  • Обороты двигателя, форсаж, перекрут (overspeed).

  • Стрельба и повреждения планера.

  • Тряска на перегрузках.

  • Выпуск шасси/закрылок и характерный толчок при касании земли (Touchdown).

Инструкция и скачивание: Проект полностью открытый. Исходники, подробная инструкция по настройке игры, схема подключения железа и сам готовый автономный .exe файл (теперь со встроенной библиотекой SDL2 и красивой иконкой) лежат в релизах на GitHub: 👉 https://github.com/Alex-r-l/IL2-Haptic-Feedback

Буду рад, если кому-то мой «костыль» поможет так же, как помог мне! Чистого неба!
 

       IL2_Haptic_Feedback.png.ce46d8205ec9255535b1455c3158bbdf.png            2026-06-13152239.png.92948c16db590915aa4320b1ef3aeb33.png

 

Edited by _Baloo_
  • Like 3
  • Thanks 1
Posted

привет спасибо за труд поставил прогу на G 940 в родном софте ффб отключил тестирую убрал стрельбу в ноль тряска не уменьшается как это исправить?

_Baloo_
Posted (edited)

Привет. Постоянная тряска возникает только при включённом двигателе, поэтому у меня он всегда стоит в «0». В версии 1.6 всё работает стабильно, лишней тряски нет.

Если у вас постоянная тряска всё же присутствует, нужно понять, какой именно ползунок за неё отвечает. Попробуйте поочерёдно выставлять каждый ползунок в ноль (значение «0» полностью отключает параметр) и определить, из-за какого из них возникает проблема. Также важно указать, на каком самолёте это происходит и при каких условиях.

Опишите ситуацию подробнее — попробую помочь, если где-то что-то настроено неправильно.

Если вы имеете в виду, что мощность вибрации не уменьшается при стрельбе, то так быть не должно. Возможно, у вас не отключена обратная связь в игре (после отключения игру нужно перезапустить).

Edited by _Baloo_
Posted

привет а в игре обратку надо выкл?

_Baloo_
Posted (edited)
10 минут назад, mak сказал:

привет а в игре обратку надо выкл?

Да, обязательно!

### Настройка игры
Для работы программы необходимо включить передачу данных телеметрии в ИЛ-2:
1. Перейдите в папку с игрой, найдите файл data/startup.cfg.
2. Откройте его через блокнот и добавьте (или отредактируйте) следующие секции:
 

[KEY = motiondevice]
    addr = "127.0.0.1"
    decimation = 2
    enable = true
    port = 29373

[KEY = telemetrydevice]
    addr = "127.0.0.1"
    decimation = 2
    enable = true
    port = 29373


 

Edited by _Baloo_
Posted

ЭТО сделано обратку выключил в игре и рус тугой стал как уменьшить

 

Posted

тестирую на лагг 29 всё в ноль и по другому ставил ффб одинаковая  управлять стало легче

настройки не меняются кнопку обновить нажимаю

_Baloo_
Posted (edited)
47 минут назад, mak сказал:

ЭТО сделано обратку выключил в игре и рус тугой стал как уменьшить

 

25 минут назад, mak сказал:

тестирую на лагг 29 всё в ноль и по другому ставил ффб одинаковая  управлять стало легче

настройки не меняются кнопку обновить нажимаю

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

Я же делал программу только для вибромоторчика. Она работает исключительно с виброоткликом и никак не влияет на силовую обратную связь.

У вас и штатная обратная связь в игре должна работать корректно. У меня она работала неправильно, поэтому я и сделал эту утилиту.

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

01.04.2026 в 19:33, _Baloo_ сказал:

Кому подойдет:

  • Тем, у кого джойстик имеет только вибромотор (без силовых моторов на осях).

 

Edited by _Baloo_
Antony99
Posted
01.04.2026 в 19:33, _Baloo_ сказал:

Всем привет!

Хочу поделиться утилитой, которая родилась из технической необходимости.

Предыстория: > Я использую Defender Cobra M5, в который интегрировал «потроха» от старого джойстика HAMA (ради дополнительных кнопок и осей, а заодно и вибромоторчика в ручке). В системе это два разных устройства. Штатный FFB в ИЛ-2 в такой связке работает некорректно: либо не включается вовсе, либо начинает задирать нос самолета, так как игра ждет полноценный механизм обратной связи с центровкой, а у меня — только вибромотор.

Перерыв весь интернет, я не нашел простого решения. Большинство софта переводит телеметрию в аудио (для вибронакидок). Я сначала сделал утилиту которая переводит аудио в вибрацию, но это дает лишние задержки и прослойки. В итоге написал свою программу.

Кому подойдет:

  • Тем, у кого джойстик имеет только вибромотор (без силовых моторов на осях).

  • Тем, у кого «гибридные» сборки из нескольких контроллеров.

  • Обладателям старых FFB-устройств, где штатная реализация в игре работает плохо.

  • Всем, у кого устройство определяется в Windows как «игровой контроллер с поддержкой вибрации» (в драйвере есть тест вибро).

Что делает утилита: Напрямую берет данные из UDP-телеметрии ИЛ-2 и превращает их в честную вибрацию без звуковых прослоек.

Эффекты (настраиваются отдельно):

  • Обороты двигателя, форсаж, перекрут (overspeed).

  • Стрельба и повреждения планера.

  • Тряска на перегрузках.

  • Выпуск шасси/закрылок и характерный толчок при касании земли(Touchdown).

Инструкция и скачивание: Проект открытый, исходники и готовый EXE лежат на GitHub: https://github.com/Alex-r-l/IL2-Haptic-Feedback

Буду рад, если кому-то мой «костыль» поможет так же, как помог мне!

2026-03-31160524.png.b0f3e2fa3dbfa72faed77b44dfac1ed1.png IL2_Haptic_Feedback.png.dacc209e68399a99319d4cc4d0caa974.png

 

Круто. Респек. Может получится сиё чудо поженить со старыми вибронакидками и накидками для вибромассажа.

_Baloo_
Posted (edited)

Релиз v1.7: Поддержка MMJOY2 и обратная отдача (Haptic Feedback)

В этой версии добавлена официальная поддержка контроллеров на базе прошивки MMJOY2 (версия v20151118) для вывода эффектов вибрации в симуляторе ИЛ-2 Штурмовик.

Ниже приведено подробное руководство по аппаратной сборке схемы управления моторчиком и настройке конфигуратора.

🛠 Схема подключения железа (WS2811 + КТ972А)

Вывод обратной отдачи реализован через умную микросхему-драйвер WS2811, которая управляет мощным составным транзистором КТ972А, приводящим в действие вибромотор.

Подключение микросхемы WS2811 к Arduino (на примере Pro Micro):

  • Ножка №8 (VDD) ➡️ Плюс +5V Arduino

  • Ножка №4 (GND) ➡️ Минус GND Arduino

  • Ножка №6 (DIN) ➡️ Цифровой пин B5 Arduino

  • Ножка №7 (SET) ➡️ Припаять к Ножке №4 (GND) микросхемы

Организация инверсного ключа на транзисторе КТ972А:

  • Ножка №1 (OUTR) микросхемы WS2811 соединяется с Базой транзистора КТ972А.

  • Между Ножкой №1 и Ножкой №8 (+5V) обязательно впаивается подтягивающий резистор номиналом 2 кОм.

  • Эмиттер транзистора КТ972А подключается к общему минусу (GND).

  • Коллектор транзистора идет на Минус (-) вибромоторчика (тип 1220, расчетное напряжение 3-6 Вольт).

  • Плюс (+) вибромоторчика подключается к питанию +5V Arduino напрямую.

  • Конденсатор 10 мкФ установлен между Базой транзистора КТ972А и Минусом (GND). Он работает как аппаратный фильтр, сглаживая ШИМ-сигнал от микросхемы WS2811. Благодаря этому интенсивность вибрации меняется плавно и реалистично, без резких ступенчатых рывков.

Защита и стабилизация питания:

  • Между контактами Плюс (+) и Минус (-) самого моторчика необходимо параллельно впаять защитный диод 1N4007 (катодом к плюсу), чтобы эффективно гасить обратные токи самоиндукции.

  • Для сглаживания просадок по питанию при старте мотора установлен один электролитический конденсатор емкостью 470 мкФ между контактами GND и VDD на плате Arduino.

⚙ Настройка конфигуратора MMJOY2

Чтобы прошивка контроллера корректно отправляла сигналы на пин управления, выполните следующие шаги:

  1. Откройте конфигуратор MMJOY2 [v20151118].

  2. Перейдите на вкладку LED.

  3. Установите галочку напротив пункта LED-RGB WS2811(порт B5).

  4. В выпадающем списке «Цвет по умолчанию» выберите White.

  5. Нажмите кнопку «Записать в контроллер» в правом нижнем углу для сохранения настроек в память Ардуины.

⚠ Важное примечание по работе схемы (Особенность инверсии)

В силу аппаратной архитектуры чипа WS2811 (управление логикой по открытому коллектору), схема имеет физически инвертированную логику:

  • Когда скрипт IL2_Haptic_Feedback запущен, он полностью контролирует процесс и передает корректные уровни ШИМ.

  • Когда скрипт НЕ запущен, микросхема WS2811 не получает входящих пакетов данных. В этот момент подтягивающий резистор 2 кОм удерживает транзистор КТ972А полностью открытым.

  • Если при выключенном скрипте произойдет резкое физическое воздействие на ручку (удар, сильная тряска), это может вызвать микро-дребезг контактов тумблеров или кратковременный сбой, из-за чего контроллер MMJoy2 гасит светодиод, переводя ножку чипа в воздух. В результате подтяжка открывает транзистор, и мотор уходит в постоянную непрерывную вибрацию. Это является аппаратной особенностью данной сборки и не связано со стабильностью программного кода.

Edited by _Baloo_
  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...