Мазмұны:
- Жабдықтар
- 1 -қадам: Board және Arduino ортасын дайындаңыз
- 2 -қадам: жүктеу
- 3 -қадам: басып шығару
- 4 -қадам: Сымдарды жалғау
- 5 -қадам: Қорытынды жиналыс
- 6 -қадам: жұмыс режимдері
- 7 -қадам: Понг
Бейне: USB қалақшалы ойын контроллері: 7 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Менің ұлым өзінің туған күніне арналған ретро видео ойындар кешін өткізді, мен таңертең мен 3D принтер мен электрониканың көмегімен қоймадан Понг үшін USB қалақшалы ойын контроллерлерін жасай аламын ба деп шештім. Мен оларды уақытында жұмыс істете алсам да, адамдар Понг үшін басқа ойындармен тым бос болды.
Контроллерлерді Dong схемалық деңгейдегі эмуляторы бар Pong үшін немесе эмиграторы бар Atari 2600 ойындары үшін және Tux Paint сияқты кескіндеме бағдарламасы бар Etch-a-Sketch тәрізді функционалдылық үшін менің пигамның дәл дәл нұсқасымен қолдануға болады.
Үш ауыспалы режим бар:
- Stelladaptor қалақша эмуляциясы: олар Stelladaptor қолдайтын барлық Atari 2600 эмуляциялық бағдарламалық жасақтамасымен жұмыс істеуі керек; Stelladaptor режимінде қалақшалар екі осьті екі түймелі джойстик ретінде жұмыс істейді, әр қалақ бір ось пен бір түймені басқарады
- джойстиктің қос эмуляциясы: әр қалақ бір батырмамен джойстик қызметін атқарады (қалақтың қозғалысы джойстиктің екі осіндегі қозғалысқа ауысқанда)
- тышқан: әр қалақ абсолютті тышқан үшін бір қозғалыс бағытын басқарады, ал түймелер тышқан түймелері; кескіндеме бағдарламасымен бірге сіз Etch-a-Sketch-ке ұқсас жоғары технологиялық құрылғыны ала аласыз.
Жабдықтар
Саған қажет болады:
- stm32f103c8t6 көк таблетка
- 2x сызықтық потенциометр (мен 20K-100K ұсынамын)
- Түймесі бар ені 2 мм 12 мм қосқыш
- 3D принтері
- әр түрлі (жіп, сымдар, дәнекер, дәнекерлеуіш, ыстық желім)
1 -қадам: Board және Arduino ортасын дайындаңыз
- Stm32f103c8t6 тақтасының ортасында орналасқан алты түйреуішті дәнекерлеңіз.
- A12 мен 3.3V арасындағы қарсылықты тексеріңіз. USB үйлесімділігі үшін ол 1,5K болуы керек. Көптеген тақталардың орнына 10K бар. Егер сіз солардың бірі болсаңыз, онда A12 -ден 3.3В -қа дейінгі 1.8K резисторда дәнекерлеуге болады, бірақ сіз бақытты боласыз және сіздің компьютерлеріңіз 10K -мен жұмыс істейді.
- Жүктеу құралын орнатыңыз. Нұсқаулықтың 2 -қадамында нұсқаулар бар. Назар аударатын бір нәрсе - STM Demonstrator хабарлаған флэш өлшемі. Егер бұл 32K болса, сізде stm32f103c8 жалған stm32f103c6 болуы мүмкін. Бұл жоба әлі де жұмыс істеуі керек, бірақ болашақ қадам үшін жалған тақта бар екенін ескеріңіз.
- Алдыңғы қадамда пайдаланған Нұсқаулықтың 3-қадамындағы нұсқауларды орындап, Arduino, Arduino Zero және Roger-дің libmaple негізіндегі ядросын орнатыңыз. Бұл қадамдағы кітапхана нұсқауларын елемеңіз.
- Менің USB Composite кітапханасының соңғы шығарылымын жүктеп алып, оны Arduino/Libraries қалтасынан ашыңыз.
- Paddlecontrollers эскизін жүктеп алып, оны Arduino қалтасынан ашыңыз.
- Arduino -да Құралдар | бөліміне өтіңіз Басқарма | Жалғыз STM32F103C сериясы, егер сізде жалған c6 тақтасы болмаса, оның орнына Generic STM32F103C6/жалған STM32F103C8 таңдаңыз. Егер сізде қайсысы бар екеніне сенімді болмасаңыз, жалған опцияны таңдау қауіпсіз болады.
2 -қадам: жүктеу
Тақтаны компьютердің USB адаптеріне қосыңыз, диспетчерлік эскизді жүктеңіз және Жүктеу түймесін басыңыз (оң жақ көрсеткі). Егер бәрі ойдағыдай болса, онда эскиз жүктелуі керек, ал тақта сіздің компьютерде «Stelladaptor» деп аталатын екі осьті екі түймелі джойстик ретінде көрсетілуі керек. Windows жүйесінде мұны Windows-R, joy.cpl [enter] көмегімен тексеруге болады.
Әрине, сіз қалған жабдықты жинамайынша, бұл ештеңе жасамайды.
3 -қадам: басып шығару
- Бұл жоба үшін менің Thingiverse бетінен stl және/немесе scad файлдарын жүктеңіз. Есіңізде болсын, қалақшаның тұтқасы осы жерден өзгертілген.
- Егер сіздің микроқосқыш корпусының ені 12 мм-ден өзгеше болса, paddlemain-standalone.scad файлындағы түймелердің ені параметрін реттеу қажет болады. Сіз мұны OpenSCAD немесе Thingiverse Customizer -де жасай аласыз.
- Потенциометрге сәйкес келетін paddleknob.scad файлындағы өлшемдерді өзгерту қажет болуы мүмкін.
-
Бұл файлдарды басып шығарыңыз (егер сіз бір қалақшаны алғыңыз келсе, «2x» файлдарының бір көшірмесін жасаңыз). Мен PLA қолдандым, бірақ ABS де жақсы жұмыс істеуі керек.
- 2x paddlemain.stl
- 2x paddleknob.stl
- 1x paddleconverter.stl
- 1x pcbholdernarrower.stl
- 2x buttoncap110.stl (міндетті емес)
- 1x 12.stl (міндетті емес; басқа түсті басып шығарып, екі қалақты белгілеу үшін желіммен жабыстырыңыз)
4 -қадам: Сымдарды жалғау
Сіз stm32f103c тақтасынан әрбір қалақшаның контроллеріне төрт сымды қосуыңыз керек. Бұл сымдар үшін ескі USB сымдарын қолдануға болады. Менде Ethernet кабелінен жақсы оқшауланған сымдар болды, мен оларды қысқышпен орадым.
Әр қалақтың бір микросвитчері мен бір потенциометрі бар. Мультиметрді пайдаланып, түймені басу арқылы қосылған/ажыратылған микро қосқыштағы іргелес (диагональды емес) түйреуіштерді анықтауға болады. Мен бұл диаграммада S1 және S2 түйреуіштерін белгілеймін. Мен потенциометрдің үш түйреуішін P1, P2 және P3 жоғарыдан төменге қарай белгілеп, потенциометрдің астыңғы жағынан қарап тұрмын, түйреуіштері оңға бағытталған.
Тақтадан төрт сымды қалақ корпусының бүйіріндегі тесік арқылы итеріңіз (paddlemain.stl).
Сымдарды микроқосқышқа қосқан кезде, алдымен сымдарды қалақшаның корпусы мен дәнекерлеу жағындағы тесіктерден сөндіргішке ауыстырыңыз, ал коммутатор корпустың сыртында жатыр. Содан кейін түйреуіштер мен бекітілген сымдарды тесіктерге бекітіп, корпусқа тартыңыз. Мен қажет емес түйреуіштерді кесіп тастадым.
Екі қалақша:
- P1 - S1
- P1 3.3V (3.3) тақтасына
- P3 GND (G) бортына түсу үшін
1 -қалақ:
- P2 A1 тақтасына
- S2 А2 тақтасына
2 -қалақ:
- А2 тақтасына P2
- S4 A4 тақтасына
Енді компьютерге қосылу және джойстикті сынау бағдарламасын қолдану арқылы қосылуларды тексеріңіз. Терезелерде Windows-R, joy.cpl [enter], Stelladaptor таңдаңыз, Сипаттар түймесін басыңыз. 1 қалақша X осі мен бірінші түймені басқаруы керек; 2-қалақ Y осін және екінші түймені басқаруы керек.
5 -қадам: Қорытынды жиналыс
Микроөткізгіштерді қалақшаның қорабының бүйіріндегі орындарында желімдеуге болады (ыстық желім мен үшін жұмыс жасады). Түйменің қақпақтарын бекітуге болады, тұрақтылық үшін ыстық желіммен.
Потенциометр қалақ қорабының жоғарғы жағындағы үлкен тесікке бекітіледі. Тұтқа сырғып, жабысып қалуы керек. Қажет болған жағдайда тесіктерді бұрғымен үлкейтіңіз. Төменгі қақпақты жабыңыз, егер қаласаңыз, аздап ыстық желім қосыңыз.
Көк таблетка тақтасы ПХД слайдына сәйкес келеді, содан кейін ол конвертер қорабының түбіне бұралады, оны қақпақпен жабуға болады.
Мен сымдарды қорғау үшін сымдар корпусқа сәйкес келетін Shoe Goo аздап қостым. Ал мен қалақтарға «1» және «2» жапсырмаларын жапсырдым.
6 -қадам: жұмыс режимдері
Қалақшалардың үш жұмыс режимі бар. Сіз USB -портқа қосқан кезде түймелердің белгілі бір комбинациясын басу арқылы жұмыс режимін ауыстыра аласыз, ал тақтаның светодиодтары жыпылықтауын тоқтатқаннан кейін босатыңыз. Жұмыс режимін ауыстырғаннан кейін, ол флэш -жадыға сақталады және сіз оны келесіге ауыстырғанша қалады. (Сонымен, егер сіз режимді өзгерткіңіз келмесе, қалақшаларды USB портына қосқан кезде ешқандай түймені баспаңыз.) Міне опциялар:
- Тек сол жақ қалақшаның түймесі: екі осьті екі түймелі джойстик, әр осі мен түймесі бір қалақшамен басқарылады. Сонымен қатар, қалақшалар Stelladaptor ретінде анықталады, Atari 2600 контроллері үшін тоқтатылған USB адаптері, сондықтан Stelladapter үйлесімді Stella және Z26 сияқты Atari 2600 эмуляторлары өте жақсы жұмыс істеуі керек.
- Қалақшаның екі түймесі: Әр қалақ бөлек джойстикті көрсетеді. Джойстиктің бір жұмыс түймесі бар, ал қалақты бұру джойстикті диагональ бойынша жылжытады, сондықтан қалақ үшін X немесе Y осі жұмыс істейді.
- Тек оң жақ қалақшаның түймесі: Қалақшалар екі түймелі абсолютті тышқан ретінде көрінеді. Енді сіз мұны сызу бағдарламасы бар Etch-a-Sketch-ге ұқсас пайдалана аласыз.
7 -қадам: Понг
Понг - бұл қалақшадағы тамаша ойын. Мен түпнұсқаны ұсынамын, өйткені клондар жиі қайталанатын соққылардың жылдамдығының өзгеруі, қалақшаның допқа тиген бөлігіне немесе нәзік, бірақ оңай болжалмайтын позицияға байланысты өзгереді. жіберіп алғаннан кейінгі қызмет. Түпнұсқаны мұқият талдау үшін мына жерден қараңыз.
Понг ойнаудың ең жақсы тәсілдерінің бірі-егер сіздің компьютеріңіз оны толық жылдамдықта қолдануға жеткілікті жылдамдықта болса, DICE схемалық деңгейдегі эмулятормен жұмыс жасау. (Менің Windows ноутбукім, бірақ Raspberry PI 3+ тым баяу.) Мен 0.8 нұсқасын ұсынамын.
Егер сіз қалақшаларда Stelladaptor режимін қолдансаңыз, Параметрлер | өтіңіз DICE ішіндегі кірістерді конфигурациялаңыз және 1-ойыншының қалақшасы үшін Джойстик 1 мен Абсолютті таңдап, көлденең және вертикальды Joy 1 X-осіне орнатыңыз. Содан кейін Y-осінен басқа 2-ші ойыншының қалақшасы үшін де солай жасаңыз.
Егер сіздің компьютер DICE үшін тым баяу болса, мен Python3+pygame нұсқасын жасадым, оның уақыты мен функционалдығы түпнұсқалық понгқа өте жақын (мен осыған байланысты доктор Уго Холденнің көмегіне ризамын).
Ұсынылған:
DIY USB бейне ойын контроллері: 6 қадам
DIY USB бейне ойын контроллері: Мұнда классикалық аркада таяқшаларынан бастап, қазіргі заманғы контроллерлердің демалысына дейін, әдетте, сол негізгі бөліктерден жасалған әр түрлі реттелетін контроллерлер бар. , бізде жоқ
Arduino негізіндегі DIY ойын контроллері - Arduino PS2 ойын контроллері - DIY Arduino Gamepad көмегімен Tekken ойнау: 7 қадам
Arduino негізіндегі DIY ойын контроллері | Arduino PS2 ойын контроллері | DIY Arduino Gamepad көмегімен Tekken ойнау: Сәлеметсіздер ме, балалар, ойындарды ойнау әрқашан қызықты, бірақ өзіңіздің жеке DIY контроллеріңізбен ойнау қызықты, сондықтан біз осы нұсқаулықта arduino pro micro көмегімен ойын контроллерін жасаймыз
Жаттығу машинасы USB ойын контроллері: 8 қадам (суреттермен)
Жаттығу машинасы USB ойын контроллері: Өзін -өзі және отбасында жаттығуларды ынталандыру үшін мен стандартты USB ойын контроллері адаптеріне еліктейтін адаптер жасадым, бірақ эллиптикалық машинада немесе жаттығу велосипедінде педаль арқылы ойын қозғалысының жылдамдығын басқарады. Бұл жарыс ойындары үшін әсіресе жақсы. Бұл
Ойын қысымына сезімтал төсемдер (сандық ойын алаңдары үшін және т.б.): 11 қадам (суреттермен)
Қысымға сезімтал алаңшалар (цифрлық ойын алаңдары үшін - және басқалары): бұл цифрлық ойыншықтар немесе ойындар жасау үшін қолданылатын қысымға сезімтал төсем жасауды көрсететін нұсқаулық. Ол үлкен күшке сезімтал резистор ретінде қолданыла алады және ойынға қарамастан, оны маңызды жобалар үшін қолдануға болады
Жасырын кеңістік - аудио ойын контроллері: 5 қадам (суреттермен)
Жасырын кеңістік - аудио ойын контроллері: Бұл оқулықта біз аудио ойынға арналған ойын контроллерін жасаймыз. Ойын Unity көмегімен жасалған. Ол визуалды және негізінен дыбыстық ақпарат шектеулі, экранда жоқ ойын интерфейсін құруға тырысады. Ойыншы киетін болады