Innholdsfortegnelse:

USB Paddle Game Controller: 7 trinn (med bilder)
USB Paddle Game Controller: 7 trinn (med bilder)

Video: USB Paddle Game Controller: 7 trinn (med bilder)

Video: USB Paddle Game Controller: 7 trinn (med bilder)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
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

Sønnen min hadde en retro videospillkveld for bursdagen sin, og morgenen på dagen bestemte jeg meg for å se om jeg kunne lage et par USB -padle -spillkontrollere til Pong ved hjelp av en 3D -skriver og elektronikk fra stashen min. Selv om jeg klarte å få dem til å fungere i tide, var folk for opptatt med andre spill for Pong til slutt.

Kontrollerne kan brukes til Pong med DICE-kretsnivåemulatoren eller med min ganske nøyaktige pygame-versjon, til Atari 2600-spill med en emulator og til Etch-a-Sketch-lignende funksjonalitet med et malingsprogram som Tux Paint.

Det er tre byttbare moduser:

  • Emulering av Stelladaptor padle: de skal fungere med all Atari 2600 emuleringsprogramvare som støtter Stelladaptor; i Stelladaptor-modus fungerer padlene som to-akset to-knappers joystick, hver padle styrer en akse og en knapp
  • dobbel joystick -emulering: hver padle fungerer som en joystick med en knapp (med padlebevegelsen som oversetter til bevegelse på begge joystick -akser)
  • mus: hver padle styrer en bevegelsesretning for en absolutt mus, og knappene er museknapper; sammen med et maleprogram kan du få en høyteknologisk enhet som ligner en Etch-a-Sketch.

Rekvisita

Du vil trenge:

  • stm32f103c8t6 blå pille
  • 2x lineært potensiometer (jeg vil anbefale 20K-100K)
  • 2 x 12 mm bred mikrobryter med knapp
  • 3D -skriver
  • diverse (filament, ledninger, loddetinn, loddejern, varmt lim)

Trinn 1: Forbered bord og Arduino -miljø

Forbered styret og Arduino -miljøet
Forbered styret og Arduino -miljøet
Forbered styret og Arduino -miljøet
Forbered styret og Arduino -miljøet
  1. Lodd de seks toppnålene midt på stm32f103c8t6 -brettet.
  2. Kontroller motstanden mellom A12 og 3.3V. Den bør være 1,5K for fyldigere USB -kompatibilitet. Mange tavler har 10K i stedet. Hvis du er en av dem, ideelt loddetinn i en 1.8K motstand fra A12 til 3.3V, selv om du kan være heldig og få datamaskinene til å fungere med 10K.
  3. Installer en bootloader. Det er instruksjoner i trinn 2 i denne instruksjonsboken. En ting å merke seg er blitsstørrelsen som er rapportert av STM -demonstratoren. Hvis det er 32K, har du en falsk stm32f103c8 som sannsynligvis er en merket stm32f103c6. Dette prosjektet bør fortsatt fungere med det, men noter at du har det falske brettet for et fremtidig trinn.
  4. Installer Arduino, Arduino Zero og Rogers libmaple-baserte kjerne etter instruksjonene i trinn 3 i instruksjonsboken du brukte i forrige trinn. Ignorer bibliotekets instruksjoner i det trinnet.
  5. Last ned den siste versjonen av USB Composite -biblioteket og pakk det ut i Arduino/Libraries -mappen.
  6. Last ned skissen for paddlecontrollers og pakk den ut i Arduino -mappen.
  7. I Arduino, gå til Verktøy | Styret | Generisk STM32F103C -serie, med mindre du har det falske c6 -kortet, i så fall velger du Generic STM32F103C6/fake STM32F103C8 i stedet. Hvis du ikke er sikker på hvilken du har, er det faktisk tryggere å velge det falske alternativet.

Trinn 2: Last opp

Laste opp
Laste opp

Koble kortet til datamaskinens USB -adapter, last inn skisse for paddle -kontrolleren, og klikk på Last opp -knappen (pilen til høyre). Hvis alt går bra, bør skissen lastes opp, og brettet skal vises på datamaskinen din som en to-akset to-knappers joystick kalt "Stelladaptor". I Windows kan du bekrefte dette med Windows-R, joy.cpl [enter].

Selvfølgelig vil dette ikke gjøre noe før du har resten av maskinvaren montert.

Trinn 3: Skriv ut

Skrive ut
Skrive ut
  1. Last ned stl- og/eller scad -filene fra Thingiverse -siden min for dette prosjektet. Vær oppmerksom på at padleknappen er endret herfra.
  2. Hvis bredden på mikrobryteren er forskjellig fra 12 mm, må du justere parameteren for knappbredde i filen paddlemain-standalone.scad. Du kan gjøre det i OpenSCAD eller i Thingiverse Customizer.
  3. Du må kanskje justere målingene i paddleknob.scad -filen for å passe potensiometeret ditt.
  4. Skriv ut disse filene (gjør bare en kopi av "2x" -filene hvis du bare vil ha en padle). Jeg brukte PLA, men ABS burde fungere bra også.

    • 2x padlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (valgfritt)
    • 1x 12.stl (valgfritt; skriv ut i en annen farge og lim på for å merke de to padlene)

Trinn 4: Kabling

Kabling
Kabling
Kabling
Kabling
Kabling
Kabling

Du må kjøre fire ledninger fra stm32f103c -kortet til hver padlekontroller. Du kan bruke gamle USB -ledninger til disse ledningene. Jeg hadde tilfeldigvis fine frittstående ledninger fra en ethernet -kabel som jeg bandt sammen med krympeomslag.

Hver padle har en mikrobryter og ett potensiometer. Bruk et multimeter til å identifisere et par tilstøtende (ikke diagonale) pinner på mikrobryteren som er koblet til/fra ved å trykke på knappen. Jeg vil merke disse pinnene S1 og S2 i diagrammet. De tre pinnene på potensiometeret har jeg merket P1, P2 og P3 fra topp til bunn, sett fra undersiden av potensiometeret, med pinner som peker til høyre.

Skyv de fire ledningene fra brettet gjennom hullet på siden av padlehuset (paddlemain.stl).

Når du kobler ledninger til mikrobryteren, skyver du først ledningene gjennom hullene på siden av padlehuset og loddetinn til bryteren mens bryteren ligger på utsiden av huset. Trekk deretter bryteren til huset, slik at pinnene og de vedlagte ledningene passer inn i hullene. Jeg kuttet av de unødvendige pinnene.

Begge padlene:

  • P1 til S1
  • P1 til brett 3.3V (3.3)
  • P3 for å gå ombord på GND (G)

Padle 1:

  • P2 til brett A1
  • S2 til bord A2

Padle 2:

  • P2 til bord A3
  • S2 til bord A4

Test nå tilkoblingene ved å koble til datamaskinen din og bruke et joystick -testprogram. I Windows, Windows-R, joy.cpl [enter], velg Stelladaptor, klikk på Egenskaper. Padle 1 skal kontrollere X-aksen og den første knappen; padle 2 skal kontrollere Y-aksen og den andre knappen.

Trinn 5: Sluttmontering

Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering

Mikrobryterne kan limes (varmt lim gjorde jobben for meg) på plasseringene på siden av padleboksen. Knappelokkene kan klikkes på, med litt varmt lim for stabilitet.

Potensiometeret festes til det store hullet på toppen av padleboksen. Knappen skal gli på og holde seg fast. Forstør hull med en drill etter behov. Skyv bunndekselet på og tilsett litt varmt lim hvis du vil.

Det blå pillebrettet passer inne i PCB -lysbildet, som deretter skrues til bunnen av konverteringsboksen, som også har et lokk som kan dekke det til.

Jeg la til litt Shoe Goo hvor ledninger møter huset for å beskytte ledningene. Og jeg limte på "1" og "2" etiketter på padlene.

Trinn 6: Driftsmåter

Driftsmåter
Driftsmåter
Driftsmåter
Driftsmåter

Padlene har tre driftsmåter. Du kan bytte driftsmodus ved å trykke på en bestemt kombinasjon av knapper mens du kobler dem til en USB -port, og slipper når kortets LED -lys slutter å blinke. Når du bytter driftsmodus, vil den bli lagret i flashminnet og forbli til du endrer den neste gang. (Så hvis du ikke vil endre modus, ikke trykk på noen knapp mens du kobler padlene til en USB -port.) Her er alternativene:

  • Bare venstre padleknapp: En to-akset to-knappers joystick, med hver akse og knapp kontrollert av en padle. Videre identifiserer padlene som en Stelladaptor, en utgått USB -adapter for Atari 2600 -kontrollere, og derfor burde Atari 2600 -emulatorer som Stella og Z26 som er Stelladapter -kompatible fungere perfekt.
  • Begge padleknappene: Hver padle viser en egen joystick. Joysticken har en betjeningsknapp, og ved å dreie padlen flyttes joysticken diagonalt, så enten X- eller Y -aksen fungerer for padlen.
  • Bare høyre padleknapp: Padlene vises som en absolutt mus med to knapper. Du kan nå bruke dette på samme måte som en Etch-a-Sketch med et tegneprogram.

Trinn 7: Pong

Pong
Pong
Pong
Pong

Pong var det flotte originale padlespillet. Jeg anbefaler den originale versjonen, fordi kloner ofte ikke klarer å inkludere all den herlige subtile funksjonaliteten, som endringer i hastighet med gjentatte treff, vinkelen endres avhengig av hvilken del av padlen som treffer ballen eller den subtile, men ikke lett forutsigbare posisjonen av serveringen etter en glipp. For en grundig analyse av originalen, se her.

En av de beste måtene å spille Pong på er med DICE-kretsnivåemulatoren hvis datamaskinen din er rask nok til å bruke den i full fart. (Min bærbare Windows er, men Raspberry PI 3+ er altfor treg.) Jeg anbefaler versjon 0.8.

Hvis du bruker Stelladaptor -modus i padlene, går du til Innstillinger | Konfigurer innganger … i DICE og velg Joystick 1 og Absolute for Player 1 Paddle, og sett både Horisontal og Vertikal til Joy 1 X-Axis. Gjør deretter det samme for Player 2 Paddle, unntatt med Y-Axis.

Hvis datamaskinen din er for treg for DICE, laget jeg en Python3+pygame -versjon hvis tidspunkter og funksjonalitet er ment å være veldig nær den opprinnelige Pong (jeg er takknemlig for hjelp fra Dr. Hugo Holden i denne forbindelse).

Anbefalt: