Mundarija:

USB Paddle Game Controller: 7 qadam (rasmlar bilan)
USB Paddle Game Controller: 7 qadam (rasmlar bilan)

Video: USB Paddle Game Controller: 7 qadam (rasmlar bilan)

Video: USB Paddle Game Controller: 7 qadam (rasmlar bilan)
Video: Best Android & iOS Mobile Controllers of 2023! 2024, Noyabr
Anonim
USB Paddle o'yin boshqaruvchisi
USB Paddle o'yin boshqaruvchisi
USB Paddle o'yin boshqaruvchisi
USB Paddle o'yin boshqaruvchisi
USB Paddle o'yin boshqaruvchisi
USB Paddle o'yin boshqaruvchisi

O'g'lim tug'ilgan kuni uchun retro video o'yinlar kechasini o'tkazdi, va men ertalab men 3D -printer va elektron jihozlar yordamida Pong uchun USB -yostiqchali o'yinlar uchun ikkita nazorat moslamasini yasashga qaror qildim. Men ularni o'z vaqtida ishlashga muvaffaq bo'lgan bo'lsam -da, odamlar Pong uchun boshqa o'yinlar bilan band bo'lishdi.

Tekshirgichlar Pong uchun DICE elektron darajali emulyatori bilan yoki mening pygame-ning aniq versiyasi bilan, emulyatorli Atari 2600 o'yinlari uchun va Tux Paint kabi rasm dasturi bilan Etch-a-Sketchga o'xshash funksiyalar uchun ishlatilishi mumkin.

Uchta almashtiriladigan rejim mavjud:

  • Stelladaptor belkuraklarini taqlid qilish: ular Stelladaptor -ni qo'llab -quvvatlaydigan barcha Atari 2600 emulyatsion dasturlari bilan ishlashi kerak; Stelladaptor rejimida eshkaklar ikki o'qli ikkita tugmachali joystik vazifasini bajaradi, har bir eshkak bitta o'q va bitta tugmani boshqaradi.
  • er -xotin joystik emulyatsiyasi: har bir eshkak bitta tugma bilan joystik vazifasini bajaradi (eshkak harakati ikkala joystik o'qida harakatga aylanadi)
  • sichqoncha: har bir belkurak absolyut sichqoncha uchun bitta harakat yo'nalishini boshqaradi va tugmalar sichqoncha tugmalari; rasm dasturi bilan birgalikda Etch-a-Sketch-ga o'xshash yuqori texnologiyali qurilmani olishingiz mumkin.

Ta'minotlar

Sizga kerak bo'ladi:

  • stm32f103c8t6 ko'k tabletka
  • 2x chiziqli potentsiometr (20K-100K tavsiya qilaman)
  • 2x 12 mm kenglikdagi tugmachali mikro kalit
  • 3D printer
  • har xil (filament, simlar, lehim, lehimlantiruvchi temir, issiq elim)

1 -qadam: Kengash va Arduino muhitini tayyorlang

Kengash va Arduino muhitini tayyorlang
Kengash va Arduino muhitini tayyorlang
Kengash va Arduino muhitini tayyorlang
Kengash va Arduino muhitini tayyorlang
  1. Stm32f103c8t6 kartangizning o'rtasida oltita sarlavhali pinni lehimlang.
  2. A12 va 3.3V orasidagi qarshilikni tekshiring. USB -ning to'liq mosligi uchun 1,5K bo'lishi kerak. Ko'p taxtalarda buning o'rniga 10K bor. Agar siz ulardan biri bo'lsangiz, ideal tarzda A12 dan 3.3V gacha bo'lgan 1,8K rezistorga lehimlang, garchi siz omadli bo'lsangiz va kompyuteringiz 10K bilan ishlasa.
  3. Bootloader -ni o'rnating. Ushbu yo'riqnomaning 2 -bosqichida ko'rsatmalar mavjud. E'tibor qilish kerak bo'lgan narsa, STM Demonstrator tomonidan bildirilgan fleshka hajmi. Agar u 32K bo'lsa, sizda stm32f103c8 nomli soxta stm32f103c6 bo'lishi mumkin. Bu loyiha hali ham shu bilan ishlashi kerak, lekin kelgusi qadam uchun qalbaki taxtangiz borligini yozib qo'ying.
  4. Arduino, Arduino Zero va Roger-ning libmaple-ga asoslangan yadrosini oldingi qadamda ishlatilgan yo'riqnomaning 3-bosqichidagi ko'rsatmalarga muvofiq o'rnating. Ushbu qadamda kutubxona ko'rsatmalariga e'tibor bermang.
  5. USB kompozit kutubxonamning so'nggi versiyasini yuklab oling va Arduino/Libraries papkasida oching.
  6. Mening paddlecontrollers eskizini yuklab oling va Arduino papkasida oching.
  7. Arduino -da asboblar | ga o'ting Kengash | Umumiy STM32F103C seriyali, agar sizda soxta c6 karta bo'lmasa, u holda Umumiy STM32F103C6/soxta STM32F103C8 ni tanlang. Agar sizda qaysi biri borligiga ishonchingiz komil bo'lmasa, soxta variantni tanlash xavfsizroq bo'ladi.

2 -qadam: yuklash

Yuklab olish
Yuklab olish

Kartani kompyuterning USB adapteriga ulang, paddlecontroller eskizini yuklang va Yuklash tugmasini bosing (o'ngga yo'naltirilgan o'q). Agar hammasi yaxshi bo'lsa, eskiz yuklanishi kerak va doska kompyuteringizda "Stelladaptor" deb nomlangan ikki o'qli ikkita tugmachali joystik sifatida ko'rsatilishi kerak. Windows-da, buni Windows-R, joy.cpl [enter] yordamida tekshirishingiz mumkin.

Qolgan uskunalar yig'ilmaguncha, bu hech narsa qilmaydi.

3 -qadam: Chop etish

Chop etish
Chop etish
  1. Ushbu loyiha uchun stl va/yoki scad fayllarini Thingiverse sahifasidan yuklab oling. E'tibor bering, eshkak eshish tugmasi shu erdan o'zgartirilgan.
  2. Agar sizning mikrosxemalar uyining kengligi 12 mm dan farq qilsa, siz paddlemain-standalone.scad faylidagi tugma kengligi parametrini o'zgartirishingiz kerak bo'ladi. Buni OpenSCAD yoki Thingiverse Customizer -da qilishingiz mumkin.
  3. Siz paddleknob.scad faylidagi o'lchovlarni potentsiometringizga moslashtirish uchun sozlashingiz kerak bo'lishi mumkin.
  4. Ushbu fayllarni chop eting (agar siz faqat bitta qalqonni xohlasangiz, "2x" fayllarning faqat bitta nusxasini oling). Men PLA ishlatardim, lekin ABS ham yaxshi ishlashi kerak.

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x tugmachasi 110.stl (ixtiyoriy)
    • 1x 12.stl (ixtiyoriy; boshqa rangda chop eting va ikkita qalqonni etiketkalash uchun yopishtiring)

4 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Siz stm32f103c taxtasidan har bir eshkakcha boshqaruvchisiga to'rtta sim o'tkazishingiz kerak bo'ladi. Ushbu simlar uchun siz eski USB simlaridan foydalanishingiz mumkin. Men tasodifan chekilgan kabeldan mustaqil simlarga ega bo'ldim.

Har bir eshkakchada bitta mikrosxem va bitta potentsiometr mavjud. Tugmani bosib ulangan/uzilgan mikrosxemadagi ulashgan (diagonal emas) bir nechta pinni aniqlash uchun multimetrdan foydalaning. Men diagrammada S1 va S2 pinlarini belgilayman. Men potentsiometrdagi uchta pinni yuqoridan pastgacha P1, P2 va P3 deb belgilab qo'ydim, potentsiometrning pastki qismidan qarab, pinlari o'ngga qaragan.

Taxtadan to'rtta simni belkurak korpusining yon tomonidagi teshikdan o'tkazing (paddlemain.stl).

Simlarni mikrosxemaga ulaganda, avval simlarni eshkak korpusining yon qismidagi teshiklardan o'tkazing va kalitni korpusning tashqi tomonida yotganda kalitga lehimlang. Keyin kalitni korpusga torting, shunda pinlar va biriktirilgan simlar teshiklarga o'rnatiladi. Men keraksiz pimlarni kesib tashladim.

Ikkala qalqon:

  • P1 dan S1 gacha
  • P1 3.3V (3.3) platasiga
  • G3 (G) ga chiqish uchun P3

1 -yugurish:

  • P1 - A1 bortiga
  • S2 - A2 bortiga

2 -band:

  • P2 A3 taxtasida
  • S4 - A4 bortiga

Endi ulanishlarni kompyuteringizga ulab va joystik test dasturidan foydalanib tekshiring. Windows-da, Windows-R, joy.cpl [enter], Stelladaptor-ni tanlang, Xususiyatlar-ni bosing. 1-band X o'qi va birinchi tugmani boshqarishi kerak; belkurak 2 Y o'qi va ikkinchi tugmani boshqarishi kerak.

5 -qadam: Yakuniy yig'ilish

Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish

Mikrosxemalarni eshkak qutisi yonidagi joylarida yopishtirish mumkin (issiq elim men uchun ishni bajardi). Tugmalar qopqog'ini mahkamlash mumkin, barqarorlik uchun ozgina issiq elim bilan.

Potansiyometr eshkak qutisi ustidagi katta teshikka biriktiriladi. Tugma siljishi va yopishishi kerak. Zarur bo'lganda teshiklarni matkap yordamida kattalashtiring. Agar xohlasangiz, pastki qopqog'ini suring va ozgina issiq elim qo'shing.

Moviy tabletkalar taxtasi PCB slaydiga mos keladi, u konvertor qutisining pastki qismiga vidalanadi, uning qopqog'i ham uni yopib qo'yishi mumkin.

Men bir oz Shoe Goo qo'shdim, u erda simlar himoya qilish uchun korpusga to'g'ri keladi. Va men belkuraklarga "1" va "2" yorliqlarini yopishtirdim.

6 -qadam: Ish tartibi

Ishlash usullari
Ishlash usullari
Ishlash usullari
Ishlash usullari

Pardalar uchta ish rejimiga ega. Siz USB portiga ulanayotganda, tugmachalarning ma'lum kombinatsiyasini bosib, ish rejimini o'zgartirishingiz mumkin. Agar siz ish rejimini o'zgartirsangiz, u flesh xotiraga saqlanadi va siz uni keyingi o'zgartirguningizcha qoladi. (Shunday qilib, agar siz rejimni o'zgartirmoqchi bo'lmasangiz, qalqonlarni USB portiga ulashda hech qanday tugmachani bosmang.) Mana bu variantlar:

  • Faqat chap eshkakli tugma: bitta ikkita o'qli ikkita tugmachali joystik, har bir o'q va tugma bitta eshkak bilan boshqariladi. Bundan tashqari, belkuraklar Stelladaptor sifatida tanilgan, Atari 2600 kontrollerlari uchun uzilgan USB adapteri, shuning uchun Stelladapter bilan mos keladigan Stella va Z26 kabi Atari 2600 emulyatorlari mukammal ishlashi kerak.
  • Ikkala eshkak tugmasi: Har bir eshkak alohida joystikni ko'rsatadi. Joystikda bitta operatsion tugma mavjud va eshkakni burish joystikni diagonal bilan siljitadi, shuning uchun ham X yoki Y o'qi eshkak uchun ishlaydi.
  • Faqat o'ng eshkak tugmasi: eshkaklar ikki tugmachali mutlaq sichqoncha sifatida namoyon bo'ladi. Endi siz buni chizish dasturi bilan Etch-a-Sketch-ga o'xshash tarzda ishlatishingiz mumkin.

7 -qadam: Pong

Pong
Pong
Pong
Pong

Pong - bu eshkak eshish bo'yicha ajoyib o'yin. Men asl versiyasini tavsiya qilaman, chunki klonlar tez -tez takrorlanadigan zarbalarning tezligi o'zgarishi, eshkakning to'pga tegadigan qismiga yoki nozik, lekin bashorat qilinmaydigan holatga qarab o'zgaradi. o'tkazib yuborilganidan keyin xizmat ko'rsatish. Asl nusxani sinchkovlik bilan tahlil qilish uchun bu yerga qarang.

Pongni o'ynashning eng yaxshi usullaridan biri, agar kompyuteringiz uni to'liq tezlikda ishlatish uchun etarlicha tez bo'lsa, DICE elektron darajali emulyatoridir. (Mening Windows noutbukim, lekin Raspberry PI 3+ juda sekin.) Men 0.8 versiyasini tavsiya qilaman.

Agar siz belkuraklarda Stelladaptor rejimidan foydalansangiz, Sozlamalar | ga o'ting DICE-da kirishni sozlang va Joystick 1-ni tanlang va 1-o'yinchi uchun belkurak uchun absolyutni tanlang va gorizontal va vertikalni Joy 1-o'qiga o'rnating. Y-o'qi bundan mustasno, 2-chi o'yinchi uchun ham xuddi shunday qiling.

Agar sizning kompyuteringiz DICE uchun juda sekin bo'lsa, men Python3+pygame versiyasini yaratdim, uning vaqt va funksionalligi asl Pongga juda yaqin bo'lishi kerak (men bu borada doktor Ugo Xoldendan yordam uchun minnatdorman).

Tavsiya: