Innehållsförteckning:

Trådlös 4 -spelare Family Game Controller: 3 steg
Trådlös 4 -spelare Family Game Controller: 3 steg

Video: Trådlös 4 -spelare Family Game Controller: 3 steg

Video: Trådlös 4 -spelare Family Game Controller: 3 steg
Video: GD10 Game stick console installation 2024, Juli
Anonim
Trådlös 4 -spelare Family Game Controller
Trådlös 4 -spelare Family Game Controller
Trådlös 4 -spelare Family Game Controller
Trådlös 4 -spelare Family Game Controller
Trådlös 4 -spelare Family Game Controller
Trådlös 4 -spelare Family Game Controller

Detta är en trådlös arkadstilkontroll som 4 personer kan spela på samtidigt. Det är trådlöst så att du inte behöver koppla din dator till en styrenhet som används av 5 -åringar. De faller hela tiden och jag vill inte att de ska förstöra alla mina leksaker när de oundvikligen reser på en tråd. Vi köpte nyligen en ny datorskärm och den kom i en super robust låda med riktigt tätt frigolit inuti. Som något från en sitcom, argumenterade jag hela tiden med min fru om att behålla lådan. För mig verkade det tigga att bli förvandlad till något medan det för henne var ett fult skräp. Därefter körde Instructables ut ur det blå en hastighetstävling baserad på kartong. Och så på en eftermiddag löstes argumentet och detta projekt föddes.

Vi använde odds slutändar vi hade runt huset för att väcka projektet till liv. Tanken var bara att använda det vi redan hade för att göra något coolt - som tur var hade vi en uppsättning arkadknappar och en hallonpi som vi köpte för länge sedan för att göra ett arkadskåp. För skärning använde vi en såg och min pålitliga gamla fickkniv.

Tillbehör

1. Kartonglåda2. Frigolit eller annat tätt fyllmedel 3. Arkadknappar från Ali Express eller Amazon 4. Raspberry Pi 3B + 5. Någon annan dator + skärm. 6. Kniv eller något att klippa hål i kartong 7. Maskeringstejp8. Sprayfärg

Steg 1: Konstruktionen

Konstruktionen
Konstruktionen
Konstruktionen
Konstruktionen
Konstruktionen
Konstruktionen

Vi ritade snabbt upp en skiss över hur vi ville att saken skulle se ut och använde sedan en kniv och en träsåg för att skära kartong och frigolit till rätt storlek. Vi markerade kartongen med en bra knapp/joystick -layout och skär hålen försiktigt med en kniv. Detta var en bra övning i grundläggande matematik för barnen. När kartongen klippts målade vi den och satte sedan alla knappar på plats. Det främsta intressanta vi gjorde var att limma tre lager kartong på styrenhetens ovansida för att ge den mer styvhet. Detta gjorde det lite svårt att skära igenom men fungerade perfekt för att göra toppen nästan lika fast som trä.

Raspberry Pi 3B+ har fyra usb -portar. Vi har en familj på fyra och 4 uppsättningar arkadknappar! Detta var predestination.

Steg 2: Programmeringen

Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen
Programmeringen

Koden för detta projekt är enkel och buggig. Allt kan hittas här:

github.com/melvyniandrag/SuperTuxJunkKartDe fyra kontrollerna är anslutna via usb till en hallon pi. På Raspberry pi körs ett litet python -skript. Jag använde Python -ingångsbiblioteket för att få signalerna från knapparna och joystickarna. Programmet omvandlar sedan signalen till en kort ASCII -kod och skickar den via ett TCP -uttag via wifi till en dator som kör ett spel (jag kallar detta för spelservern). Till exempel, när spelare 0 flyttar joysticken åt vänster, skickas karaktärerna '0XL' över TCP -uttaget till spelservern. För test körde jag SuperTuxKart på min Thinkpad. Ett litet serverprogram körs på ThinkPad och lyssnar på TCP -uttaget. Koderna som kommer från hallon pi över wifi översätts till knapptryckningar på tangentbordet via pyautogui -biblioteket. Så när spelare 0 på kartongkontrollen flyttar joysticken åt vänster och styrenheten sänder 'OXL' tror servern som kör spelet att spelaren träffade '1' -knappen på tangentbordet. Spelet måste konfigureras för att känna igen dessa tangentbordspressar som kan visas på alternativskärmen här. Detta spel fungerar bra med en eller två spelare, men när 4 personer spelar SuperTuxKart aggressivt börjar servern sakna data från kontrollen. Jag är inte säker på om detta är ett fel: 1. På klientens (controller) sida 2. På servern (Thinkpad) sida 3. Inbyggd Linux -funktionalitet. Kanske kan min Ubuntu -bärbara dator inte känna igen ett stort antal samtidiga knapptryckningar. Så om spelare 0, 1 och 2 alla styr uppåt och vänster, betyder det att 2 * 3 = 6 knappar trycks in samtidigt. Jag är inte säker på om min dator (eller någon dator) är utformad för att hantera det. Vanligtvis är snabbtangenter 3 eller färre knappar t.ex. CTRL + ALT + DEL. I framtiden ska jag försöka starta upp 4 tcp -uttag, en för varje kontroller, och sedan på serversidan skapa en virtuell spelplatta. Har inte hunnit se hur man gör det än mellan föräldraskap, arbete och skärning av kartonger.

Steg 3: Framtiden

Detta var ett enkelt Proof of Concept. I framtiden måste koden bli bättre. Jag skulle vilja koda anslutningen som en Bluetooth HID -enhet, men bluez5 på Linux är lite av en tidssänka att arbeta med - det var därför jag gick med ett TCP -uttag + Python. Också - låt oss inse det - styrenheten ser ut som fan. Med mer tid skulle jag investera lite mer energi i att klippa mer noggrant. Då skulle jag lägga mer stöd -sidorna på lådan börjar vrida sig lite. För vad det är och vad det kostar ser det här bra ut. Jag fortsätter att pilla på det medan vi tittar på film på kvällen.

Rekommenderad: