Obsah:

Bezdrátový rodinný ovladač pro 4 hráče: 3 kroky
Bezdrátový rodinný ovladač pro 4 hráče: 3 kroky

Video: Bezdrátový rodinný ovladač pro 4 hráče: 3 kroky

Video: Bezdrátový rodinný ovladač pro 4 hráče: 3 kroky
Video: TOP 4 LIDÉ Z BUDOUCNOSTI, KTEŘÍ NÁS PŘIŠLI VAROVAT 2024, Listopad
Anonim
Bezdrátový rodinný ovladač pro 4 hráče
Bezdrátový rodinný ovladač pro 4 hráče
Bezdrátový rodinný ovladač pro 4 hráče
Bezdrátový rodinný ovladač pro 4 hráče
Bezdrátový rodinný ovladač pro 4 hráče
Bezdrátový rodinný ovladač pro 4 hráče

Jedná se o bezdrátový arkádový styl, se kterým mohou hrát 4 lidé najednou. Je bezdrátový, takže nemusíte připojovat počítač k ovladači, který používají pětileté děti. Neustále padají a nechci, aby mi zničili všechny hračky, když nevyhnutelně zakopli o drát. Nedávno jsme si koupili nový počítačový monitor a ten přišel v super robustní krabici s opravdu hustým polystyrenem uvnitř. Jako ze sitcomu jsem se neustále hádal s manželkou o ponechání krabice. Mně to připadalo jako žebrání, aby se z ní stalo něco, zatímco pro ni to bylo ošklivé haraburdí. Poté z čista jasna spustili Instructables soutěž o rychlost založenou na lepence. A tak se odpoledne hádka urovnala a vznikl tento projekt.

Abychom projekt oživili, použili jsme šance, které jsme měli kolem domu. Cílem bylo jen použít to, co jsme už seděli, k tomu, abychom udělali něco skvělého - naštěstí jsme měli sadu arkádových knoflíků a malinový pi, který jsme si koupili před lety, abychom vyrobili arkádovou skříň. K řezání jsme použili pilu a můj věrný starý kapesní nůž.

Zásoby

1. Kartonová krabice2. Polystyrén nebo jiná hustá výplň 3. Arkádová tlačítka od Ali Express nebo Amazon 4. Raspberry Pi 3B + 5. Nějaký jiný počítač + obrazovka. 6. Nůž nebo něco na vyřezání otvorů v lepence 7. Maskovací páska8. Barva ve spreji

Krok 1: Stavba

Konstrukce
Konstrukce
Konstrukce
Konstrukce
Konstrukce
Konstrukce

Rychle jsme nakreslili náčrt toho, jak jsme chtěli, aby ta věc vypadala, pak jsme pomocí nože a pily na dřevo nařezali lepenku a polystyren na správnou velikost. Karton jsme označili dobrým rozložením knoflíků/joysticků a otvory pečlivě prořízli nožem. Pro děti to bylo skvělé cvičení v základní matematice. Jakmile byl karton rozřezán, namalovali jsme ho a pak jsme umístili všechna tlačítka na místo. Hlavní zajímavou věcí, kterou jsme udělali, bylo lepení tří vrstev lepenky na horní část ovladače, aby byla zajištěna větší tuhost. Díky tomu bylo poněkud obtížné proříznout, ale fungovalo to perfektně, aby byl vrchol téměř pevný jako dřevo.

Raspberry Pi 3B+ má čtyři USB porty. Máme rodinu čtyř a 4 sad arkádových tlačítek! To bylo předurčení.

Krok 2: Programování

Programování
Programování
Programování
Programování
Programování
Programování
Programování
Programování

Kód pro tento projekt je jednoduchý a chybný. To vše najdete zde:

github.com/melvyniandrag/SuperTuxJunkKart 4 ovladače jsou připojeny přes USB k malinovému pi. Na Raspberry pi běží malý python skript. K získání signálů z tlačítek a joysticků jsem použil knihovnu vstupů Pythonu. Program poté signál transformuje na krátký kód ASCII a odešle jej přes soket TCP přes wifi do počítače se spuštěnou hrou (budu to označovat jako herní server). Když například hráč 0 pohne joystickem doleva, znaky '0XL' jsou odeslány přes soket TCP na herní server. Pro testování jsem na svém thinkpadu spustil SuperTuxKart. Malá serverová aplikace běží na Thinkpadu a poslouchá na soketu TCP. Kódy, které pocházejí z malinového pi přes wifi, jsou přeloženy do stisknutí tlačítka na klávesnici prostřednictvím knihovny pyautogui. Když tedy hráč 0 na kartonovém ovladači pohne joystickem doleva a ovladač vydá „OXL“, server, který hru spouští, si myslí, že hráč stiskl tlačítko „1“na klávesnici. Tato hra musí být nakonfigurována tak, aby rozpoznala tyto stisknutí klávesnice, jak lze vidět na obrazovce možností. Tato hra funguje dobře s jedním nebo dvěma hráči, ale když agresivně hrají 4 lidé SuperTuxKart, server začne postrádat některá data z ovladače. Nejsem si jistý, zda se jedná o chybu: 1. Na straně klienta (řadiče) 2. Na straně serveru (thinkpad) 3. Integrovaná funkce Linuxu. Možná můj notebook Ubuntu nedokáže rozpoznat velké množství současných stisknutí kláves. Pokud tedy hráči 0, 1 a 2 řídí nahoru a doleva, znamená to, že se mačká 2 * 3 = 6 tlačítek najednou. Nejsem si jistý, zda je můj počítač (nebo jakýkoli počítač) navržen tak, aby to zvládl. Klávesové zkratky jsou obvykle 3 nebo méně tlačítek, např. CTRL + ALT + DEL. V budoucnu zkusím spustit 4 soketové zásuvky, jeden pro každý řadič, a poté na straně serveru vytvořit virtuální herní podložku. Mezi rodičovstvím, prací a řezáním lepenkových krabic jsem ještě neměl čas zjistit, jak to udělat.

Krok 3: Budoucnost

To byl jednoduchý Proof of Concept. V budoucnu musí být kód lepší. Rád bych kódoval připojení jako bluetooth HID zařízení, ale bluez5 v Linuxu je trochu časově náročný na práci - proto jsem šel s TCP socketem + Python. Také - přiznejme si to - ovladač vypadá sakra. S více času bych investoval trochu více energie do pečlivějšího řezání. Pak bych dal více podpěr -strany krabice se začínají trochu deformovat. Na to, co to je a co to stojí, tato věc vypadá dost dobře. Budu si to dál pohrávat, zatímco budeme večer sledovat filmy.

Doporučuje: