Cuprins:

Controller de joc USB Paddle: 7 pași (cu imagini)
Controller de joc USB Paddle: 7 pași (cu imagini)

Video: Controller de joc USB Paddle: 7 pași (cu imagini)

Video: Controller de joc USB Paddle: 7 pași (cu imagini)
Video: PXN V10 vs V9: Entry-level steering wheel SHOWDOWN 2024, Decembrie
Anonim
Controller de joc USB Paddle
Controller de joc USB Paddle
Controller de joc USB Paddle
Controller de joc USB Paddle
Controller de joc USB Paddle
Controller de joc USB Paddle

Fiul meu avea o seară de jocuri video retro de ziua lui și, în dimineața zilei, am decis să văd dacă aș putea să fac o pereche de controlere de jocuri cu paddle USB pentru Pong cu ajutorul unei imprimante 3D și a componentelor electronice din stash. În timp ce am reușit să-i fac să lucreze la timp, oamenii au fost prea ocupați cu alte jocuri pentru Pong în cele din urmă.

Controlerele pot fi folosite pentru Pong cu emulatorul la nivel de circuit DICE sau cu versiunea mea destul de precisă Pygame, pentru jocurile Atari 2600 cu un emulator și pentru funcționalitatea Etch-a-Sketch cu un program de pictare precum Tux Paint.

Există trei moduri comutabile:

  • Emulare Stelladaptor paddle: ar trebui să funcționeze cu toate software-urile de emulare Atari 2600 care acceptă Stelladaptor; în modul Stelladaptor, paletele funcționează ca joystick cu două axe și două butoane, fiecare paletă controlând o axă și un buton
  • emulare dublă a joystick-ului: fiecare paletă funcționează ca joystick cu un singur buton (cu mișcarea paletei care se traduce prin mișcare pe ambele axe ale joystick-ului)
  • mouse: fiecare paletă controlează o direcție de mișcare pentru un mouse absolut, iar butoanele sunt butoane ale mouse-ului; împreună cu un program de pictură puteți obține un dispozitiv de înaltă tehnologie similar cu un Etch-a-Sketch.

Provizii

Vei avea nevoie:

  • stm32f103c8t6 pastila albastra
  • 2x potențiometru liniar (aș recomanda 20K-100K)
  • 2x comutator cu lățime de 12 mm cu buton
  • imprimantă 3d
  • diverse (filament, fire, lipit, lipit, lipici fierbinte)

Pasul 1: Pregătiți placa și mediul Arduino

Pregătiți placa și mediul Arduino
Pregătiți placa și mediul Arduino
Pregătiți placa și mediul Arduino
Pregătiți placa și mediul Arduino
  1. Lipiți cei șase pini de antet din mijlocul plăcii stm32f103c8t6.
  2. Verificați rezistența între A12 și 3.3V. Ar trebui să fie de 1,5K pentru o compatibilitate USB mai completă. Multe placi au în schimb 10K. Dacă este unul dintre acestea, lipiți ideal într-un rezistor de 1,8 K de la A12 la 3,3 V, deși s-ar putea să aveți noroc și să aveți computerele să funcționeze cu 10K.
  3. Instalați un bootloader. Există instrucțiuni în Pasul 2 al acestui instructabil. Un lucru de care trebuie menționat este dimensiunea blițului raportată de demonstratorul STM. Dacă este 32K, aveți un fals stm32f103c8, care este probabil un stm32f103c6 reetichetat. Acest proiect ar trebui să funcționeze în continuare cu acest lucru, dar menționați că aveți placa falsă pentru un pas viitor.
  4. Instalați Arduino, Arduino Zero și nucleul bazat pe libmaple de Roger urmând instrucțiunile din Pasul 3 al Instructabilului pe care l-ați folosit în pasul anterior. Ignorați instrucțiunile bibliotecii din acel pas.
  5. Descărcați cea mai recentă versiune a bibliotecii mele USB Composite și dezarhivați-o în folderul Arduino / Biblioteci.
  6. Descărcați schița controlerelor mele de padl și dezarhivați-o în folderul Arduino.
  7. În Arduino, accesați Instrumente | Consiliu | Seria STM32F103C generică, cu excepția cazului în care aveți placa c6 falsă, caz în care alegeți în schimb Generic STM32F103C6 / fake STM32F103C8. Dacă nu sunteți sigur care aveți, alegerea opțiunii false este de fapt mai sigură.

Pasul 2: Încărcați

Încărcați
Încărcați

Conectați placa la adaptorul USB al computerului, încărcați schița controlerului de padl și faceți clic pe butonul Încărcare (săgeata îndreptată spre dreapta). Dacă totul merge bine, schița ar trebui să se încarce, iar placa ar trebui să apară pe computer ca un joystick cu două axe cu două butoane numit „Stelladaptor”. În Windows, puteți verifica acest lucru cu Windows-R, joy.cpl [enter].

Desigur, acest lucru nu va face nimic până când nu veți avea asamblat restul hardware-ului.

Pasul 3: Imprimați

Imprimare
Imprimare
  1. Descărcați fișierele stl și / sau scad de pe pagina mea Thingiverse pentru acest proiect. Vă rugăm să rețineți că butonul de paletă este modificat de aici.
  2. Dacă lățimea carcasei microîntrerupătorului este diferită de 12 mm, va trebui să ajustați parametrul lățimii butonului din fișierul paddlemain-standalone.scad. Puteți face acest lucru în OpenSCAD sau în Thingiverse Customizer.
  3. Poate fi necesar să modificați măsurătorile din fișierul paddleknob.scad pentru a se potrivi cu potențiometrul.
  4. Imprimați aceste fișiere (faceți o singură copie a fișierelor „2x” dacă doriți doar o pagină). Am folosit PLA, dar și ABS ar trebui să funcționeze bine.

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (opțional)
    • 1x 12.stl (opțional; imprimați într-o altă culoare și lipiți pentru a eticheta cele două palete)

Pasul 4: Cablare

Cablare
Cablare
Cablare
Cablare
Cablare
Cablare

Va trebui să rulați patru fire de la placa stm32f103c la fiecare controler de paletă. Puteți utiliza cabluri USB vechi pentru aceste fire. Mi s-a întâmplat să am fire de sine stătătoare de la un cablu ethernet pe care le-am legat împreună cu folie termocontractabilă.

Fiecare paletă are un microîntrerupător și un potențiometru. Utilizați un multimetru pentru a identifica o pereche de pini adiacenți (nu diagonali) de pe microîntrerupător care sunt conectați / deconectați apăsând butonul. Voi eticheta acei pini S1 și S2 în diagramă. Cei trei pini de pe potențiometru pe care i-am etichetat P1, P2 și P3 de sus în jos, uitându-se din partea inferioară a potențiometrului, cu pini îndreptați spre dreapta.

Împingeți cele patru fire de pe tablă prin orificiul de pe partea laterală a carcasei paletei (paddlemain.stl).

Când conectați firele la microîntrerupător, împingeți mai întâi firele prin orificiile din partea laterală a carcasei paletei și lipiți-le la întrerupător în timp ce comutatorul se află în exteriorul carcasei. Apoi trageți comutatorul de carcasă, făcând știfturile și firele atașate să se încadreze în găuri. Am tăiat pinii inutili.

Ambele palete:

  • P1 la S1
  • P1 la bord 3.3V (3.3)
  • P3 la bordul GND (G)

Paleta 1:

  • P2 la bordul A1
  • S2 la bordul A2

Paleta 2:

  • P2 la bordul A3
  • S2 la bord A4

Acum testați conexiunile conectându-vă la computer și utilizând un program de testare a joystick-ului. În Windows, Windows-R, joy.cpl [enter], selectați Stelladaptor, faceți clic pe Properties. Paleta 1 ar trebui să controleze axa X și primul buton; padela 2 ar trebui să controleze axa Y și al doilea buton.

Pasul 5: Adunarea finală

Asamblarea finala
Asamblarea finala
Asamblarea finala
Asamblarea finala
Asamblarea finala
Asamblarea finala
Asamblarea finala
Asamblarea finala

Microîntrerupătoarele pot fi lipite (adezivul fierbinte a făcut treaba pentru mine) în locațiile lor de pe partea laterală a cutiei de palete. Capacele butoanelor pot fi fixate, cu un pic de lipici fierbinte pentru stabilitate.

Potențiometrul se atașează la gaura mare din partea superioară a cutiei de palete. Butonul ar trebui să alunece și să se lipească. Măriți găurile cu un burghiu după cum este necesar. Împingeți capacul inferior, adăugând un pic de adeziv fierbinte, dacă doriți.

Placa de pilule albastră se potrivește în interiorul diapozitivului PCB, care se înșurubează apoi în partea inferioară a cutiei convertorului, care are și un capac care îl poate acoperi.

Am adăugat un pic de Shoe Goo unde firele se întâlnesc cu carcasa pentru a proteja firele. Și am lipit pe etichete „1” și „2” pe palete.

Pasul 6: Moduri de funcționare

Moduri de funcționare
Moduri de funcționare
Moduri de funcționare
Moduri de funcționare

Paletele au trei moduri de funcționare. Puteți comuta modul de funcționare apăsând o anumită combinație de butoane în timp ce le conectați la un port USB, eliberându-le după ce LED-urile plăcii încetează să clipească. Odată ce comutați modul de funcționare, acesta va fi salvat în memoria flash și va rămâne până când îl veți schimba. (Deci, dacă nu doriți să schimbați modul, nu apăsați niciun buton în timp ce conectați padelele la un port USB.) Iată opțiunile:

  • Numai butonul stânga cu paletă: un joystick cu două axe cu două butoane, cu fiecare axă și buton controlat de o paletă. Mai mult, paletele se identifică ca un Stelladaptor, un adaptor USB întrerupt pentru controlerele Atari 2600, astfel încât emulatoarele Atari 2600 precum Stella și Z26 care sunt compatibile cu Stelladapter ar trebui să funcționeze perfect.
  • Ambele butoane de paddle: fiecare paddle afișează un joystick separat. Joystick-ul are un singur buton operațional, iar rotirea paletei mută joystick-ul în diagonală, astfel încât fie axa X, fie axa Y funcționează pentru paletă.
  • Numai butonul din paletă dreapta: paletele apar ca un mouse absolut cu două butoane. Acum puteți utiliza acest lucru similar unui Etch-a-Sketch cu un program de desen.

Pasul 7: Pong

Pong
Pong
Pong
Pong

Pong a fost marele joc original de paddle. Recomand versiunea originală, deoarece clonele nu reușesc să includă toate funcționalitățile subtile minunate, cum ar fi schimbările de viteză cu lovituri repetate, unghiul se schimbă în funcție de partea paletei care lovește mingea sau de poziția subtilă, dar nu ușor previzibilă de servire după o ratare. Pentru o analiză atentă a originalului, consultați aici.

Unul dintre cele mai bune moduri de a juca Pong este cu emulatorul la nivel de circuit DICE dacă computerul dvs. este suficient de rapid pentru a-l utiliza la viteză maximă. (Laptopul meu Windows este, dar Raspberry PI 3+ este mult prea lent.) Vă recomand versiunea 0.8.

Dacă utilizați modul Stelladaptor în palete, accesați Setări | Configurați intrările … în DICE și alegeți Joystick 1 și Absolute pentru Player 1 Padle și setați pe orizontală și pe verticală Joy-Axis X. Apoi faceți același lucru pentru Player 2 Paddle, cu excepția axei Y.

Dacă computerul dvs. este prea lent pentru DICE, am creat o versiune Python3 + pygame ale cărei timinguri și funcționalități sunt menite să fie foarte apropiate de Pong-ul original (sunt recunoscător pentru ajutorul doctorului Hugo Holden în acest sens).

Recomandat: