Innholdsfortegnelse:

Trådløs 4 -spillers familie spillkontroller: 3 trinn
Trådløs 4 -spillers familie spillkontroller: 3 trinn

Video: Trådløs 4 -spillers familie spillkontroller: 3 trinn

Video: Trådløs 4 -spillers familie spillkontroller: 3 trinn
Video: DUALSHOCK 4 - Оригинал VS. Китай. Какой геймпад лучше выбрать для PS4? 2024, Juli
Anonim
Trådløs 4 -spillers familie spillkontroller
Trådløs 4 -spillers familie spillkontroller
Trådløs 4 -spillers familie spillkontroller
Trådløs 4 -spillers familie spillkontroller
Trådløs 4 -spillers familie spillkontroller
Trådløs 4 -spillers familie spillkontroller

Dette er en trådløs arcade -stilkontroller som 4 personer kan spille på samtidig. Det er trådløst, slik at du ikke trenger å koble PCen til en kontroller som brukes av 5 åringer. De faller hele tiden, og jeg vil ikke at de skal ødelegge alle lekene mine når de uunngåelig snubler på en ledning. Vi kjøpte nylig en ny dataskjerm, og den kom i en super solid eske med skikkelig tett frigolit. Som noe fra en sitcom, kranglet jeg kontinuerlig med min kone om å beholde boksen. For meg så det ut til å tigge om å bli omgjort til noe, mens det for henne var stygt søppel. Så, ut av det blå, kjørte Instructables en hastighetskonkurranse basert på papp. Og så på en ettermiddag ble argumentet avgjort og dette prosjektet ble født.

Vi brukte odds end -ender vi hadde rundt huset for å bringe prosjektet til live. Tanken var bare å bruke det vi allerede hadde til å gjøre noe kult - heldigvis hadde vi et sett med arkadeknapper og en bringebærpi vi kjøpte for lenge siden for å lage et arkadeskap. Til kutting brukte vi en sag og min pålitelige gamle lommekniv.

Rekvisita

1. pappeske2. Isopor eller annet tett fyllstoff 3. Arcade -knapper fra Ali Express eller Amazon 4. Raspberry Pi 3B + 5. Noen annen datamaskin + skjerm. 6. Kniv eller noe for å skjære hull i papp 7. Maskeringstape8. Spraymaling

Trinn 1: Konstruksjonen

Byggingen
Byggingen
Byggingen
Byggingen
Byggingen
Byggingen

Vi tegnet raskt en skisse av hvordan vi ville at tingen skulle se ut, og brukte deretter en kniv og tresag til å kutte papp og isopor til riktig størrelse. Vi merket pappa med et godt knapp/joystick -oppsett og skar hullene forsiktig med en kniv. Dette var en flott øvelse i grunnleggende matematikk for barna. Da kartongen var kuttet malte vi den og satte alle knappene på plass. Det viktigste interessante vi gjorde var å lime tre lag med papp på toppen av kontrolleren for å gi den mer stivhet. Dette gjorde det litt vanskelig å skjære gjennom, men fungerte perfekt for å gjøre toppen nesten like solid som tre.

Raspberry Pi 3B+ har fire usb -porter. Vi har en familie på fire og 4 sett med arkadeknapper! Dette var predestinasjon.

Trinn 2: Programmeringen

Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen

Koden for dette prosjektet er enkel og buggy. Det hele finner du her:

github.com/melvyniandrag/SuperTuxJunkKartDe 4 kontrollerne er koblet via usb til en bringebær pi. På Raspberry pi kjører det et lite python -skript. Jeg brukte Python -inngangsbiblioteket til å hente signalene fra knappene og joysticks. Programmet transformerer deretter signalet til en kort ASCII -kode og sender det via en TCP -kontakt over wifi til en PC som kjører et spill (jeg vil referere til dette som spillserveren). For eksempel, når spiller 0 flytter joysticken til venstre, blir tegnene '0XL' sendt over TCP -kontakten til spillserveren. For testing kjørte jeg SuperTuxKart på min Thinkpad. Et lite serverprogram kjører på ThinkPad og lytter på TCP -kontakten. Kodene som kommer fra bringebær pi over wifi blir oversatt til knappetrykk på tastaturet via pyautogui -biblioteket. Så når spiller 0 på pappkontrolleren flytter joysticken til venstre og kontrolleren sender ut 'OXL', tror serveren som kjører spillet at spilleren traff '1' -knappen på tastaturet. Spillet må være konfigurert til å gjenkjenne disse tastaturpressene som kan vises på alternativskjermbildet her. Dette spillet fungerer fint med en eller to spillere, men når 4 personer spiller SuperTuxKart aggressivt, begynner serveren å miste noen data fra kontrolleren. Jeg er ikke sikker på om dette er en feil: 1. På klient (kontrolleren) side 2. På server (Thinkpad) side 3. Innebygd Linux -funksjonalitet. Kanskje Ubuntu -bærbare datamaskinen ikke kan gjenkjenne et stort antall samtidige tastetrykk. Så hvis spiller 0, 1 og 2 alle styrer opp og til venstre, betyr det at 2 * 3 = 6 knapper trykkes samtidig. Jeg er ikke sikker på om datamaskinen (eller hvilken som helst datamaskin) er designet for å håndtere det. Vanligvis er hurtigtaster 3 eller færre knapper f.eks. CTRL + ALT + DEL. I fremtiden skal jeg prøve å starte opp 4 tcp -kontakter, en for hver kontroller, og deretter på serversiden lage en virtuell spillpute. Har ikke hatt tid til å se hvordan du gjør det ennå mellom foreldre, arbeid og kutting av pappesker.

Trinn 3: Fremtiden

Dette var et enkelt bevis på konsept. I fremtiden må koden bli bedre. Jeg vil kode tilkoblingen som en Bluetooth HID -enhet, men bluez5 på Linux er litt av en tidssink å jobbe med - derfor gikk jeg med en TCP -kontakt + Python. Også - la oss innse det - kontrolleren ser ut som pokker. Med mer tid ville jeg investert litt mer energi i å kutte mer nøye. Da ville jeg lagt flere støtter -sidene av esken begynner å skje litt. For hva det er og hva det koster, ser denne tingen bra nok ut. Jeg fortsetter å tukle på det mens vi ser på film om kvelden.

Anbefalt: