[Интегра] ResTed Posted March 26, 2021 Share Posted March 26, 2021 Всем привет. Сие устройство было давно в мои планах на то, чтобы собрать и использовать, но отсутствие достаточного времени и порой ослабление желания откладывало это событие. Но недавно звёзды сошлись в прямую линию и руки дотянулись до создания устройства и оно уже мною используется некоторое время. В этой теме я поделюсь с вами нюансами создания подобного трекера, настройки и калибровке, а так же решение проблем, с которыми я столкнулся в этом процессе. Quote !!!ВНИМАНИЕ Я не претендую на авторские права на сам процесс создания, коду прошивки и прочему, что связано с данной инструкцией. Всё было найдено в открытом доступе, права принадлежат их создателям. Хотел добавить в конце, но всё же лучше напишу именно в этом месте: Всё, что вам может понадобиться я любезно загрузил на облачный диск, так что если вам будет лень что-то искать и/или скачивать или есть сомнения то ли вы скачиваете - там вы найдёте актуальные на момент написания статьи программы и драйвер, а так же некоторые скриншоты, которые могут помочь вам, но надеюсь, я достаточно чётко всё распишу)) Курлы. Ах, чуть не забыл про ссылку, вот она - софт для сборки датчика. Что? Из чего? Для чего? Spoiler Что за трекер и нужен ли он мне? Данный трекер управляет вашей камерой в салоне грузовика и управляется поворотами вашей головы. Из этого следует, что если вы в основном катаетесь со второй или другой камерой - для вас этот трекер не будет интересным, поскольку на большинстве камер, доступных в игре, камера имеет только одно положение. Трекер имеет небольшие размеры, так что не будет доставлять дискомфорт во время игры. Что по цене? Это второй пункт, который на мой взгляд будет актуален при чтении статьи, так что если цена вас не устроит, вам не нужно будет читать далее. Что же по цене? В точности: 1. Датчик - 581 руб. (я брал этот) 2. Контроллер Arduino Nano - 146 руб. (брал этот !!ВАЖНО!! Выбирайте ATMEGA328P) ПРИМЕЧАНИЕ: если у вас нет возможности пайки, выберите с уже установленными гребёнками, если есть возможность паять, лучше взять без и впаять только используемые контакты, чтобы уменьшить размеры и не косячить с подключением, как я)) 3. Провода для подключения (опционально) - 65 руб. (например эти) ИТОГО: 800 рублей Что нужно для изготовления? Для изготовления устройства вам понадобиться: 1. Датчик GY-85 (BMP085) 2. Контроллер Arduino Nano 3. Паяльник (если вы шарите в этом и есть провода)+сопутствующие материалы, например припой, флюс и т.п. 4. Провода 0,12 мм, например из шлейфа, главный критерий - не жёсткие. 5. Кабель USB A-miniUSB (кабель так же не должен быть достаточно жёстким, так же желательно иметь два таких кабеля, один для прошивки, второй для использования, который должен быть достаточной длины) 6. В зависимости от способа крепления, понадобятся стяжки, изолента или что-то подобное, тут на вкус и цвет. Подготовка Spoiler Итак, у вас уже на руках всё необходимое, поздравляю, половина уже сделана)) Теперь вам нужно подготовить контакты на датчике и на контроллере, если вы заказали с уже установленными - вы пошли по более лёгкому пути)) На этом этапе вы должны подготовить всё необходимое для главного процесса изготовления устройства, а именно: 1. Контроллер Arduino Nano с распаянными контактами А4, А5, 5V и GND 2. Датчик GY-85 (BMP085) с так же распаянными контактами VCC_IN, SCL, SDA и GND 3. Кабель USB A-miniUSB (как выглядит) Как именно вы распаяете контакты - это ваше дело, НО, одна из сторон должна быть разборной, т.е. вы должны без каких-либо проблем отключить датчик от контроллера или контроллер от датчика - это важный момент! Всё готово? Отлично, тогда переходим к следующему этапу Прошивка контроллера Spoiler Сразу скажу, что вам не нужно пугаться огромного текста, всё намного проще, чем вы думаете и сложностей в этом процессе не должно возникнуть. Много текста - только из-за подробного описания, чтобы практически каждый из вас мог повторить все шаги чтобы получить в результате трекер. Итак, в первую очередь вам необходимо установить среду Arduino - это важная составляющая и без этого вы не сможете прошить контроллер. Загрузить установщик среды можете как с диска (ссылка выше), так и с официального сайта - там уж всегда актуальная версия)). Уточню несколько моментов для тех, кто будет устанавливать впервые: во время установки будут всплывать несколько сообщений об установке драйверов - так и должно быть, одобряйте установку. Установите драйвер для контроллера ch340/341, вы сможете найти его по ссылке на диск (файл ch340_341_drivers.exe) После установки среды Arduino и драйвера контроллера, перезагрузите ваш компьютер. После перезагрузки компьютера подключите контроллер Arduino Nano к вашему ПК, желательно в корневой USB (в материнской плате) Откройте диспетчер устройств и убедитесь, что контроллер определился системой, должно выглядеть так - контроллер в диспетчере устройств. Если так, двигаемся дальше, запомнив номер порта, у меня он COM5, у вас будет наверняка с другим номером, так что запомните именно номер вашего порта - это будет нужно чуть позже. Скачайте папку Razor_AHRS с диска (скрин), поместите папку со вложенными файлами (7 файлов) на ваш диск в удобное место. ВАЖНО! в пути к этим файлам не должно быть киррилицы (русских букв)! Откройте папку и двойным кликом откройте файл Razor_AHRS.ino , у вас должна открыться среда Arduino с семью вкладками - как выглядит. Теперь надо подготовить среду Arduino. Начнём с того, что вам нужно объяснить, что вы подключаете, поэтому нужно указать это - выбор платы. Затем указать порт, к которому вы подключили плату/контроллер (вы ведь запомнили номер порта в пункте 5? Делается это так же - выбор порта. Важный пункт! Поскольку контроллеры имеют разные загрузчики (в составе контроллера), нет никакой возможности узнать какой именно в вашей плате, поэтому выбирая процессор вы можете столкнуться с ощибками во время прошивки, поэтому в первую очередь попробуйте сменить процессор (загрузчик) - выбор загрузчика , но, как правило, выбирая первый вариант нет никаких проблем, так что выбираем именно его. Ну что, поздравляю, вы уже очень близки к процессу прошивки, вам остаётся только запустить этот процесс. ВАЖНО!! в этот момент датчик НЕ должен быть подключен к контроллеру! - запускаем процесс прошивки. По окончанию прошивки вы должны увидеть сообщение об успешной прошивке. Иногда вы можете видеть такие ошибки , однако если в конце вы увидели сообщение об успешной прошивке - это не имеет значение. Если вы получаете ошибку компиляции/прошивки , значит нужно проверить: - определился ли контроллер в диспетчере устройств - правильно ли вы указали порт контроллера из пункта 8 - Датчик не подключен к контроллеру Если всё верно, тогда закройте среду Arduino и повторите шаги с пункта 4. Если вы снова получаете ошибку, попробуйте сменить тип загрузчика из пункта 10. При повторении ошибок напишите в комментариях, будем думать. Первое включение Spoiler Итак, контроллер успешно прошит, а значит вы уже близки к моменту получения других впечатлений от игры. Теперь, когда контроллер готов, нам нужно познакомить его с трекером, подключив их друг к другу. Конечно, подключение должно быть особенным, но не переживайте, тут у вас не должно возникнуть проблем, поскольку, как правило, как на контроллере, так и на датчике каждый контакт подписан, так что нам остаётся только подключить всего 4 провода. Вот как должно выглядеть подключение: Контроллер_____________Датчик контакт__________________контакт А4 ---------------------> SDA A5 ---------------------> SCL 5V ---------------------> VCC_IN GND -------------------> GND Подключение может быть разным, но важно, чтобы это было достаточно надёжным: 1. Вы можете на этом этапе впаять провода как в контроллер, так и в датчик 2. Вы можете впаять провода в датчик, а в контроллер вставить через разъём (чаще всего используется разъём BLD2+BLD3), как у меня - фото. 3. Вы можете впаять наоборот, в контроллер, а подключать через разъём на датчике. 4. Последний вариант это подключение через разъём как к контроллеру, так и к датчику. Для наглядности добавлю картинку, которую вы так же найдёте на диске (ещё раз добавлю ссылку ), но вот ссылка на само изображение подключения датчика к контроллеру. Теперь подключите кабель USB (USB A-miniUSB (как выглядит)) к вашему компьютеру, как на контроллере (фото), так и на датчике (фото) должны загореться индикаторы (светодиоды). Горят? Ми, значит всё идёт отлично! Монтируем наш дейвайс Spoiler На этом этапе вам нужно установить/закрепить контроллер и датчик на ваших головных наушниках, ну или обруч - кто что использует)) Если к контроллеру критичных требований нет, разве чтобы он был закреплён достаточно надёжно, то к датчику есть одно требование - рядом с датчиком не должно быть металла, поскольку датчик содержит в себе магнитный датчик, из-за металла он будет не корректно работать. Тут зависит от вашей фантазии, как вы закрепите контроллер и датчик, главное чтобы они были достаточно надёжно закреплены и уменьшить вероятность их случайно сбить. Возможно тут допишу что-то, если эта строка всё ещё здесь - нечего было добавить) Несколько фото как сделал я: фото раз и фото двас Базовая настройка датчика Spoiler Итак, теперь нам нужно сделать предварительную настройку датчика. Как предварительная, так и точная настройка "под себя" будут осуществляться в программе OpenTrack, которую вы так же сможете найти на облачном диске (актуальная на момент написания статьи версия!). Скачиваем программу и устанавливаем - тут всё стандартно и думаю с этим проблем не будет. Запускаем программу и первым делом создайте отдельный профиль, назвав его, например, ETS2 - куда нажать. Лучше так делать для каждой игры, где вы будете использовать датчик. и в источнике данный выбираем "Natire Arduino" Во вкладке выходного интерфейса выбираем "freetrack 2.0 Enhanced" Во вкладке фильтрации/сглаживания выбираем "Accela" (тут вы можете выбрать и другие фильтры - легко можно поиграться и попробовать) Тааакс, тут мы закончили и приступим к более глубокой настройке. Во-первых, вам нужно подключиться к датчику, нажав в главном меню программы кнопку "Запустить". ВАЖНО!! Перед нажатием держите вашу голову прямо и ровно, а после нажатия на кнопку подождите отображения первых данных, прежде чем продолжить. Дело в том, что при запуске датчик калибруется и ваше текущее положение головы устанавливается как нулевое: Настроим источник данных (нажать тут - во вкладке "Command" выставляем так, как показано на этом скриншоте . (простите, я ленив чтобы расписать каждый пункт) - во вкладке "General" мы устанавливаем галочки напротив тех осей (под Enable), которые вы хотите использовать. - отодвиньте окно настроек так, чтобы вы могли видеть осьминога, который уже должен двигаться вместе с вашей головой. - теперь становите оси, глядя на осминога, чтобы они соответствовали тому, что вы делаете головой: Yaw - голова влево-вправо Pitch - голова вверх-вниз Roll - наклон головы влево-вправо (почему-то это не работает, буду думать над этим) Настроить оси так же можно в основных настройках -> выходной интерфейс. Не бойтесь экспериментировать) Всё соответствует? Отлично, значит вы уже практически готовы, осталось немного. Настройка датчика под себя Spoiler Всё, что осталось, это настроить работу датчика так, как вам будет комфортнее. Делается это во вкладке "Кривые". В вверху есть вкладки для каждой оси, так что каждая ось настраивается отдельно и независимо друг от друга Взглянем подробнее что мы видим: Фильтр исходной оси - по-сути, это установка градусов, на которые вы будете поворачивать голову, чем больше градусов, тем плавнее будет в игре, но головой нужно поворачивать сильнее. Ассиметричная настройка кривых: тут всё просто, по умолчанию эта галочка не стоит, так что настройка в графике применяется как к повороту влево, так и вправо, но если вы устанавливаете галочку, то вы сможете настроить поведение камеры отдельно для поворота налево и направо, например если вам нужно, чтобы при повороте налево камера срабатывала быстрее при определённом повороте головы - вы настраиваете это здесь. Устанавливая мышкой точки на кривой, вы можете изменять эту кривую, например чтобы при повороте головы на 40 градусов камера резко повернулась, ну или наоборот, в общем, тут только опытным путём устанавливаете то, что вам нужно и удобно. Ну, собственно и всё, подгоняете настройки под себя и вы великолепны! Ещё больше настроек! Spoiler Выше описаны настройки, которых достаточно для игры, но конечно, вы можете заморочиться и сделать просто идеальное поведение трекера, например настроив фильтр. Так же есть возможность настроить здесь и даже здесь. Кроме этого, вы можете настроить захват игры, тогда работа трекера будет запускаться вместе с игрой, я не заморачивался, так что не проверял работоспособность. UPD 04.05.2021: Проверил, работает отлично - меньше движений, программа висит в трее, подключаешь трекер, запускаешь игру и играешь - рекомендую! ) Проблемы и их решения Spoiler Тут буду добавлять информацию о проблемах и их решения по мере поступления. 1. Программа OpenTrack видит датчик, но в игре не работает мышка и трекер наиболее вероятное решение будет таким: - откройте диспетчер устройств системы, найдите ваше устройство и откройте свойства , где нужно установить скорость порта 115200 (то же значение, как и в программе OpenTrack) Вот как-то так. Тему буду дополнять и поправлять по мере необходимости. Надеюсь у вас получилось сделать такой же трекер, делитесь вашим опытом в комментариях и не стесняйтесь спрашивать. 5 2 3 1 Бронзовый призёр в номинации "Сотрудник поддержки 2016" Game Moderator Leader of the Year 2019 - #2 Link to comment Share on other sites More sharing options...
[Интегра] ResTed Posted April 19, 2021 Author Share Posted April 19, 2021 Ко мне едет другой тип датчика (подешевле), если он будет работать так же хорошо, то обновлю статейку, в основном это скажется именно на цене устройства )) 1 1 Бронзовый призёр в номинации "Сотрудник поддержки 2016" Game Moderator Leader of the Year 2019 - #2 Link to comment Share on other sites More sharing options...
SanSay[16RUS] Posted May 4, 2021 Share Posted May 4, 2021 Хех, давно надо было этим заняться ) Ну как ощущения, привык уже? Link to comment Share on other sites More sharing options...
[Интегра] ResTed Posted May 4, 2021 Author Share Posted May 4, 2021 1 hour ago, SanSay[16RUS] said: Ну как ощущения, привык уже? Не до конца, всё-таки с таким датчиком непривычно например глядя направо поворачивать налево, не хватает физического ощущения грузовика, но а так уже подпривык, без датчика уже не привычно)) 1 Бронзовый призёр в номинации "Сотрудник поддержки 2016" Game Moderator Leader of the Year 2019 - #2 Link to comment Share on other sites More sharing options...
Aligatoor Posted May 5, 2021 Share Posted May 5, 2021 Конечно очень прикольно изучить информацию что и как, но как будто по ощущению все делать геморрой. Проще купить готовый TrackIR у автора , но по цене соглашусь что дороже чем самому собрать и потом в тупик зайти, искать проблемы тоже лишний времени затрат. А так , хорошая статья и полезна. ▼ English [EN] ▼ Support | Report | Appeal a ban | TruckersMP Rules | Knowledge Base | Staff Recruitment | Staff Team ▼ Russian [RU] ▼ Техническая поддержка | Репорт | Апелляция на бан | Правила TruckersMP | База знаний | Набор персонала | Команда TruckersMP Spoiler History Picture of the Month xxx POTM December 2022 - 2nd Place POTM March 2023 - 3rd Place POTM June 2023 - 1st Place xxx Link to comment Share on other sites More sharing options...
SanSay[16RUS] Posted May 7, 2021 Share Posted May 7, 2021 On 5/5/2021 at 2:10 PM, Jakarta said: Проще купить готовый TrackIR у автора Купить всегда проще ), главное быть готовым потратить необходимую сумму на вещь. Например я не готов потратить 20 к на руль с мех.КПП (или сколько они там сейчас стоят), но сделать самому - это пожалуйста. Опять же, купить самому на заработанные кровные или чтобы тебе "папа/мама/тетя/дядя/брат/сестра" купили, когда кто-то покупает, тогда цена вообще не имеет значения. 1 Link to comment Share on other sites More sharing options...
[Интегра] ResTed Posted May 9, 2021 Author Share Posted May 9, 2021 On 5/5/2021 at 2:10 PM, Jakarta said: как будто по ощущению все делать геморрой Если купить сразу готовые кабели для подключения ( ссылка в статье) а так же распаянные контакты датчика и ардуино, то останется установить драйвер, одну программу и прошить, нажав максимум 5-6 кнопок, затем правильно воткнуть провода датчика в ардуино и подключить к ПК - что тут гемморного, я не знаю. Конечно, в отличие от "воткнул и использую" есть действия, но это не из разряда сложных манипуляций с паяльникм, осциллографом и т.п., всё достаточно просто, только желание. P.S.: по другому датчику, продавец с али немного накосепурил и выслал вместо датчика преобразователь USB в TLL, так что после общения он выслал новый датчик, вроде как верный, жду доставки) 2 Бронзовый призёр в номинации "Сотрудник поддержки 2016" Game Moderator Leader of the Year 2019 - #2 Link to comment Share on other sites More sharing options...
[Интегра] ResTed Posted February 18, 2022 Author Share Posted February 18, 2022 Всем привет. Долгое время не было обновления темы, но в связи с тем, что некоторое время назад своему трекеру было уделено некоторое время, решил добавить информации. Итак, во-первых, трекер продолжает безупречно работать, что не может не радовать. Во-вторых, поскольку фактически в моём трекере присутствует 9 осей, очень хотелось бы задействовать их в игре, или хотя бы 6. К сожалению, после многочисленных попыток, чтения тематических форумов и более глубокого изучения прошивок, пришёл к выводу, что это не может осуществиться. Причина в самой прошивке. Поскольку первоначально данный трекер предназначался для моделистов, а именно для управления камерой на моделях самолётов, где 3 необходимы только три оси, то и, соответственно, прошика реализует именно эти три оси, которые и работают. Но по-прежнему есть вопросы и к самой игре: фактически в ETS2 и ATS используются две оси, хотя без каких-либо манипуляций "из коробки" в других играх работают те самые три оси . Например в City Cer Driving или DrirtRally 2.0 - работают три оси (наклоны, лево-право, верх-них), но никак не в играх SCS, что печалит. Так же заметил особенность, что камера при использовании трекера как-бы приклеивается к камере, которая привязана к камере при настройке сиденья (по F4), т.е. как там мы ограничены в повороте головы, наклоне и т.п., так и при использовании трекера. В общем, руки не опустились, будем думать. Вероятно я бы смог уже решить это, но глубоких познаний в прошивках для ардуино и С++ нет, увы (( Как-то так. 1 Бронзовый призёр в номинации "Сотрудник поддержки 2016" Game Moderator Leader of the Year 2019 - #2 Link to comment Share on other sites More sharing options...
[RusTK] Baza1488 Posted August 29 Share Posted August 29 On 2/18/2022 at 7:52 PM, [Интегра] ResTed said: Во-вторых, поскольку фактически в моём трекере присутствует 9 осей, очень хотелось бы задействовать их в игре, или хотя бы 6. К сожалению, после многочисленных попыток, чтения тематических форумов и более глубокого изучения прошивок, пришёл к выводу, что это не может осуществиться. Причина в самой прошивке. Поскольку первоначально данный трекер предназначался для моделистов, а именно для управления камерой на моделях самолётов, где 3 необходимы только три оси, то и, соответственно, прошика реализует именно эти три оси, которые и работают. я использую отслеживание freetrack на основе вебки и 3 инфракрасных диодов. Работает верх-вниз\влево-вправо\прибзится-отдалиться (Z ось)\смещение влево-вправо ( ось Y)\вверх-вниз (ось X). для удобства использую только верх-вниз\влево-вправо\прибзится-отдалиться (Z ось). Задержки минимальны, играть комфортно ( монитор 42" ), тошноты и головокружений не вызывает. Link to comment Share on other sites More sharing options...
Genadij [LT] Posted September 3 Share Posted September 3 да блин, у вас тут сложная система. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now