Sadržaj:

USB kontroler za veslanje: 7 koraka (sa slikama)
USB kontroler za veslanje: 7 koraka (sa slikama)

Video: USB kontroler za veslanje: 7 koraka (sa slikama)

Video: USB kontroler za veslanje: 7 koraka (sa slikama)
Video: Разница Чечни с Дагестаном. 2024, Studeni
Anonim
USB kontroler za veslanje igara
USB kontroler za veslanje igara
USB kontroler za veslanje igara
USB kontroler za veslanje igara
USB kontroler lopatica za igre
USB kontroler lopatica za igre

Moj sin je za rođendan imao noć retro video igara, a ujutro tog dana odlučila sam provjeriti mogu li uz pomoć 3D printera i elektronike iz svog skladišta napraviti par USB kontrolera za veslanje za Pong. Iako sam ih uspio natjerati da u osnovi rade na vrijeme, ljudi su na kraju bili previše zauzeti drugim igrama za Pong.

Kontroleri se mogu koristiti za Pong s emulatorom sklopa DICE ili s mojom prilično točnom verzijom pygamea, za igre Atari 2600 s emulatorom i za funkcionalnost sličnu Etch-a-Sketchu sa programom za slikanje poput Tux Paint.

Postoje tri preklopna načina rada:

  • Stelladaptor emulacija vesla: trebali bi raditi sa svim softverom za emulaciju Atari 2600 koji podržava Stelladaptor; u načinu rada Stelladaptor, lopatice funkcioniraju kao dvoosna joystick s dva gumba, a svako veslo kontrolira jednu os i jedan gumb
  • emulacija dvostruke upravljačke palice: svako veslo funkcionira kao joystick s jednim gumbom (s kretanjem vesla koje se prevodi u kretanje na obje osi upravljačke palice)
  • miš: svako veslo kontrolira jedan smjer kretanja za apsolutnog miša, a gumbi su tipke miša; zajedno sa slikarskim programom možete dobiti visokotehnološki uređaj sličan Etch-a-Sketch-u.

Pribor

Trebat će vam:

  • stm32f103c8t6 plava pilula
  • 2x linearni potenciometar (preporučio bih 20K-100K)
  • 2x mikroprekidač širine 12 mm s gumbom
  • 3D pisač
  • razno (filament, žice, lemljenje, lemilica, vruće ljepilo)

Korak 1: Pripremite ploču i Arduino okruženje

Pripremite ploču i Arduino okruženje
Pripremite ploču i Arduino okruženje
Pripremite ploču i Arduino okruženje
Pripremite ploču i Arduino okruženje
  1. Lemite šest igala zaglavlja na sredinu ploče stm32f103c8t6.
  2. Provjerite otpor između A12 i 3.3V. Za potpuniju USB kompatibilnost trebao bi biti 1,5K. Mnoge ploče umjesto toga imaju 10K. Ako je jedan od njih, idealno je lemiti u 1,8K otpornik od A12 do 3,3 V, iako biste mogli imati sreće i neka vam računala rade s 10K.
  3. Instalirajte bootloader. Postoje upute u 2. koraku ove upute. Treba uzeti u obzir veličinu bljeskalice koju je prijavio STM Demonstrator. Ako je 32K, imate lažni stm32f103c8 koji je vjerojatno preimenovani stm32f103c6. Ovaj projekt bi i dalje trebao raditi s tim, ali imajte na umu da imate lažnu ploču za budući korak.
  4. Instalirajte Arduino, Arduino Zero i Rogerovu jezgru temeljenu na libmapleu slijedeći upute u 3. koraku Instructable-a koje ste koristili u prethodnom koraku. Zanemarite upute knjižnice u tom koraku.
  5. Preuzmite najnovije izdanje moje USB Composite knjižnice i raspakirajte je u svoju mapu Arduino/Libraries.
  6. Preuzmite moju skicu paddlecontrollera i raspakirajte je u svoju Arduino mapu.
  7. U Arduinu idite na Alati | Ploča | Generička serija STM32F103C, osim ako nemate lažnu c6 ploču, u tom slučaju umjesto toga odaberite Generička STM32F103C6/lažna STM32F103C8. Ako niste sigurni koju imate, odabir lažne opcije zapravo je sigurniji.

Korak 2: Prenesite

Učitaj
Učitaj

Priključite ploču u USB adapter vašeg računala, učitajte skicu upravljačkog programa paddle i kliknite gumb Upload (strelica koja pokazuje desno). Ako sve bude u redu, skica bi se trebala učitati, a ploča bi se trebala pojaviti na vašem računalu kao dvoosna džojstik s dva gumba pod nazivom "Stelladaptor". U sustavu Windows to možete provjeriti pomoću sustava Windows-R, joy.cpl [enter].

Naravno, ovo neće ništa učiniti dok ne sastavite ostatak hardvera.

Korak 3: Ispis

Ispis
Ispis
  1. Preuzmite stl i/ili scad datoteke s moje stranice Thingiverse za ovaj projekt. Imajte na umu da se odavde mijenja tipka vesla.
  2. Ako se širina kućišta mikroprekidača razlikuje od 12 mm, morat ćete prilagoditi parametar širine gumba u datoteci paddlemain-standalone.scad. To možete učiniti u OpenSCAD -u ili u Thingiverse Customizer -u.
  3. Možda ćete morati prilagoditi mjerenja u datoteci paddleknob.scad kako bi odgovarala vašem potenciometru.
  4. Ispišite ove datoteke (napravite samo jednu kopiju datoteka "2x" ako želite samo jedno veslo). Koristio sam PLA, ali i ABS bi trebao dobro funkcionirati.

    • 2x lopatica.stl
    • 2x ručica za lopatice.stl
    • 1x pretvarač lopatica.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (opcionalno)
    • 1x 12.stl (izborno; ispis u drugoj boji i lijepljenje za označavanje dva vesla)

Korak 4: Ožičenje

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

Morat ćete provesti četiri žice od ploče stm32f103c do svakog upravljačkog sklopa. Za ove žice mogli biste koristiti stare USB kabele. Slučajno sam imao lijepe samostalne žice s Ethernet kabela koje sam povezao skupljajućom folijom.

Svaka lopatica ima jedan mikroprekidač i jedan potenciometar. Pomoću multimetra identificirajte par susjednih (ne dijagonalnih) pinova na mikroprekidaču koji su spojeni/isključeni pritiskom na gumb. Označit ću ove pinove S1 i S2 na dijagramu. Tri pina na potenciometru označila sam P1, P2 i P3 odozgo prema dolje, gledajući s donje strane potenciometra, a pinovi su usmjereni udesno.

Gurnite četiri žice s ploče kroz otvor na bočnoj strani kućišta vesla (paddlemain.stl).

Prilikom spajanja žica na mikroprekidač, najprije gurnite žice kroz rupe na bočnoj strani kućišta lopatice i lemite ih do prekidača dok prekidač leži s vanjske strane kućišta. Zatim povucite prekidač do kućišta, tako da iglice i pričvršćene žice stanu u rupe. Odrezao sam nepotrebne igle.

Oba vesla:

  • P1 do S1
  • P1 na ploču 3.3V (3.3)
  • P3 na ploču GND (G)

Veslo 1:

  • P2 na ploču A1
  • S2 na ploču A2

Veslo 2:

  • P2 na ploču A3
  • S2 na ploču A4

Sada provjerite veze povezivanjem na računalo i pomoću programa za testiranje upravljačke palice. Na prozorima Windows, R, joy.cpl [enter], odaberite Stelladaptor, kliknite Svojstva. Veslo 1 treba upravljati osi X i prvim gumbom; veslo 2 treba kontrolirati os Y i drugi gumb.

Korak 5: Završna montaža

Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština

Mikroprekidači se mogu lijepiti (vruće ljepilo mi je odradilo posao) na njihova mjesta sa strane kutije za veslanje. Poklopci gumba mogu se pričvrstiti, s malo vrućeg ljepila za stabilnost.

Potenciometar se pričvršćuje na veliku rupu na vrhu lopatice. Gumb bi trebao kliziti i držati se. Povećajte rupe bušilicom po potrebi. Gurnite donji poklopac, ako želite, dodajte malo vrućeg ljepila.

Plava ploča za tablete staje unutar klizača za PCB, koji se zatim pričvršćuje na dno pretvarača, koji također ima poklopac koji ga može pokriti.

Dodao sam malo Shoe Gooa gdje žice spajaju kućište radi zaštite žica. I zalijepila sam naljepnice "1" i "2" na vesla.

Korak 6: Načini rada

Načini rada
Načini rada
Načini rada
Načini rada

Vesla imaju tri načina rada. Način rada možete promijeniti pritiskom na određenu kombinaciju gumba dok ih priključujete na USB priključak, otpuštajući kada LED diode na ploči prestanu treperiti. Nakon što promijenite način rada, bit će spremljen u flash memoriju i ostat će do sljedeće promjene. (Dakle, ako ne želite promijeniti način rada, nemojte pritiskati nijedan gumb dok priključujete lopatice u USB priključak.) Evo opcija:

  • Samo lijevi gumb vesla: Jedan dvoosni džojstik s dvije tipke, sa svakom osovinom i gumbom upravljanim jednim veslom. Štoviše, lopatice se identificiraju kao Stelladaptor, prekinuti USB adapter za kontrolere Atari 2600, pa bi emulatori Atari 2600 poput Stelle i Z26 koji su kompatibilni sa Stelladapterom trebali savršeno funkcionirati.
  • Oba gumba za veslanje: Svako veslo prikazuje zasebnu joystick. Upravljačka palica ima jednu radnu tipku, a okretanjem lopatice pomiče se joystick po dijagonali, tako da os X ili Y radi za veslo.
  • Samo desni gumb vesla: Vesla se prikazuju kao apsolutni miš s dva gumba. Sada ovo možete koristiti slično kao Etch-a-Sketch s programom za crtanje.

Korak 7: Pong

Pong
Pong
Pong
Pong

Pong je bio izvrsna originalna igra s veslom. Preporučujem izvornu verziju, jer klonovi često ne uključuju sve ljupke suptilne funkcije, poput promjena brzine pri ponovljenim pogocima, kuta se mijenja ovisno o dijelu vesla koji pogađa loptu, ili suptilno, ali nije lako predvidljiv položaj servisa nakon promašaja. Pažljivu analizu izvornika pogledajte ovdje.

Jedan od najboljih načina za igranje ponga je emulator na razini DICE kruga ako je vaše računalo dovoljno brzo da ga koristi punom brzinom. (Moje prijenosno računalo sa sustavom Windows je, ali Raspberry PI 3+ je prespor.) Preporučujem verziju 0.8.

Ako upotrebljavate način rada Stelladaptor u lopaticama, idite na Postavke | Konfigurirajte ulaze … u DICE-u i odaberite Joystick 1 i Absolute za Player 1 Paddle te postavite Horizontalno i Vertikalno na Joy 1 X-Axis. Zatim učinite isto za Player 2 Paddle, osim s Y-osi.

Ako je vaše računalo presporo za DICE, napravio sam verziju Python3+pygamea čije su vrijeme i funkcionalnost vrlo blizu izvornom Pongu (zahvalan sam na pomoći dr. Huga Holdena u tom pogledu).

Preporučeni: