Sadržaj:

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

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

Video: Bežični kontroler porodične igre za 4 igrača: 3 koraka
Video: The Third Industrial Revolution: A Radical New Sharing Economy 2024, Juli
Anonim
Bežični kontroler porodične igre za 4 igrača
Bežični kontroler porodične igre za 4 igrača
Bežični kontroler porodične igre za 4 igrača
Bežični kontroler porodične igre za 4 igrača
Bežični kontroler porodične igre za 4 igrača
Bežični kontroler porodične 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 vezati računar za kontroler 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čunara i došao je u super čvrstoj kutiji sa zaista gustim stiroporom unutra. Kao nešto iz sitkoma, neprestano sam se svađao 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. Tada su Instructables odjednom održali takmičenje u brzini zasnovano na kartonu. I tako je u popodnevnim satima svađa bila riješena i nastao je ovaj projekat.

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

Supplies

1. Kartonska kutija2. Stiropor ili drugo gusto punilo 3. Arkadna dugmad iz Ali Expressa ili Amazona 4. Raspberry Pi 3B + 5. Neki drugi računar + ekran. 6. Nož ili nešto za izrezivanje rupa u kartonu. 7. Zalijepljiva traka8. Boja u spreju

Korak 1: Konstrukcija

The Construction
The Construction
The Construction
The Construction
The Construction
The Construction

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 dugmadi/džojstika i pažljivo izrezali rupe nožem. Ovo je bila izvrsna vježba iz osnovne matematike za djecu. Nakon što je karton prerezan, obojili smo ga i zatim postavili sve gumbe na mjesto. Glavna zanimljivost koju smo uradili je lijepljenje tri sloja kartona za gornji dio kontrolera kako bi mu dali veću čvrstoću. To je donekle otežavalo probijanje, ali je savršeno funkcioniralo tako da je vrh bio gotovo čvrst kao drvo.

Raspberry Pi 3B+ ima četiri USB porta. Imamo porodicu od četiri i 4 seta arkadnih dugmadi! To je bilo predodređenje.

Korak 2: Programiranje

Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje

Kôd za ovaj projekt je jednostavan i sadrži greške. Sve se može pronaći ovde:

github.com/melvyniandrag/SuperTuxJunkKart 4 kontrolera su povezana preko USB -a na malinu pi. Na Raspberry pi -u je pokrenuta mala python skripta. Koristio sam biblioteku ulaza Python da dobijem signale sa dugmadi i džojstika. Program zatim transformira signal u kratki ASCII kôd i šalje ga putem TCP utičnice preko wifi -a na računar sa igrom (ovo ću nazvati serverom za igre). Na primjer, kada igrač 0 pomakne joystick lijevo, 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 sa maline pi preko wifi -a se prevode u pritiske tastera na tastaturi preko biblioteke pyautogui. Dakle, kada igrač 0 na kartonskom kontroleru pomakne joystick lijevo i kontroler emitira 'OXL', poslužitelj koji vodi igru misli da je igrač pritisnuo dugme '1' na tipkovnici. Igra mora biti konfigurirana tako da prepoznaje ove pritiske na tipkovnici kako je prikazano na ekranu s opcijama ovdje. Ova igra radi dobro s jednim ili dva igrača, ali kada 4 osobe igraju SuperTuxKart agresivno, poslužitelju nedostaju neki podaci iz kontrolera. Nisam siguran da li je ovo greška: 1. Na strani klijenta (kontrolera) 2. Na serveru (thinkpad) 3. Ugrađena Linux funkcionalnost. Možda moj Ubuntu laptop ne može prepoznati veliki broj istovremenih pritisaka na tastere. Dakle, ako svi igrači 0, 1 i 2 upravljaju gore i lijevo, to znači da se 2 * 3 = 6 tastera pritiska istovremeno. Nisam siguran da li je moj računar (ili bilo koji drugi računar) dizajniran za to. Obično su interventni tasteri 3 ili manje tastera, npr. CTRL + ALT + DEL. U budućnosti ću pokušati pokrenuti 4 tcp utičnice, po jednu za svaki kontroler, a zatim na strani servera stvoriti virtuelnu podlogu 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 i otišao s TCP utičnicom + Pythonom. Također - da se razumijemo - kontroler izgleda kao pakao. 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 pomalo da se iskrivljuju. Što se toga tiče i koliko košta, ova stvar izgleda dovoljno dobro. Nastavit ću s tim petljati dok uveče gledamo filmove.

Preporučuje se: