Kazalo:

Brezžični krmilnik družinskih iger za 4 igralce: 3 koraki
Brezžični krmilnik družinskih iger za 4 igralce: 3 koraki

Video: Brezžični krmilnik družinskih iger za 4 igralce: 3 koraki

Video: Brezžični krmilnik družinskih iger za 4 igralce: 3 koraki
Video: Полный обзор рейса первого класса Эмирейтс A380 из Токио в Дубай (+ зал ожидания) 2024, Julij
Anonim
Brezžični krmilnik družinskih iger za 4 igralce
Brezžični krmilnik družinskih iger za 4 igralce
Brezžični krmilnik družinskih iger za 4 igralce
Brezžični krmilnik družinskih iger za 4 igralce
Brezžični krmilnik družinskih iger za 4 igralce
Brezžični krmilnik družinskih iger za 4 igralce

To je brezžični krmilnik v arkadnem slogu, na katerem se lahko igrajo 4 osebe hkrati. Je brezžičen, tako da vam računalnika ni treba privezati na krmilnik, ki ga uporabljajo 5 -letniki. Ves čas padajo in nočem, da mi uničijo vse igrače, ko se neizogibno spotaknejo po žici. Pred kratkim smo kupili nov računalniški monitor, ki je prišel v super robustni škatli z zelo gostim stiroporjem v notranjosti. Kot nekaj iz sitcoma sem se z ženo nenehno prepiral o tem, da bi škatlo obdržal. Zdelo se mi je, da prosi, da bi ga spremenili v nekaj, medtem ko je bilo zanjo to grdo smeti. Nato so Instructables nenadoma izvedli tekmovanje v hitrosti, ki temelji na kartonu. In tako se je v popoldanskem času spor rešil in ta projekt se je rodil.

Za oživitev projekta smo uporabili kvote, ki smo jih imeli po hiši. Zamisel je bila, da bi tisto, kar smo že sedeli, uporabili za nekaj kul - na srečo smo imeli komplet arkadnih gumbov in malinovo pi, ki smo jih kupili pred leti za izdelavo arkadne omare. Za rezanje smo uporabili žago in moj zanesljiv stari žepni nož.

Zaloge

1. Kartonska škatla2. Stiropor ali drugo gosto polnilo 3. Arkadni gumbi iz Ali Expressa ali Amazona 4. Raspberry Pi 3B + 5. Nekateri drugi računalniki + zaslon. 6. Nož ali kaj podobnega za izrezovanje lukenj v kartonu 7. Lepilni trak8. Barva v spreju

1. korak: Gradnja

Gradnja
Gradnja
Gradnja
Gradnja
Gradnja
Gradnja

Hitro smo narisali skico, kako želimo, da stvar izgleda, nato pa z nožem in žago za les razrezali karton in stiropor na pravo velikost. Karton smo označili z dobro postavitvijo gumba/krmilne palice in luknje previdno prerezali z nožem. To je bila odlična vaja iz osnovne matematike za otroke. Ko smo karton razrezali, smo ga pobarvali in nato postavili vse gumbe na svoje mesto. Glavna zanimivost, ki smo jo naredili, je, da smo lepili tri plasti kartona za vrh krmilnika, da bi mu dali večjo togost. To je nekoliko otežilo rezanje, vendar je odlično delovalo, da je vrh skoraj tako trden kot les.

Raspberry Pi 3B+ ima štiri vrata USB. Imamo družino štirih in štirih kompletov arkadnih gumbov! To je bila predodrejenost.

2. korak: Programiranje

Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje

Koda za ta projekt je preprosta in napačna. Vse to lahko najdete tukaj:

github.com/melvyniandrag/SuperTuxJunkKart 4 krmilniki so prek USB -ja povezani z malinovim pi. Na Raspberry pi se izvaja majhen skript python. Knjižnico vhodov Python sem uporabil za pridobivanje signalov iz gumbov in igralnih palic. Program nato pretvori signal v kratko kodo ASCII in ga prek vtičnice TCP pošlje prek wifi v računalnik z igro (to bom imenoval strežnik za igre). Na primer, ko igralec 0 premakne krmilno palčko v levo, se znaki "0XL" pošljejo prek vtičnice TCP na strežnik za igre. Za testiranje sem na svoji plošči za misli tekel SuperTuxKart. Majhna strežniška aplikacija deluje na ThinkPad in posluša na vtičnici TCP. Kode, ki prihajajo iz maline pi po wifi, se prek knjižnice pyautogui prevedejo v pritiske na tipke na tipkovnici. Ko igralec 0 na krmilniku iz kartona premakne krmilno palčko v levo in krmilnik odda "OXL", strežnik, ki vodi igro, misli, da je igralec pritisnil gumb "1" na tipkovnici. Igra mora biti konfigurirana tako, da prepozna te pritiske na tipkovnici, kot je prikazano na zaslonu z možnostmi tukaj. Ta igra deluje dobro z enim ali dvema igralcema, ko pa 4 osebe igrajo SuperTuxKart agresivno, strežniku manjkajo nekateri podatki iz krmilnika. Nisem prepričan, če je to napaka: 1. Na strani odjemalca (upravljavca) 2. Na strani strežnika (thinkpad) 3. Vgrajena funkcionalnost Linuxa. Mogoče moj prenosni računalnik Ubuntu ne more prepoznati velikega števila hkratnih pritiskov tipk. Torej, če so vsi igralci 0, 1 in 2 krmiljeni navzgor in levo, to pomeni, da pritisnete 2 * 3 = 6 gumbov hkrati. Nisem prepričan, ali je moj računalnik (ali kateri koli računalnik) namenjen temu. Običajno so bližnjice 3 ali manj gumbov, npr. CTRL + ALT + DEL. V prihodnosti bom poskusil zagnati 4 vtičnice tcp, po eno za vsak krmilnik, nato pa na strani strežnika ustvariti virtualno igralno ploščo. Nisem imel časa, da bi videl, kako to storiti med starševstvom, delom in rezanjem kartonskih škatel.

3. korak: Prihodnost

To je bil preprost dokaz koncepta. V prihodnosti bi morala biti koda boljša. Rad bi kodiral povezavo kot napravo Bluetooth HID, vendar je bluez5 v Linuxu nekaj časa za delo - zato sem šel z vtičnico TCP + Python. Prav tako - priznajmo si - krmilnik izgleda kot hudiča. Z več časa bi vložil malo več energije v bolj previdno rezanje. Potem bi dal več nosilcev -stranice škatle se začnejo nekoliko deformirati. Kar pa je in koliko stane, pa ta stvar izgleda dovolj dobro. Še naprej bom razmišljal o tem, ko zvečer gledamo filme.

Priporočena: