Sadržaj:

Bežični kontroler obiteljske igre za 4 igrača: 3 koraka
Bežični kontroler obiteljske igre za 4 igrača: 3 koraka

Video: Bežični kontroler obiteljske igre za 4 igrača: 3 koraka

Video: Bežični kontroler obiteljske igre za 4 igrača: 3 koraka
Video: The Third Industrial Revolution: A Radical New Sharing Economy 2024, Studeni
Anonim
Bežični kontroler obiteljske igre za 4 igrača
Bežični kontroler obiteljske igre za 4 igrača
Bežični kontroler obiteljske igre za 4 igrača
Bežični kontroler obiteljske igre za 4 igrača
Bežični kontroler obiteljske igre za 4 igrača
Bežični kontroler obiteljske igre za 4 igrača

Ovo je bežični kontroler u arkadnom stilu na kojem se mogu igrati 4 osobe odjednom. Bežičan je tako da ne morate povezivati računalo s kontrolerom koji koriste djeca od 5 godina. Stalno padaju i ne želim da mi unište sve igračke kad se neizbježno spotaknu o žicu. Nedavno smo kupili novi monitor računala i došao je u super čvrstoj kutiji s doista gustim stiroporom unutra. Kao nešto iz sitcoma, neprestano sam se raspravljao sa suprugom oko čuvanja kutije. Meni se činilo da moli da se pretvori u nešto, dok je njoj to bilo ružno smeće. Zatim su Instructables odjednom proveli natjecanje u brzini temeljeno na kartonu. I tako je u popodnevnim satima svađa bila riješena i nastao je ovaj projekt.

Iskoristili smo krajnje izglede koje smo imali po kući da oživimo projekt. Ideja je bila samo iskoristiti ono što smo već sjedili da napravimo nešto super - srećom smo imali set arkadnih gumba i pivo od maline koje smo davno kupili za izradu arkadnog ormarića. Za rezanje smo koristili pilu i moj pouzdani stari džepni nož.

Pribor

1. Kartonska kutija2. Stiropor ili drugo gusto punilo 3. Arkadni gumbi iz Ali Expressa ili Amazona 4. Raspberry Pi 3B + 5. Neka druga računala + zaslon. 6. Nož ili nešto za izrezivanje rupa u kartonu 7. Ljepljiva traka8. Boja u spreju

Korak 1: Izgradnja

Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija

Brzo smo nacrtali skicu kako želimo da stvar izgleda, a zatim smo nožem i pilom za drvo izrezali karton i stiropor na odgovarajuću veličinu. Karton smo označili dobrim rasporedom gumba/upravljačke palice i rupice pažljivo izrezali nožem. Ovo je bila izvrsna vježba iz osnovne matematike za djecu. Nakon što je karton prerezan, obojili smo ga i zatim stavili sve gumbe na mjesto. Glavna zanimljivost koju smo učinili bilo je zalijepiti tri sloja kartona za gornji dio kontrolera kako bismo mu dali veću čvrstoću. To je donekle otežavalo probijanje, ali savršeno je radilo tako da je vrh bio gotovo čvrst poput drva.

Raspberry Pi 3B+ ima četiri USB priključka. Imamo obitelj od četiri i 4 seta arkadnih gumba! Ovo je bilo predodređenje.

Korak 2: Programiranje

Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje

Kôd za ovaj projekt je jednostavan i pogrešan. Sve se to može pronaći ovdje:

github.com/melvyniandrag/SuperTuxJunkKart 4 kontrolera povezana su putem USB -a na malinu pi. Na Raspberry pi -u radi mala python skripta. Koristio sam knjižnicu ulaza Python za dobivanje signala s gumba i upravljačkih palica. Program zatim transformira signal u kratki ASCII kôd i šalje ga putem TCP utičnice preko wifi -a na računalo na kojem se igra (ovo ću nazvati poslužiteljem za igre). Na primjer, kada igrač 0 pomakne joystick ulijevo, znakovi '0XL' se šalju preko TCP utičnice na poslužitelj igre. Za testiranje sam pokrenuo SuperTuxKart na svom thinkpadu. Mala poslužiteljska aplikacija radi na thinkpadu i sluša na TCP utičnici. Kodovi koji dolaze s maline pi preko WiFi -ja prevedeni su u pritiske tipki na tipkovnici putem biblioteke pyautogui. Dakle, kada igrač 0 na kartonskom upravljaču pomakne joystick ulijevo i kontroler emitira 'OXL', poslužitelj koji vodi igru misli da je igrač pritisnuo gumb '1' na tipkovnici. Igra mora biti konfigurirana za prepoznavanje ovih pritisaka na tipkovnici kao što je prikazano na zaslonu s opcijama ovdje. Ova igra radi dobro s jednim ili dva igrača, ali kada 4 osobe agresivno igraju SuperTuxKart poslužitelju počinju nedostajati neki podaci iz kontrolera. Nisam siguran je li ovo greška: 1. Na strani klijenta (kontrolora) 2. Na strani poslužitelja (thinkpad) 3. Ugrađena Linux funkcionalnost. Možda moje Ubuntu prijenosno računalo ne može prepoznati veliki broj istovremenih pritisaka na tipke. Dakle, ako svi igrači 0, 1 i 2 upravljaju gore i lijevo, to znači da se 2 * 3 = 6 gumba pritisne odjednom. Nisam siguran je li moje računalo (ili bilo koje računalo) dizajnirano za to. Obično su vruće tipke 3 ili manje tipki, npr. CTRL + ALT + DEL. U budućnosti ću pokušati pokrenuti 4 tcp utičnice, po jednu za svaki kontroler, a zatim na strani poslužitelja stvoriti virtualnu ploču za igre. Još nisam imao vremena vidjeti kako to učiniti između roditeljstva, rada i rezanja kartonskih kutija.

Korak 3: Budućnost

Ovo je bio jednostavan dokaz koncepta. U budućnosti bi kôd trebao biti bolji. Htio bih kodirati vezu kao bluetooth HID uređaj, ali bluez5 na Linuxu je malo vrijeme na kojem treba raditi - zato sam otišao s TCP utičnicom + Pythonom. Također - neka se razumijemo - kontroler izgleda kao vrag. S više vremena uložio bih malo više energije u pažljivije rezanje. Zatim bih stavio više nosača -bočne strane kutije počinju se pomalo iskrivljavati. Što god da je i koliko košta, ova stvar izgleda dovoljno dobro. Nastavit ću s tim petljati dok navečer gledamo filmove.

Preporučeni: