Talaan ng mga Nilalaman:

USB Paddle Game Controller: 7 Hakbang (na may Mga Larawan)
USB Paddle Game Controller: 7 Hakbang (na may Mga Larawan)

Video: USB Paddle Game Controller: 7 Hakbang (na may Mga Larawan)

Video: USB Paddle Game Controller: 7 Hakbang (na may Mga Larawan)
Video: Truck Campers for Adventurous Travelers: Top 10 Picks 2024, Nobyembre
Anonim
USB Paddle Game Controller
USB Paddle Game Controller
USB Paddle Game Controller
USB Paddle Game Controller
USB Paddle Game Controller
USB Paddle Game Controller

Ang aking anak na lalaki ay nagkakaroon ng mga video game na retro sa gabi para sa kanyang kaarawan, at sa umaga ng araw ay nagpasya akong tingnan kung makakagawa ako ng isang pares ng mga USB paddle game control para sa Pong sa tulong ng isang 3D printer at electronics mula sa aking itinago. Habang pinamamahalaan ko silang karaniwang nagtatrabaho sa oras, ang mga tao ay masyadong abala sa iba pang mga laro para sa Pong sa huli.

Ang mga Controller ay maaaring magamit para sa Pong na may DICE circuit-level emulator o sa aking medyo tumpak na bersyon ng pygame, para sa Atari 2600 na mga laro na may isang emulator, at para sa Etch-a-Sketch-tulad ng pag-andar na may isang programa sa pagpipinta tulad ng Tux Paint.

Mayroong tatlong mga mode na maaaring palitan:

  • Ang pagtulad ng Stelladaptor paddle: dapat silang gumana sa lahat ng Atari 2600 emulation software na sumusuporta sa Stelladaptor; sa Stelladaptor mode, ang mga paddles ay gumagana bilang two-axis two-button joystick, ang bawat sagwan ay nagkokontrol ng isang axis at isang pindutan
  • dalawahang pagtulad sa joystick: ang bawat paddle ay gumaganap bilang isang joystick na may isang pindutan (kasama ang paggalaw ng paddle na isinalin sa paggalaw sa parehong mga axic ng joystick)
  • mouse: kinokontrol ng bawat sagwan ang isang direksyon ng paggalaw para sa isang ganap na mouse, at ang mga pindutan ay mga pindutan ng mouse; kasama ang isang programa sa pagpipinta maaari kang makakuha ng isang high-tech na aparato na katulad ng isang Etch-a-Sketch.

Mga gamit

Kakailanganin mong:

  • stm32f103c8t6 asul na tableta
  • 2x linear potentiometer (Inirerekumenda ko ang 20K-100K)
  • 2x 12mm-lapad na microswitch na may pindutan
  • 3d printer
  • miscelleanous (filament, wires, solder, soldering iron, hot glue)

Hakbang 1: Ihanda ang Kapaligiran at Arduino na Kapaligiran

Ihanda ang Lupon at Arduino na Kapaligiran
Ihanda ang Lupon at Arduino na Kapaligiran
Ihanda ang Lupon at Arduino na Kapaligiran
Ihanda ang Lupon at Arduino na Kapaligiran
  1. Ihihinang ang anim na header pin sa gitna ng iyong board na stm32f103c8t6.
  2. Suriin ang paglaban sa pagitan ng A12 at 3.3V. Dapat itong 1.5K para sa mas buong pagiging tugma sa USB. Maraming mga board ang may 10K sa halip. Kung ang iyong isa sa mga iyon, mainam na maghinang sa isang 1.8K risistor mula A12 hanggang 3.3V, kahit na masuwerte ka at ipapatakbo ang iyong computer sa 10K.
  3. Mag-install ng isang bootloader. Mayroong mga tagubilin sa Hakbang 2 ng Instructable na ito. Ang isang bagay na dapat tandaan ay kung ano ang laki ng flash na iniulat ng STM Demonstrator. Kung ito ay 32K, mayroon kang isang pekeng stm32f103c8 na marahil ay isang relabeled stm32f103c6. Ang proyekto na ito ay dapat pa rin gumana sa iyon, ngunit gumawa ng isang tala na mayroon kang pekeng board para sa isang hinaharap na hakbang.
  4. I-install ang Arduino, Arduino Zero at ang libmaple-based na core ng Roger na sumusunod sa mga tagubilin sa Hakbang 3 ng Instructable na ginamit mo sa nakaraang hakbang. Huwag pansinin ang mga tagubilin sa library sa hakbang na iyon.
  5. I-download ang pinakabagong paglabas ng aking USB Composite library at i-unzip ito sa iyong Arduino / Library ng folder.
  6. I-download ang aking paddlecontrollers sketch at i-unzip ito sa iyong Arduino folder.
  7. Sa Arduino, pumunta sa Tools | Lupon | Generic STM32F103C Series, maliban kung mayroon kang pekeng c6 board, kung saan pumili ng Generic STM32F103C6 / pekeng STM32F103C8 sa halip. Kung hindi ka sigurado kung alin ang mayroon ka, ang pagpili ng pekeng pagpipilian ay mas ligtas.

Hakbang 2: Mag-upload

I-upload
I-upload

Mag-plug board sa USB adapter ng iyong computer, i-load ang paddlecontroller sketch, at i-click ang pindutang Mag-upload (kanang arrow na tumuturo). Kung maayos ang lahat, ang upload ng sketch ay dapat na mag-upload, at ang board ay dapat na magpakita sa iyong computer bilang isang two-axis two-button joystick na tinatawag na "Stelladaptor". Sa Windows, mapatunayan mo ito sa Windows-R, joy.cpl [enter].

Siyempre, wala itong gagawing anumang bagay hanggang sa natipon mo ang natitirang hardware.

Hakbang 3: I-print

I-print
I-print
  1. I-download ang stl at / o scad na mga file mula sa aking pahina sa Thingiverse para sa proyektong ito. Mangyaring tandaan na ang paddle knob ay nabago mula rito.
  2. Kung ang iyong microswitch na lapad sa pabahay ay naiiba mula sa 12mm, kakailanganin mong ayusin ang parameter ng lapad ng pindutan sa paddlemain-standalone.scad file. Maaari mong gawin iyon sa OpenSCAD o sa Thingiverse Customizer.
  3. Maaaring kailanganin mong sabunutan ang mga sukat sa paddleknob.scad file upang magkasya sa iyong potensyomiter.
  4. I-print ang mga file na ito (gumawa lamang ng isang kopya ng mga "2x" na file kung nais mo lamang ang isang sagwan). Gumamit ako ng PLA, ngunit ang ABS ay dapat ding gumana nang maayos.

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (opsyonal)
    • 1x 12.stl (opsyonal; i-print sa ibang kulay at kola upang lagyan ng label ang dalawang sagwan)

Hakbang 4: Mga kable

Kable
Kable
Kable
Kable
Kable
Kable

Kakailanganin mong patakbuhin ang apat na mga wire mula sa board na stm32f103c sa bawat control ng paddle. Maaari kang gumamit ng mga lumang USB cord para sa mga wire na ito. Nagkaroon ako ng magagandang standalone wires mula sa isang ethernet cable na kung saan ay nakagapos ako kasama ang pag-urong ng balot.

Ang bawat sagwan ay may isang microswitch at isang potentiometer. Gumamit ng isang multimeter upang makilala ang isang pares ng katabi (hindi dayagonal) na mga pin sa microswitch na nakakonekta / naka-disconnect sa pamamagitan ng pagpindot sa pindutan. Lalagyan ko ng label ang mga pin na S1 at S2 sa diagram. Ang tatlong mga pin sa potensyomiter ay nilagyan ko ng label na P1, P2 at P3 mula sa itaas hanggang sa ibaba, na naghahanap mula sa ilalim ng potensyomiter, na may mga puntong tumuturo sa kanan.

Itulak ang apat na mga wire mula sa board sa pamamagitan ng butas sa gilid ng pabahay ng sagwan (paddlemain.stl).

Kapag kumokonekta sa mga wire sa microswitch, itulak muna ang mga wire sa pamamagitan ng mga butas sa gilid ng paddle perumahan at solder sa switch habang ang switch ay nasa labas ng tirahan. Pagkatapos ay hilahin ang switch sa pabahay, gawin ang mga pin at naka-attach na mga wire na magkasya sa mga butas. Pinutol ko ang mga hindi kinakailangang mga pin.

Parehong mga paddle:

  • P1 hanggang S1
  • P1 upang makasakay sa 3.3V (3.3)
  • P3 upang makasakay sa GND (G)

Paddle 1:

  • P2 upang makasakay sa A1
  • S2 upang makasakay sa A2

Paddle 2:

  • P2 upang makasakay sa A3
  • S2 upang makasakay sa A4

Ngayon subukan ang mga koneksyon sa pamamagitan ng pagkonekta sa iyong computer at paggamit ng isang programa ng pagsubok ng Joystick. Sa windows, Windows-R, joy.cpl [ipasok], piliin ang Stelladaptor, mag-click sa Properties. Dapat kontrolin ng Paddle 1 ang X-axis at ang unang pindutan; ang sagwan 2 ay dapat makontrol ang Y-axis at ang pangalawang pindutan.

Hakbang 5: Pangwakas na Assembly

Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon

Ang mga microswitch ay maaaring nakadikit (mainit na kola ang nagtatrabaho para sa akin) sa kanilang mga lokasyon sa gilid ng kahon ng sagwan. Ang mga takip ng pindutan ay maaaring makuha, na may kaunting mainit na pandikit para sa katatagan.

Ang potentiometer ay nakakabit sa malaking butas sa tuktok ng kahon ng sagwan. Ang buhol ay dapat dumulas at dumikit. Palakihin ang mga butas gamit ang isang drill kung kinakailangan. Itulak sa ilalim na takip, pagdaragdag ng kaunting mainit na pandikit kung nais mo.

Ang asul na tableta ng tableta ay umaangkop sa loob ng slide ng PCB, na kung saan pagkatapos ay turnilyo sa ilalim ng converter box, na mayroon ding takip na maaaring takpan ito.

Nagdagdag ako ng kaunting Shoe Goo kung saan natutugunan ng mga wire ang pabahay upang maprotektahan ang mga wire. At nakadikit ako sa mga label na "1" at "2" sa mga sagwan.

Hakbang 6: Mga Mode ng Pagpapatakbo

Mga Paraan ng Pagpapatakbo
Mga Paraan ng Pagpapatakbo
Mga Paraan ng Pagpapatakbo
Mga Paraan ng Pagpapatakbo

Ang mga paddle ay may tatlong mga mode ng pagpapatakbo. Maaari mong palitan ang mode ng pagpapatakbo sa pamamagitan ng pagpindot sa isang partikular na kombinasyon ng mga pindutan habang isinasaksak ang mga ito sa isang USB port, ilalabas sa sandaling huminto sa pag-flashing ang mga board LED. Kapag pinalitan mo ang mode ng pagpapatakbo, mai-save ito sa flash memory, at mananatili hanggang sa susunod mong baguhin ito. (Kaya, kung ayaw mong baguhin ang mode, huwag pindutin ang anumang pindutan habang isinasaksak ang mga paddle sa isang USB port.) Narito ang mga pagpipilian:

  • Ang kaliwang pindutan ng sagwan lamang: Isang two-axis na dalawang-button na joystick, kasama ang bawat axis at pindutan na kinokontrol ng isang sagwan. Bukod dito, ang mga paddles ay nakikilala bilang isang Stelladaptor, isang hindi na ipinagpatuloy na USB adapter para sa mga Controller ng Atari 2600, at sa gayon ang mga emulator ng Atari 2600 tulad ng Stella at Z26 na magkatugma sa Stelladapter ay dapat na ganap na gumana.
  • Parehong mga pindutan ng sagwan: Ang bawat sagwan ay nagpapakita ng isang magkakahiwalay na joystick. Ang joystick ay may isang pindutan sa pagpapatakbo, at ang pag-on ng sagwan ay gumagalaw ang joystick nang dayagonal, kaya't ang X o ang axis ng Y ay gumagana para sa sagwan.
  • Tamang pindutan ng sagwan lamang: Ang mga sagwan ay nagpapakita bilang isang ganap na dalawang-pindutan na mouse. Maaari mo na rin itong magamit nang katulad sa isang Etch-a-Sketch na may programa sa pagguhit.

Hakbang 7: Pong

Pong
Pong
Pong
Pong

Ang Pong ay ang mahusay na orihinal na larong sagwan. Inirerekumenda ko ang orihinal na bersyon, dahil madalas na nabigo ang mga clone na isama ang lahat ng kaibig-ibig na banayad na pag-andar, tulad ng mga pagbabago sa bilis ng mga paulit-ulit na hit, ang mga pagbabago ng anggulo depende sa bahagi ng sagwan na tumatama sa bola, o sa subtly ngunit hindi madaling mahulaan na posisyon ng maghatid pagkatapos ng isang miss. Para sa isang maingat na pagsusuri ng orihinal, tingnan dito.

Ang isa sa pinakamahusay na paraan upang maglaro ng Pong ay ang DICE circuit-level emulator kung ang iyong computer ay sapat na mabilis upang magamit ito sa buong bilis. (Ang aking Windows laptop ay, ngunit ang Raspberry PI 3+ ay masyadong mabagal.) Inirerekumenda ko ang bersyon 0.8.

Kung gagamitin mo ang Stelladaptor mode sa mga paddle, pumunta sa Mga Setting | I-configure ang Mga Input … sa DICE at piliin ang Joystick 1 at Ganap para sa Player 1 Paddle, at itakda ang parehong Pahalang at Patayo sa Joy 1 X-Axis. Pagkatapos gawin ang pareho para sa Player 2 Paddle, maliban sa Y-Axis.

Kung ang iyong computer ay masyadong mabagal para sa DICE, gumawa ako ng isang bersyon ng Python3 + pygame na ang mga oras at pag-andar ay nilalayon na malapit sa orihinal na Pong (Nagpapasalamat ako para sa tulong mula kay Dr. Hugo Holden tungkol dito).

Inirerekumendang: