Кайф на свежем воздухе)
Подключил консольку-джойстик Namco 5-in-1 Arcade Classics Plug n Play TV Game Joystick
И по нес лась)
Всех с выходными!!! 🙌
Пост в ВК Коллекционеры видеоигр
Подключил консольку-джойстик Namco 5-in-1 Arcade Classics Plug n Play TV Game Joystick
И по нес лась)
Всех с выходными!!! 🙌
Пост в ВК Коллекционеры видеоигр
Делюсь своим опытом сборки. Сразу скажу - проект доступен новичку, т.к. и я паяльник взял в руки незадолго до...
Мой хороший знакомый Саня (Лосяра) поделился ссылкой на джой, проект показался интересным, да и к тому же очень не хватало РУДа для симуляторов. (играю в 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.
Многие лоты на Али составляли бОльшее количество деталей, нежели мне было нужно + стоимость доставки уже включена в цену.
Итак, комплектующие и инструменты:
Паяльник - 352 руб
Лист фетра 2 мм - 1 шт - 100 рублей
Самоклеящиеся кружки для мебели - 4 шт - 50 рублей
Arduino ky-023 joystick - 1 шт - 52 руб.
Датчики холла Hall-effect sensor (SS49E) - 4 шт - 74 руб
Ceramic capacitor 50V 104 100nF 0.1uf - 4 шт - 59 руб
Циллиндирческие магниты (5x10mm) - 4 шт - 306 руб.
5ти позиционные переключатели 5-Way Switch 10x10x10mm Multi Direction Switch Touch Reset Button - 3 шт- 169 руб.
Нажимные кнопки Push Button 6x6 4.3mm - 5 шт - 133 руб.
Тумблеры - Miniature toggle switch- on/of/on - 5 шт - 155 руб.
Подшипники 6900 (10x22x6mm)- 8 шт. - 400 руб.
Потенциометры (WH148) 10K Ohm (B10K) - 2 шт - 220 руб.
Колпачки для потенциометров - 2 шт - 80 руб
Кабель для подлкючения к ПК - Micro-USB 5pin Micro USB 2.0 Male to USB 2.0 B Type Female Connector Cable 30cm With Panel Mount Hole cables - 1 шт - 132 руб.
Провода (лучше тонкие) - 24-28 AWG - 366 руб.
Эпоксиный клей / клей момент - 1 шт
Плата STM32F103C8 microcontroller - 1 шт - 144 руб.
Программатор ST-Link v2 для заливки прошивки на плату STM32 - 1шт - 202 руб.
Плата сдвиговых регистров + провода с коннекторами. Заказывал у этого товарища с форрума Ил-2 (пишите в личку или в тред на форуме). - 2 шт - 1940 руб.
Болты, шурупы и пр.:
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 как показано на рисунке ниже (сверяйтесь с подписями контактов на программаторе и плате контроллера):
Далее Подключаем программатор ST-Link v2 к компьютеру;
Запускаем программу ST-Link;
Нажмите в программе "File->Open File" и выберите файл с расширением .hex который расположен в архиве релиза FreeJoy;
Теперь вы увидите страницу загрузки бинарных кодов:
Нажмите "Target->Connect". После подключения устройства вы можете видеть такую информацию как ID устройства, размер флэш-памяти и семейство устройства в блоке сверху и просмотреть содержимое внутренней памяти в основном блоке:
На этом этапе может оказаться, что выдается такое сообщение: "STM32 cannot read memory. Disable read out protection and retry". Для того, что бы продолжить прошивку, необходимо нажать: пункты меню "Target", "Option Bytes" в окошке "Read Out Protection" (в левом верхнем углу) заменить "Enabled" на "Disabled" и нажать "Apply".
Нажмите "Targert->Erase chip" и "OK" в открывшемся окне;
Теперь нажмите "Target->Program & Verify" и в открывшемся окне нажмите "Start". Начнется программирование контроллера:
После успешного программирования контроллера отключите все соединения и подключите плату контроллера к компьютеру посреством MicroUSB кабеля.
FreeJoy устройство определится в системе как игровой контроллер.
2. Пайка осей
Начал я сразу с пайки осей - в джойстике для меня это была самая главная функция.
Для проверки что у нас уже всё будет работать - спаял по схеме первый датчик.
Схема поключения датчиков Хола.
Между левой и центральной ножками (если смотреть на датчик "спереди") напаиваем конденсатор.
Паяем датчики Хола, сразу примеряем как они ложатся в паз (черная деталь на фото)
Правую ножку паяем на контакт А7, а в программе FreeJoy Configurator назначаем пину А7 значение Axis_Analog.
на фотке - уже промеченные мной контакты платы. А7-А0 под оси и крутилки, остальное идет под кнопки (сдвиг регистры)
Далее в программе на вкладке Axes Config в выпадающем списке выбираем нашу ось и пин А7. И записываем в плату (подключаем по USB и жмем Write Config to device).
После чего не отключая от ПК плату можем протестировать - поднести магнит к дачику на 0.5-0.7 мм и покрутить - в программе увидим что значение оси изменяется.
Мы великолепны - теперь отключаем плату от ПК и напаиваем остальные 3 датчика Хола аналогичным способом (правые ножки паяем на пины А6-А4, центральные на питание 3.3V, левые - на GND), прописываем в программе FreeJoy значения пинов, не забывая записывать наши изменения (Write config to Device).
Готово, укладываем дачики холла в джойстик. Собираем ручки осей (подшипники вставляем в пазы напечатанных деталей, наклеиваем фетр, собираем ручки).
фетр для "загрузки" осей, держится хорошо,+ прижимной скобой можно регулировать податливость ручки газа
Прижимаем фетр скобкой и закручиваем
запасайтесь цветными проводами! иначе придется клеить бумажки и нумеровать - что не так удобно (совсем не удобно)
И готовим ручку к прокладке проводов. В идале брать бразноцветные, у меня были черные - поэтому пронумировал их бумажками
3. Пайка кнопок, тумблеров, джойстика
Здесь мы имеем дело с а) платой сдвиговых регистров б) 5ти позиционными кнопками, (6 лапок) в) джойстиком. г) кнопками (4 лапки)
Первым делом разберемся и спаяем тестовый вариант, проверим что всё работает.
Берем сдвиговый регистр и припаиваем его к плате.
Сдвиговый регистр паяем так: вставляем коннектор с проводами с той стороны, где подписано DATA OUT (смотри на плату сверху). На моем фото это ряд контактов наверху.
Регистры можно подключать продольно, но у меня один был в ручке, а второй в корпусе - пришлось паять по отдельности
GND припаиваем к плате STM32 на землю GND.
VCC припаиваем на 3.3V.
CS припаиваем на контакт B11 на плате STM32.
DATA припаиваем на B1.
SCK припаиваем на B10.
Теперь берем коннектор, вставляем в плату сдвигового регистра - отсюда у нас выходят 5-6 проводов. Крайние провода - земля, центральные - это питание.
Начинаем паять кнопку - нам нужно припаяться к земле и к одному из проводов в центре, паяем наискосок (замыкание идет в центре, поэтому упрощаем себе задачу):
Готово - подключим плату STM32 по USB к ПК, в программе FreeJoy назначим контактам
B11 - ShiftReg Latch,
B1 - ShiftReg Data,
B10 - ShiftReg CLK
Соответсвие контактов на регистре пинам на плате STM32 и назначениям в программе Freejoy
На вкладке Shift Registers выбираем тип регистра CD4021 Pull Up, прописываем количество кнопок = 24 (на фото я уже припаял 2ю плату регистров)
Записываем на устройство, открываем вкладку Button Config и проверяем что наша кнопка работает при нажатии.
Кнопки в итоге спаиваем по схеме - Крайние провода это земля, их можно припаивать цепочкой, второй контакт паяем на провода посередине коннектора, не соединя между собой:
5ти позиционные кнопки паяем аналогично, только контактов понадобится больше. 1я ножка - это земля (идет к крайним проводам коннектора), остальные ножки паяем к центральным проводам коннекторов сдвигового регистра. Замыкание цепи происходит внутри между 1м контактом и N-ным.
Один коннектор дает возможность припаять до 4 проводов питания кнопок. Можно припаивать одну кнопку к разным коннекторам (т.е. земля от одного коннектора, а провод питания идет от другого коннектора).
уместить всё в ручку оказалось еще той задачей. Хорошо, что использовал сдвиговые регистры, иначе с матрицей кнопок намучился бы..
Далее я паял джойстика, тумблеры и крутилки (потенциометры).
Дальнейший процесс опишу в ближайшее время + надо схему всего этого чуда накидать.
Видео, где показываю работоспособность девайса
Спасибо за внимание. Надеюсь, статья пригодится и поможет.
Привет комрады, приелась старая ручка кобры м5, и захотелось чего-то эксклюзивного.
Выбор пал на ручку ф-35. были найдены фотки, а началось моделирование , сначала в максе, затем перевод во фьюжн 360 ну и до финального результата.
Затем была запущена тестовая печать внешней оболочки чтобы измерить размер и хват, оказалась великовата. уменьшил на 10%.
Затем в ход пошла печать, потом шлифовка грунтовка и покраска
мини стик в итоге был заменен на хатку.
в итоге физических кнопок 24 шт. на этом все.
Я уже рассказывал о ноутбуке который приобрел за 500 рублей - https://pikabu.ru/story/18ti_letniy_noutbuk_5663971.
Интересной особенностью старых ноутбуков является наличие LPT порта.
Он имеет входы и выходы которые мы и планируем использовать.
На выводах можно обнаружить питание 5 вольт.
Если закоротить вход на массу, то система воспримет это как сигнал. Соединял через резистор.
Утилита LPT Manager отображает состояние входов
и позволяет управлять выходами. Для теста подключил светодиод.
Драйвер XYZmodeB предназначен для работы c джойстиками от Сеги, но вполне подошел.
Заработали только четыре кнопки из пяти возможных.
Поэтому при подключении один из выводов пришлось перенести.
Я взял гребенки от Ардуино, которые нужно использовать по четыре иначе просто выпадают. Длины гребенок может не хватать. Лечится переносом пластикового элемента.
Плату и кнопки взял из испорченного принтера.Резисторы на 500 Ом. Кнопки пришлось перенести на обратную сторону платы,
чтобы не мешали лишние дорожки.
Так выглядит готовый результат.
Все делалось по принципу из того что есть под рукой.
Ссылка на необходимое ПО есть в описании к ролику - https://youtu.be/6HLlJTphYFQ