Sisukord:

Traadita 4 mängijaga peremängukontroller: 3 sammu
Traadita 4 mängijaga peremängukontroller: 3 sammu

Video: Traadita 4 mängijaga peremängukontroller: 3 sammu

Video: Traadita 4 mängijaga peremängukontroller: 3 sammu
Video: Почему FEIN выбыл из гонки? 10 шуруповертов для гипсокартона в сравнительном тесте 2024, November
Anonim
Traadita 4 mängijaga peremängukontroller
Traadita 4 mängijaga peremängukontroller
Traadita 4 mängijaga peremängukontroller
Traadita 4 mängijaga peremängukontroller
Traadita 4 mängijaga peremängukontroller
Traadita 4 mängijaga peremängukontroller

See on juhtmevaba arkaadkontroller, millega saab korraga mängida 4 inimest. See on traadita, nii et te ei pea arvutit siduma kontrolleriga, mida kasutavad 5 -aastased. Nad kukuvad kogu aeg ja ma ei taha, et nad hävitaksid kõik minu mänguasjad, kui nad traadiga paratamatult kokku puutuvad. Ostsime hiljuti uue arvutimonitori ja see tuli ülitugevasse kasti, mille sees oli tõesti tihe vahtpolüstürool. Nagu midagi komöödiat, vaidlesin oma naisega pidevalt kasti hoidmise üle. Mulle tundus see kerjamine, et temast saaks midagi, tema jaoks aga kole rämps. Seejärel korraldas Instructables kartongi põhjal kiirusvõistluse. Ja nii sai pärastlõunal vaidlus lahendatud ja see projekt sündis.

Projekti elustamiseks kasutasime maja ümber koefitsiente. Idee oli lihtsalt kasutada seda, mis meil juba istudes oli, et teha midagi lahedat - õnneks oli meil arkaadikapi tegemiseks kaasas arkaadnuppude komplekt ja vaarika pi, mille ostsime juba ammu. Lõikamiseks kasutasime saega ja minu usaldusväärset vana tasku nuga.

Tarvikud

1. Pappkarp2. Vahtpolüstürool või muu tihe täiteaine 3. Arcade nupud Ali Expressilt või Amazonilt 4. Raspberry Pi 3B + 5. Mingi muu arvuti + ekraan. 6. Nuga või midagi aukude lõikamiseks papist 7. Maskeeriv lint8. Pihustusvärv

Samm: ehitamine

Ehitus
Ehitus
Ehitus
Ehitus
Ehitus
Ehitus

Koostasime kiiresti visandi, kuidas me tahame, et asi välja näeks, seejärel lõikasime noa ja puusae abil papi ja vahtpolüstürooli õigesse suurusesse. Märkisime papi hea nupu/juhtkangi paigutusega ja lõikasime noaga ettevaatlikult augud. See oli lastele suurepärane matemaatika harjutus. Kui karbo oli lõigatud, värvisime selle ja panime kõik nupud paika. Peamine huvitav asi, mida me tegime, oli liimida kontrolleri ülaosale kolm kihti pappi, et anda sellele rohkem jäikust. See tegi selle lõikamise mõnevõrra keeruliseks, kuid töötas suurepäraselt, et pealispind oleks peaaegu sama tahke kui puit.

Raspberry Pi 3B+ -l on neli USB -porti. Meil on neljast ja neljast komplektist arkaadnuppude perekond! See oli ettemääratus.

2. samm: programmeerimine

Programmeerimine
Programmeerimine
Programmeerimine
Programmeerimine
Programmeerimine
Programmeerimine
Programmeerimine
Programmeerimine

Selle projekti kood on lihtne ja lollakas. Kõik see on leitav siit:

github.com/melvyniandrag/SuperTuxJunkKart Raspberry pi peal töötab väike püütoni skript. Nuppude ja juhtkangide signaalide saamiseks kasutasin Pythoni sisenditeeki. Seejärel muudab programm signaali lühikeseks ASCII -koodiks ja saadab selle TCP -pistikupesa kaudu wifi kaudu mängu käivitavasse arvutisse (ma nimetan seda mänguserveriks). Näiteks kui mängija 0 liigutab juhtkangi vasakule, saadetakse märgid '0XL' TCP -pesa kaudu mänguserverisse. Testimiseks käivitasin oma Thinkpadil SuperTuxKarti. Väike serverirakendus töötab mõtlemisplaadil ja kuulab TCP -pesa. Vaarika pi kaudu wifi kaudu saadetud koodid tõlgitakse pyautogui raamatukogu kaudu klaviatuuri nupuvajutusteks. Niisiis, kui mängija 0 pappkontrolleril liigutab juhtkangi vasakule ja kontroller väljastab "OXL", arvab mängu käivitav server, et mängija vajutas klaviatuuri nuppu "1". Mäng peab olema konfigureeritud neid klaviatuurivajutusi ära tundma, nagu siin valikute ekraanil näidatakse. See mäng töötab hästi ühe või kahe mängijaga, kuid kui neli inimest mängivad SuperTuxKarti agressiivselt, hakkab server kontrollerilt mõningaid andmeid puudu. Ma pole kindel, kas see on viga: 1. Kliendi (kontrolleri) poolel2. Serveri (mõtlemisplaadi) poolel 3. Sisseehitatud Linuxi funktsionaalsus. Võib -olla ei suuda mu Ubuntu sülearvuti ära tunda suurt hulka samaaegseid klahvivajutusi. Nii et kui mängija 0, 1 ja 2 juhivad kõik üles ja vasakule, tähendab see, et vajutatakse korraga 2 * 3 = 6 nuppu. Ma ei ole kindel, kas minu arvuti (või mõni muu arvuti) on selle jaoks ette nähtud. Tavaliselt on kiirklahvid 3 või vähem nuppu nt. CTRL + ALT + DEL. Tulevikus proovin käivitada 4 tcp pistikupesa, üks iga kontrolleri jaoks, ja seejärel luua serveripoolne virtuaalne mängupadi. Mul pole olnud aega vaadata, kuidas seda teha lapsevanemaks saamise, töötamise ja pappkarpide lõikamise vahel.

3. samm: tulevik

See oli lihtne kontseptsiooni tõestus. Tulevikus peab kood olema parem. Tahaksin ühenduse kodeerida Bluetoothi HID -seadmena, kuid Linuxi bluez5 on töötamiseks natuke aega - sellepärast läksin TCP -pistikupesa + Pythoniga. Samuti - olgem ausad - kontroller näeb välja nagu pagan. Kui oleks rohkem aega, investeeriksin natuke rohkem energiat hoolikamaks lõikamiseks. Siis paneksin rohkem toetusi -karbi küljed hakkavad veidi kõverduma. Mis see on ja mis see maksab, tundub see asi piisavalt hea. Jätkan selle kallal nokitsemist, kuni õhtul filme vaatame.

Soovitan: