Kazalo:

Krmilnik za igranje USB Paddle: 7 korakov (s slikami)
Krmilnik za igranje USB Paddle: 7 korakov (s slikami)

Video: Krmilnik za igranje USB Paddle: 7 korakov (s slikami)

Video: Krmilnik za igranje USB Paddle: 7 korakov (s slikami)
Video: PXN V10 vs V9: Entry-level steering wheel SHOWDOWN 2024, December
Anonim
Krmilnik USB Paddle Game
Krmilnik USB Paddle Game
Krmilnik USB Paddle Game
Krmilnik USB Paddle Game
Krmilnik USB Paddle Game
Krmilnik USB Paddle Game

Moj sin je imel za rojstni dan noč retro video iger in zjutraj sem se odločil, da bom s 3D -tiskalnikom in elektroniko iz zaloge naredil par krmilnikov iger za veslanje za Pong. Čeprav mi je uspelo, da so v bistvu pravočasno delovali, so bili ljudje na koncu preveč zaposleni z drugimi igrami za Pong.

Krmilnike lahko uporabite za Pong z emulatorjem na ravni vezja DICE ali z mojo dokaj natančno različico pygame, za igre Atari 2600 z emulatorjem in za funkcijo podobno Etch-a-Sketch s programom za slikanje, kot je Tux Paint.

Obstajajo trije preklopni načini:

  • Emulacija vesla Stelladaptor: delovati morajo z vso programsko opremo za emulacijo Atari 2600, ki podpira Stelladaptor; v načinu Stelladaptor vesla delujejo kot dvoosna krmilna palica z dvema gumboma, pri čemer vsako veslo nadzoruje eno os in en gumb
  • emulacija dvojne krmilne palice: vsako veslo deluje kot krmilna palica z enim gumbom (pri čemer se gibanje vesla prevede v gibanje na obeh osi krmilne palice)
  • miška: vsako veslo nadzoruje eno smer gibanja za absolutno miško, gumbi pa so gumbi miške; skupaj s slikarskim programom lahko dobite visokotehnološko napravo, podobno Etch-a-Sketch.

Zaloge

Boste potrebovali:

  • stm32f103c8t6 modra tabletka
  • 2x linearni potenciometer (priporočam 20K-100K)
  • 2x mikro stikalo širine 12 mm z gumbom
  • 3D tiskalnik
  • razno (žarilna nitka, žice, spajkanje, spajkalnik, vroče lepilo)

Korak 1: Pripravite okolje Board in Arduino

Pripravite Board in Arduino okolje
Pripravite Board in Arduino okolje
Pripravite Board in Arduino okolje
Pripravite Board in Arduino okolje
  1. Spajajte šest zatičev glave sredi plošče stm32f103c8t6.
  2. Preverite upor med A12 in 3.3V. Za popolnejšo združljivost USB mora biti 1,5K. Mnoge plošče imajo namesto tega 10K. Če je eden izmed njih, je najbolje, da ga spajkate v 1,8K upor od A12 do 3,3 V, čeprav boste morda imeli srečo in računalniki bodo delovali z 10K.
  3. Namestite zagonski nalagalnik. V 2. koraku tega navodila imate navodila. Opozoriti je treba na velikost bliskavice, ki jo poroča demonstrator STM. Če je 32K, imate ponarejen stm32f103c8, ki je verjetno preimenovan stm32f103c6. Ta projekt bi moral še delovati s tem, vendar upoštevajte, da imate ponarejeno tablo za prihodnji korak.
  4. Namestite Arduino, Arduino Zero in Rogerjevo jedro, ki temelji na libmapleju, po navodilih v 3. koraku navodila, ki ste ga uporabili v prejšnjem koraku. V tem koraku prezrite navodila knjižnice.
  5. Prenesite najnovejšo izdajo moje knjižnice USB Composite in jo razpakirajte v mapo Arduino/Knjižnice.
  6. Prenesite mojo skico paddlecontrollerjev in jo razpakirajte v mapo Arduino.
  7. V Arduinu pojdite na Orodja | Deska | Generična serija STM32F103C, razen če imate ponarejeno ploščo c6, v tem primeru izberite Generic STM32F103C6/ponaredek STM32F103C8. Če niste prepričani, kaj imate, je izbira ponaredka dejansko varnejša.

2. korak: naložite

Naloži
Naloži

Priključite ploščo v USB vmesnik računalnika, naložite skico krmilnika paddle in kliknite gumb Naloži (puščica v desno). Če je vse v redu, se mora skica naložiti, plošča pa se mora v vašem računalniku prikazati kot dvoosna krmilna palica z dvema gumboma, imenovana "Stelladaptor". V sistemu Windows lahko to preverite z operacijskim sistemom Windows-R, joy.cpl [enter].

Seveda to ne bo naredilo ničesar, dokler ne sestavite preostale strojne opreme.

3. korak: Natisnite

Natisni
Natisni
  1. Prenesite datoteke stl in/ali scad s strani Thingiverse za ta projekt. Upoštevajte, da se od tukaj spreminja gumb za veslo.
  2. Če se širina ohišja mikro stikala razlikuje od 12 mm, boste morali prilagoditi parameter širine gumba v datoteki paddlemain-standalone.scad. To lahko storite v OpenSCAD ali v orodju za prilagajanje Thingiverse.
  3. Morda boste morali prilagoditi meritve v datoteki paddleknob.scad, da ustrezajo vašemu potenciometru.
  4. Natisnite te datoteke (naredite samo eno kopijo datotek "2x", če želite le eno veslo). Uporabil sem PLA, vendar bi tudi ABS moral dobro delovati.

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x pretvornik paddleconst.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (neobvezno)
    • 1x 12.stl (neobvezno; natisnite v drugi barvi in lepite, da označite obe lopatici)

4. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Od vsakega krmilnika vesla boste morali voditi štiri žice od plošče stm32f103c. Za te žice lahko uporabite stare kable USB. Imel sem lepe samostojne žice iz ethernetnega kabla, ki sem jih povezal s skrčljivo folijo.

Vsako veslo ima eno mikro stikalo in en potenciometer. Z multimetrom identificirajte par sosednjih (ne diagonalnih) zatičev na mikro stikalu, ki sta povezana/odklopljena s pritiskom na gumb. Te zatiče S1 in S2 bom označil v diagramu. Trije zatiči na potenciometru sem od zgoraj navzdol označil P1, P2 in P3, gledano s spodnje strani potenciometra, z zatiči, ki kažejo desno.

Štiri žice s plošče potisnite skozi luknjo na strani ohišja vesla (paddlemain.stl).

Ko priključujete žice na mikro stikalo, najprej potisnite žice skozi luknje na strani ohišja vesla in spajkajte na stikalo, medtem ko stikalo leži na zunanji strani ohišja. Nato potegnite stikalo do ohišja, tako da se zatiči in pritrjene žice prilegajo v luknje. Odrezala sem nepotrebne zatiče.

Oba vesla:

  • P1 do S1
  • P1 na ploščo 3.3V (3.3)
  • P3 na krovu GND (G)

Veslo 1:

  • P2 na krovu A1
  • S2 na krovu A2

Veslo 2:

  • P2 na krovu A3
  • S2 na krovu A4

Zdaj preizkusite povezave tako, da se povežete z računalnikom in uporabite preizkusni program z igralno palico. V oknih, Windows-R, joy.cpl [enter], izberite Stelladaptor, kliknite Lastnosti. Veslo 1 naj nadzoruje os X in prvi gumb; veslo 2 mora upravljati os Y in drugi gumb.

5. korak: Končna montaža

Končna sestava
Končna sestava
Končna sestava
Končna sestava
Končna sestava
Končna sestava
Končna sestava
Končna sestava

Mikro stikala lahko prilepite (vroče lepilo mi je naredilo delo) na njihovih mestih na strani škatle za veslanje. Pokrovčke gumbov lahko pritrdite z malo vročega lepila za stabilnost.

Potenciometer se pritrdi na veliko luknjo na vrhu škatle. Gumb mora drseti in se držati. Po potrebi povečajte luknje s svedrom. Potisnite spodnji pokrov in po želji dodajte malo vročega lepila.

Modra plošča za tablete se prilega notranjosti drsnika tiskanega vezja, ki se nato privije na dno pretvorniške omarice, ki ima tudi pokrov, ki ga lahko pokrije.

Dodal sem malo Shoe Goo, kjer se žice srečujejo z ohišjem za zaščito žic. In na vesla sem prilepil nalepke "1" in "2".

6. korak: Načini delovanja

Načini delovanja
Načini delovanja
Načini delovanja
Načini delovanja

Vesla imajo tri načine delovanja. Način delovanja lahko preklopite tako, da pritisnete določeno kombinacijo gumbov, medtem ko jih priključite na vrata USB, in jih spustite, ko LED diode na plošči prenehajo utripati. Ko preklopite na način delovanja, bo shranjen v pomnilnik flash in bo ostal, dokler ga naslednjič ne spremenite. (Če torej ne želite spremeniti načina, ne pritiskajte nobenega gumba, medtem ko vesla priključite v vrata USB.) Tu so možnosti:

  • Samo levi gumb za veslo: Ena dvoosna krmilna palica z dvema gumboma, pri čemer vsako os in gumb upravljata z enim veslom. Poleg tega so vesla identificirana kot Stelladaptor, ukinjen USB -adapter za krmilnike Atari 2600, zato bi morali emulatorji Atari 2600, kot sta Stella in Z26, ki so združljivi s Stelladapterjem, delovati odlično.
  • Oba gumba za veslo: Vsako veslo prikaže ločeno krmilno palčko. Krmilna palica ima en upravljalni gumb, z obračanjem vesla pa krmilno palico premaknete diagonalno, tako da za veslo deluje bodisi os X bodisi Y.
  • Samo desni gumb za veslo: Vesla so prikazana kot absolutna miška z dvema gumboma. Zdaj lahko to uporabite podobno kot Etch-a-Sketch s programom za risanje.

7. korak: Pong

Pong
Pong
Pong
Pong

Pong je bila odlična originalna igra vesla. Priporočam izvirno različico, ker kloni pogosto ne vključujejo vseh lepih subtilnih funkcij, kot so spremembe hitrosti s ponavljajočimi se zadetki, kot se spreminja glede na del vesla, ki zadene žogo, ali pa subtilno, a ne zlahka predvidljivega položaja servisa po zgrešeni žogi. Za natančno analizo izvirnika glejte tukaj.

Eden najboljših načinov igranja ponga je emulator na ravni vezja DICE, če je vaš računalnik dovolj hiter, da ga lahko uporablja pri polni hitrosti. (Moj prenosni računalnik z operacijskim sistemom Windows je, vendar je Raspberry PI 3+ prepočasen.) Priporočam različico 0.8.

Če v lopaticah uporabljate način Stelladaptor, pojdite na Nastavitve | Konfigurirajte vhode… v sistemu DICE in izberite Joystick 1 in Absolute za Player 1 Paddle ter nastavite Horizontal in Vertical na Joy 1 X-Axis. Nato naredite enako za Player 2 Paddle, razen pri osi Y.

Če je vaš računalnik prepočasen za DICE, sem naredil različico Python3+pygame, katere časovni razporedi in funkcionalnost naj bi bili zelo blizu prvotnemu Pongu (hvaležen sem za pomoč dr. Huga Holdena v zvezi s tem).

Priporočena: