Indholdsfortegnelse:

Trådløs 4 -spiller Family Game Controller: 3 trin
Trådløs 4 -spiller Family Game Controller: 3 trin

Video: Trådløs 4 -spiller Family Game Controller: 3 trin

Video: Trådløs 4 -spiller Family Game Controller: 3 trin
Video: How to use sock to get unstuck #shorts 2024, Juli
Anonim
Trådløs 4 -spiller Family Game Controller
Trådløs 4 -spiller Family Game Controller
Trådløs 4 -spiller Family Game Controller
Trådløs 4 -spiller Family Game Controller
Trådløs 4 -spiller Family Game Controller
Trådløs 4 -spiller Family Game Controller

Dette er en trådløs arcade -stil controller, som 4 personer kan spille på på én gang. Det er trådløst, så du ikke behøver at koble din pc til en controller, der bruges af 5 -årige. De falder hele tiden, og jeg vil ikke have, at de ødelægger alt mit legetøj, når de uundgåeligt tripper på en ledning. Vi købte for nylig en ny computerskærm, og den kom i en super robust æske med virkelig tæt frigolit indeni. Som noget fra en sitcom skændtes jeg konstant med min kone om at beholde kassen. For mig syntes det at tigge om at blive forvandlet til noget, hvorimod det var grimt uønsket for hende. Derefter løb Instructables ud af det blå en hastighedskonkurrence baseret på pap. Og så på en eftermiddag blev argumentet afgjort, og dette projekt blev født.

Vi brugte odds end -ender, vi havde rundt om i huset, til at bringe projektet til live. Ideen var bare at bruge det, vi allerede havde siddende, til at lave noget fedt - heldigvis havde vi et sæt arkadeknapper og en hindbærpi, vi købte for mange år siden, til at lave et arkadeskab. Til skæring brugte vi en sav og min gamle gamle lommekniv.

Forbrugsvarer

1. Papæske2. Styrofoam eller andet tæt fyldstof 3. Arkadeknapper fra Ali Express eller Amazon 4. Raspberry Pi 3B + 5. En anden computer + skærm. 6. Kniv eller noget til at skære huller i pap 7. Maskeringstape8. Spraymaling

Trin 1: Konstruktionen

Konstruktionen
Konstruktionen
Konstruktionen
Konstruktionen
Konstruktionen
Konstruktionen

Vi tegnede hurtigt en skitse over, hvordan vi ville have, at tingene skulle se ud, og brugte derefter en kniv og træsav til at skære pap og frigolit til den rigtige størrelse. Vi markerede pap med en god knap/joystick layout og skar hullerne omhyggeligt med en kniv. Dette var en fantastisk øvelse i grundlæggende matematik for børnene. Da tavlen var skåret, malede vi den og satte alle knapperne på plads. Den vigtigste interessante ting, vi gjorde, var at lime tre lag pap til toppen af controlleren for at give den mere stivhed. Dette gjorde det noget svært at skære igennem, men fungerede perfekt til at gøre toppen næsten lige så massiv som træ.

Raspberry Pi 3B+ har fire usb -porte. Vi har en familie på fire og 4 sæt arkadeknapper! Dette var forudbestemmelse.

Trin 2: Programmeringen

Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen

Koden til dette projekt er enkel og buggy. Det hele kan findes her:

github.com/melvyniandrag/SuperTuxJunkKartDe 4 controllere er forbundet via usb til en hindbær pi. På Raspberry pi kører der et lille python -script. Jeg brugte Python -input -biblioteket til at hente signalerne fra knapperne og joysticks. Programmet omdanner derefter signalet til en kort ASCII -kode og sender det via et TCP -stik over wifi til en pc, der kører et spil (jeg omtaler dette som spilserveren). For eksempel, når spiller 0 flytter joysticket til venstre, sendes tegnene '0XL' over TCP -stikket til spilserveren. Til test kørte jeg SuperTuxKart på min Thinkpad. Et lille serverprogram kører på tænkepuden og lytter til TCP -stikket. Koderne, der kommer fra hindbær pi over wifi, oversættes til knapper på tastaturet via pyautogui biblioteket. Så når spiller 0 på papcontrolleren flytter joysticket til venstre, og controlleren udsender 'OXL', tror serveren, der kører spillet, at spilleren ramte '1' -knappen på tastaturet. Spillet skal konfigureres til at genkende disse tastaturpress, som det kan vises på skærmen med muligheder. Dette spil kører fint med en eller to spillere, men når 4 personer spiller SuperTuxKart aggressivt, begynder serveren at mangle nogle data fra controlleren. Jeg er ikke sikker på, om dette er en fejl: 1. På klientens (controller) side 2. På serverens (thinkpad) side 3. Indbygget Linux funktionalitet. Måske kan min Ubuntu -bærbare ikke genkende et stort antal samtidige tastetryk. Så hvis spiller 0, 1 og 2 alle styrer op og til venstre, betyder det, at der trykkes på 2 * 3 = 6 knapper på én gang. Jeg er ikke sikker på, om min computer (eller en hvilken som helst computer) er designet til at klare det. Normalt er genvejstaster 3 eller færre knapper f.eks. CTRL + ALT + DEL. I fremtiden vil jeg prøve at starte 4 tcp -sockets, en til hver controller, og derefter på serversiden oprette en virtuel game pad. Har ikke haft tid til at se, hvordan man gør det endnu mellem forældreskab, arbejde og klipning af papkasser.

Trin 3: Fremtiden

Dette var et simpelt bevis på koncept. I fremtiden skal koden være bedre. Jeg vil gerne kode forbindelsen op som en bluetooth HID -enhed, men bluez5 på Linux er lidt af en tidssænkning at arbejde på - derfor gik jeg med en TCP -stik + Python. Også - lad os se det - controlleren ser ud ligesom pokker. Med mere tid ville jeg investere lidt mere energi i at skære mere omhyggeligt. Så ville jeg lægge flere understøtninger -siderne af kassen begynder at skæve lidt. For hvad det er, og hvad det koster, ser denne ting godt nok ud. Jeg vil fortsætte med at pille ved det, mens vi ser film om aftenen.

Anbefalede: