rozjkeee

rozjkeee

Привет! Меня зовут Олег, добро пожаловать! Играю в авиасимы и увлекаюсь сборкой девайсов. Стримы на площадках: - YouTube: https://www.youtube.com/c/Rozjkeee - Твич: https://www.twitch.tv/rozjkeee - VKPlay: https://vkplay.live/rozjkeee - Статьи на Дзене: https://dzen.ru/rozjkeee
Пикабушник
2751 рейтинг 26 подписчиков 1 подписка 14 постов 3 в горячем
Награды:
10 лет на Пикабу
20

Собираем Хедтрекер для игр своими руками

Я много играю в симуляторы и встал остро вопрос комфортного осмотра в кабине. Чтобы было вот так:

И посему решил спаять себе хедрекер на диодах.

Изучив вопрос в сети, нашел несколько проектов, которые и легли в основу моей работы.
Сразу скажу, тут нет никакого rocket science.
Итак, приступим. По традиции начнем с комплетующих

Комплектующие и цены

Общая стоимость проекта - 1,5 тыс. руб. С Али многие лоты продаются большими партиями, так что по факту комплетующие выходят дешевле в пересчете на штуку.

  • Камера от PS3 Eye - 500 руб. на авито

  • Корпус - напечатал сам. Можно заказать на сайтах 3д печати, ценник озвучивают 500-700 руб.

  • Резисторы на 30 ом - 3шт - 53 руб. за 100 штук

  • ИК диоды SFH485P - 3 шт - 148 руб за 10 штук

  • Аккумулятор 103040 мАч, 3,7 в, 1200 а, для Bluetooth-гарнитуры MP5, GPS-навигатора, PS4, 3,7 в, 1030401 шт. Аккум лушче поискать циллиндрической формы, я использовал какой под руку попал - в итоге не влез в корпус и приклеил снаружи - 300 руб

  • Плата зарядки Mini Micro-c USB 5V 1A 18650 TP4056 - 1 шт - 62 рубля

  • Выключатель 1 шт - 27 руб. за 2 штуки

  • Провода, лучше тонки 24-26 AWG - 1 метр - 50 руб.

  • Фото-плёнка или дискета - 150 руб.

Схема

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

Накидал вариант сборки. В принципе, здесь много вариаций, можно несколько диодов и продольно собирать

3д модель корпуса

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

Ссылка на проект https://www.thingiverse.com/thing:5260195

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

Сборка

Спаиваем и укладываем всё в корпус. Готовое изделие на фото. Аккум я взял какой дома нашелся, но можно подыскать и циллиндрической формы - для этого корпуса будет идеально. Ребята в дискорде подкинули идею - можно было брать батарейки из вейпа/электронных сигарет - "осуждаем курение!" - (написал я, затягиваясь кальяном).

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

колхоз - наше всё!

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

Корпус:

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

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

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

Программное обеспечение

Скачиваем Opentrack - на сайте github.com из репозитория разработчика (файл opentrack-2023.3.0-win32-setup.exe): https://github.com/opentrack/opentrack/releases

Скачиваем драйвер для камеры PS3 Eye по ссылке - https://disk.yandex.ru/d/dpJqL8t1F2NuhQ
Настраиваем камеру по гайду - https://dzen.ru/b/ZeiZfTfwi0jhOBdE

После установки открываем Opentrack и в источнике данных выбираем PointTracker 1.1

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

Скачиваем мой профиль - кладем в папку Документы своего пользоватлея: C:\Users\Имя_юзера\Documents\opentrack-2.3

Теперь в Opentrack выбираем скачанный профиль и нажимаем Запустить

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

Камера уже сейчас должна увидеть наши 3 диода. Теперь нужно откалиброваться. Нажимаем на молоток.

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

Двигая ползунок добиваемся чтобы значения яркости диодов на превью составляло значение 3-4 px

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

При необходимости в параметрах камеры регулируем Gain, Exposure, и RGB, убираем галочки

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

Калибруем камеру - для этого заходим на вкладку Модель (вверху) и нажимаем Начать калибровку. Вертим готовой вверх-вниз и влево-вправо, после чего завершаем калибровку.

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

На этом всё - можно запускать игру и проверять результат.

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

Собираем Хедтрекер для игр своими руками 3D печать, Пайка, Opentrack, Своими руками, Авиасимулятор, Dcs, Видео, YouTube, Длиннопост

Из недочетов и поля для улучшений (буду дополнять по мере появления):

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

Спасибо за внимание. Надеюсь, статья пригодится и поможет.

В догфайтах оч помогает!

Показать полностью 13 1
1528

Начал собирать джойстик. И куда меня это завело

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

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

Вступление

Мой хороший знакомый Саня (Лосяра) поделился ссылкой на джой, проект показался интересным, да и к тому же очень не хватало РУДа для симуляторов. (играю в DCS, Ил-2 Штурмовик, War Thunder).
В основу лег вот такой проект от товарища MagniBY https://www.thingiverse.com/thing:4935709 , который в свою очередь, брал наработки пользоватей @busel и @propeler с форума "Ил-2: Штурмовик".
Отличие моей версии - буду использовать платы сдвиговых регистров.

4 оси, 2 крутилки потенциометров, 5 тумблеров, 1 джойстик (как на джойстиках от плойки/Xbox), 3 хатки (5ти позиционные кнопки), 5 кнопок.

Прошивка для платы - Freejoy

Комплектующие и цены

Общая стоимость проекта - 11 тыс. руб.
* Из них комплектующие - 4200 руб. 3д печать - 7000 руб. Заказывал у этих товарищей - https://3ddworld.ru/ Кажется, можно было найти дешевле. Если есть свой принтер, то на пластик ушло бы тысячи 2-3.

Многие лоты на Али составляли бОльшее количество деталей, нежели мне было нужно + стоимость доставки уже включена в цену.
Итак, комплектующие и инструменты:

Болты, шурупы и пр.:

  • M4 болт 20mm - 26 шт

  • M4 гайка - 32 шт

  • M3 болт 10mm - 36 шт

  • M3 болт 20mm - 8 шт

  • M3 гайка - 8 шт

  • M2 болт- 8 шт

  • M1.7 болт - 4 шт

Процесс сборки

1. Прошивка.
Первое что я сделал - подключил программатор и прошил плату. Это делается один раз. В дальнейшем при изменении конфигурации пинов - просто подлючаем по USB плату и меняем в программе что нам нужно, программатор ST-link больше не потребуется.
Ниже детали, как накатить прошивку:

Скачиваем утилиту https://www.st.com/en/development-tools/stsw-link004.html и прошивку FreeJoy (ссылка на последние релизы)

Подключаем программатор ST-Link v2 как показано на рисунке ниже (сверяйтесь с подписями контактов на программаторе и плате контроллера):

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

фотка с github freejoy

Далее Подключаем программатор ST-Link v2 к компьютеру;

Запускаем программу ST-Link;

Нажмите в программе "File->Open File" и выберите файл с расширением .hex который расположен в архиве релиза FreeJoy;

Теперь вы увидите страницу загрузки бинарных кодов:

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

Нажмите "Target->Connect". После подключения устройства вы можете видеть такую информацию как ID устройства, размер флэш-памяти и семейство устройства в блоке сверху и просмотреть содержимое внутренней памяти в основном блоке:

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

На этом этапе может оказаться, что выдается такое сообщение: "STM32 cannot read memory. Disable read out protection and retry". Для того, что бы продолжить прошивку, необходимо нажать: пункты меню "Target", "Option Bytes" в окошке "Read Out Protection" (в левом верхнем углу) заменить "Enabled" на "Disabled" и нажать "Apply".

Нажмите "Targert->Erase chip" и "OK" в открывшемся окне;

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

Теперь нажмите "Target->Program & Verify" и в открывшемся окне нажмите "Start". Начнется программирование контроллера:

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

После успешного программирования контроллера отключите все соединения и подключите плату контроллера к компьютеру посреством MicroUSB кабеля.

FreeJoy устройство определится в системе как игровой контроллер.


2. Пайка осей
Начал я сразу с пайки осей - в джойстике для меня это была самая главная функция.

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

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

схема пайки датчика Хола и назначения контакта на плате STM32

Схема поключения датчиков Хола.

Между левой и центральной ножками (если смотреть на датчик "спереди") напаиваем конденсатор.

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

собираем датчики хола, тут же примеряем как они ложатся в паз (черная деталь на фото)

Паяем датчики Хола, сразу примеряем как они ложатся в паз (черная деталь на фото)

Правую ножку паяем на контакт А7, а в программе FreeJoy Configurator назначаем пину А7 значение Axis_Analog.

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

на фотке - уже промеченные мной контакты платы. А7-А0 под оси и крутилки, остальное идет под кнопки (сдвиг регистры)

Далее в программе на вкладке Axes Config в выпадающем списке выбираем нашу ось и пин А7. И записываем в плату (подключаем по USB и жмем Write Config to device).

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

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

Мы великолепны - теперь отключаем плату от ПК и напаиваем остальные 3 датчика Хола аналогичным способом (правые ножки паяем на пины А6-А4, центральные на питание 3.3V, левые - на GND), прописываем в программе FreeJoy значения пинов, не забывая записывать наши изменения (Write config to Device).
Готово, укладываем дачики холла в джойстик. Собираем ручки осей (подшипники вставляем в пазы напечатанных деталей, наклеиваем фетр, собираем ручки).

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

ручка газа в сборе

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

фетр для "загрузки" осей, держится хорошо,+ прижимной скобой можно регулировать податливость ручки газа

Прижимаем фетр скобкой и закручиваем

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

запасайтесь цветными проводами! иначе придется клеить бумажки и нумеровать - что не так удобно (совсем не удобно)

И готовим ручку к прокладке проводов. В идале брать бразноцветные, у меня были черные - поэтому пронумировал их бумажками

3. Пайка кнопок, тумблеров, джойстика

Здесь мы имеем дело с а) платой сдвиговых регистров б) 5ти позиционными кнопками, (6 лапок) в) джойстиком. г) кнопками (4 лапки)

Первым делом разберемся и спаяем тестовый вариант, проверим что всё работает.
Берем сдвиговый регистр и припаиваем его к плате.
Сдвиговый регистр паяем так: вставляем коннектор с проводами с той стороны, где подписано DATA OUT (смотри на плату сверху). На моем фото это ряд контактов наверху.

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

Регистры можно подключать продольно, но у меня один был в ручке, а второй в корпусе - пришлось паять по отдельности

GND припаиваем к плате STM32 на землю GND.

VCC припаиваем на 3.3V.

CS припаиваем на контакт B11 на плате STM32.

DATA припаиваем на B1.

SCK припаиваем на B10.

Теперь берем коннектор, вставляем в плату сдвигового регистра - отсюда у нас выходят 5-6 проводов. Крайние провода - земля, центральные - это питание.

Начинаем паять кнопку - нам нужно припаяться к земле и к одному из проводов в центре, паяем наискосок (замыкание идет в центре, поэтому упрощаем себе задачу):

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

Готово - подключим плату STM32 по USB к ПК, в программе FreeJoy назначим контактам

B11 - ShiftReg Latch,

B1 - ShiftReg Data,

B10 - ShiftReg CLK

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

накидал себе в экселе распиновку на плате STM32 и сдвиговых регистрах, чтобы не запутаться

Соответсвие контактов на регистре пинам на плате STM32 и назначениям в программе Freejoy

На вкладке Shift Registers выбираем тип регистра CD4021 Pull Up, прописываем количество кнопок = 24 (на фото я уже припаял 2ю плату регистров)

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

Записываем на устройство, открываем вкладку Button Config и проверяем что наша кнопка работает при нажатии.

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

Кнопки в итоге спаиваем по схеме - Крайние провода это земля, их можно припаивать цепочкой, второй контакт паяем на провода посередине коннектора, не соединя между собой:

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

5ти позиционные кнопки паяем аналогично, только контактов понадобится больше. 1я ножка - это земля (идет к крайним проводам коннектора), остальные ножки паяем к центральным проводам коннекторов сдвигового регистра. Замыкание цепи происходит внутри между 1м контактом и N-ным.

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

Один коннектор дает возможность припаять до 4 проводов питания кнопок. Можно припаивать одну кнопку к разным коннекторам (т.е. земля от одного коннектора, а провод питания идет от другого коннектора).

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост
Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

уместить всё в ручку оказалось еще той задачей. Хорошо, что использовал сдвиговые регистры, иначе с матрицей кнопок намучился бы..

Далее я паял джойстика, тумблеры и крутилки (потенциометры).
Дальнейший процесс опишу в ближайшее время + надо схему всего этого чуда накидать.

Итоговый результат

Начал собирать джойстик. И куда меня это завело Joystick, Руд, Своими руками, Dcs, Авиасимулятор, Кокпит, 3D печать, Видео, YouTube, Длиннопост

Видео, где показываю работоспособность девайса

Спасибо за внимание. Надеюсь, статья пригодится и поможет.

Показать полностью 23 1
25

Велосипедный трип по спотам Подмосковья

На выходных добрались до дёртов в Королёве и Ерино.

Особенно понравился спот в Королёве - местные ребята отстроили шикарное место, трамплины на любой вкус!

Отличная работа, все прочитано!