Turinys:

Belaidis 4 žaidėjų šeimos žaidimų valdiklis: 3 žingsniai
Belaidis 4 žaidėjų šeimos žaidimų valdiklis: 3 žingsniai

Video: Belaidis 4 žaidėjų šeimos žaidimų valdiklis: 3 žingsniai

Video: Belaidis 4 žaidėjų šeimos žaidimų valdiklis: 3 žingsniai
Video: Top 6 Best PC Game Controllers (2023) 2024, Lapkritis
Anonim
Belaidis 4 žaidėjų šeimos žaidimų valdiklis
Belaidis 4 žaidėjų šeimos žaidimų valdiklis
Belaidis 4 žaidėjų šeimos žaidimų valdiklis
Belaidis 4 žaidėjų šeimos žaidimų valdiklis
Belaidis 4 žaidėjų šeimos žaidimų valdiklis
Belaidis 4 žaidėjų šeimos žaidimų valdiklis

Tai belaidis arkados stiliaus valdiklis, kuriuo vienu metu gali žaisti 4 žmonės. Jis yra belaidis, todėl nereikia pririšti kompiuterio prie valdiklio, kuriuo naudojasi 5 metų vaikai. Jie nuolat krenta, ir aš nenoriu, kad jie sunaikintų visus mano žaislus, kai jie neišvengiamai keliauja ant laido. Neseniai nusipirkome naują kompiuterio monitorių ir jis buvo supakuotas labai tvirtoje dėžutėje su tikrai tankiu polistirolu. Kaip kažkas iš komedijos, aš nuolat ginčijausi su žmona dėl dėžutės laikymo. Man atrodė, kad elgetauja, kad būtų paversta kažkuo, o jai tai buvo negražus šlamštas. Tada „Instructables“surengė greičio konkursą, pagrįstą kartonu. Taigi po pietų ginčas buvo išspręstas ir šis projektas gimė.

Mes panaudojome šansų galus aplink namus, kad įgyvendintume projektą. Idėja buvo tiesiog panaudoti tai, ką jau turėjome sėdėdami, padaryti ką nors šaunaus - laimei, turėjome arkadinių mygtukų rinkinį ir aviečių pi, kurį nusipirkome prieš daugelį metų, kad sukurtume arkadinę spintelę. Pjovimui naudojome pjūklą ir mano patikimą seną kišeninį peilį.

Prekės

1. Kartoninė dėžutė2. Putplastis arba kitas tankus užpildas 3. Arkadiniai mygtukai iš „Ali Express“ar „Amazon“4. Raspberry Pi 3B + 5. Kažkoks kitas kompiuteris + ekranas. 6. Peilis ar kažkas, norint išpjauti skyles kartone 7. Maskavimo juosta8. Purškiami dažai

1 žingsnis: statyba

Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija

Greitai parengėme eskizą, kaip norime, kad daiktas atrodytų, tada peiliu ir medžio pjūklu supjaustėme reikiamo dydžio kartoną ir polistirolą. Kartoną pažymėjome geru mygtukų/vairasvirtės išdėstymu ir atsargiai peiliu išpjovėme skyles. Tai buvo puikus pratimas vaikams, mokantis pagrindinės matematikos. Nupjovę kartoną, mes jį nudažėme ir tada visus mygtukus įdėjome į vietą. Pagrindinis įdomus dalykas, kurį mes padarėme, buvo klijuoti tris kartono sluoksnius valdiklio viršuje, kad jis būtų tvirtesnis. Dėl to buvo šiek tiek sunku perpjauti, bet puikiai pavyko, kad viršus būtų beveik toks pat tvirtas kaip medis.

„Raspberry Pi 3B+“turi keturis USB prievadus. Turime keturių ir keturių arkadinių mygtukų šeimų šeimą! Tai buvo predestinacija.

2 žingsnis: programavimas

Programavimas
Programavimas
Programavimas
Programavimas
Programavimas
Programavimas
Programavimas
Programavimas

Šio projekto kodas yra paprastas ir klaidingas. Visa tai galima rasti čia:

4 valdikliai yra prijungti per USB prie aviečių pi. „Raspberry pi“veikia nedidelis „Python“scenarijus. Aš naudoju „Python“įvesties biblioteką, kad gaučiau signalus iš mygtukų ir vairasvirtių. Tada programa paverčia signalą į trumpą ASCII kodą ir siunčia jį per TCP lizdą per „WiFi“į kompiuterį, kuriame veikia žaidimas (aš tai vadinsiu žaidimų serveriu). Pavyzdžiui, kai žaidėjas 0 perkelia vairasvirtę į kairę, simboliai „0XL“siunčiami per TCP lizdą į žaidimų serverį. Bandymams naudoju „SuperTuxKart“savo „Thinkpad“. Maža serverio programa veikia „Thinkpad“ir klausosi TCP lizdo. Kodai, gaunami iš „Raspberry pi“per „Wi -Fi“, per pyautogui biblioteką išverčiami į klaviatūros mygtukų paspaudimus. Taigi, kai kartono valdiklio žaidėjas 0 perkelia vairasvirtę į kairę ir valdiklis skleidžia „OXL“, žaidimą vykdantis serveris mano, kad žaidėjas paspaudė klaviatūros mygtuką „1“. Žaidimas turi būti sukonfigūruotas taip, kad atpažintų šiuos klaviatūros paspaudimus, kaip parodyta parinkčių ekrane. Šis žaidimas puikiai veikia su vienu ar dviem žaidėjais, tačiau kai 4 žmonės agresyviai žaidžia su „SuperTuxKart“, serveryje trūksta duomenų iš valdiklio. Nesu tikras, ar tai klaida: 1. Kliento (valdiklio) pusėje2. Serverio („Thinkpad“) pusėje3. Integruota „Linux“funkcija. Galbūt mano „Ubuntu“nešiojamasis kompiuteris negali atpažinti daugybės vienu metu paspaudžiamų klavišų. Taigi, jei žaidėjas 0, 1 ir 2 vairuoja aukštyn ir kairėn, tai reiškia, kad vienu metu spaudžiami 2 * 3 = 6 mygtukai. Nesu tikras, ar mano kompiuteris (ar bet kuris kitas kompiuteris) yra skirtas tam valdyti. Paprastai spartieji klavišai yra 3 ar mažiau mygtukų, pvz. CTRL + ALT + DEL. Ateityje bandysiu paleisti 4 tcp lizdus, po vieną kiekvienam valdikliui, o tada serverio pusėje sukurti virtualų žaidimų bloką. Dar neturėjau laiko išsiaiškinti, kaip tai padaryti tarp auklėjimo, darbo ir kartoninių dėžių pjaustymo.

3 žingsnis: ateitis

Tai buvo paprastas koncepcijos įrodymas. Ateityje kodas turėtų būti geresnis. Norėčiau koduoti ryšį kaip „Bluetooth“HID įrenginį, tačiau „bluez5“sistemoje „Linux“yra šiek tiek laiko dirbti - todėl aš nuėjau su TCP lizdu + „Python“. Taip pat - pripažinkime - valdiklis atrodo kaip velnias. Turėdamas daugiau laiko, aš investuočiau šiek tiek daugiau energijos į kruopštesnį pjovimą. Tada aš įdėčiau daugiau atramų -dėžutės šonai pradeda šiek tiek deformuotis. Nepaisant to, kas tai yra ir kiek tai kainuoja, šis dalykas atrodo pakankamai gerai. Toliau apie tai galvoju, kol vakare žiūrime filmus.

Rekomenduojamas: