Sommario:

Controller di gioco wireless per famiglie a 4 giocatori: 3 passaggi
Controller di gioco wireless per famiglie a 4 giocatori: 3 passaggi

Video: Controller di gioco wireless per famiglie a 4 giocatori: 3 passaggi

Video: Controller di gioco wireless per famiglie a 4 giocatori: 3 passaggi
Video: Ecco alcuni dei miei giochi 🥰 #simonepedersoli #playstation #ps4 #giochi #game 2024, Dicembre
Anonim
Controller di gioco per famiglie senza fili a 4 giocatori
Controller di gioco per famiglie senza fili a 4 giocatori
Controller di gioco wireless per famiglie a 4 giocatori
Controller di gioco wireless per famiglie a 4 giocatori
Controller di gioco wireless per famiglie a 4 giocatori
Controller di gioco wireless per famiglie a 4 giocatori

Questo è un controller wireless in stile arcade su cui 4 persone possono giocare contemporaneamente. È wireless in modo da non dover collegare il PC a un controller utilizzato da bambini di 5 anni. Cadono continuamente e non voglio che distruggano tutti i miei giocattoli quando inevitabilmente inciampano su un filo. Di recente abbiamo acquistato un nuovo monitor per computer ed è arrivato in una scatola super robusta con un polistirolo molto denso all'interno. Come qualcosa di una sitcom, litigavo continuamente con mia moglie per tenere la scatola. A me sembrava supplicare di essere trasformato in qualcosa mentre per lei era una brutta spazzatura. Poi, di punto in bianco, Instructables ha organizzato una gara di velocità basata sul cartone. E così in un pomeriggio la discussione si è risolta ed è nato questo progetto.

Abbiamo usato le probabilità che avevamo in casa per dare vita al progetto. L'idea era solo quella di utilizzare ciò che avevamo già in giro per fare qualcosa di interessante: fortunatamente avevamo una serie di pulsanti arcade e un Raspberry Pi che abbiamo comprato anni fa per creare un cabinato arcade. Per il taglio abbiamo usato una sega e il mio fidato coltellino tascabile.

Forniture

1. Scatola di cartone2. Polistirolo o altro riempitivo denso 3. Pulsanti Arcade di Ali Express o Amazon 4. Raspberry Pi 3B+ 5. Qualche altro computer + schermo. 6. Coltello o qualcosa per fare buchi nel cartone 7. Nastro adesivo8. Vernice spray

Fase 1: La costruzione

La costruzione
La costruzione
La costruzione
La costruzione
La costruzione
La costruzione

Abbiamo rapidamente disegnato uno schizzo di come volevamo che fosse la cosa, quindi abbiamo usato un coltello e una sega per legno per tagliare il cartone e il polistirolo alla giusta dimensione. Abbiamo segnato il cartone con un buon layout di pulsanti/joystick e tagliato con cura i fori con un coltello. Questo è stato un ottimo esercizio di matematica di base per i bambini. Una volta tagliato il cartone, l'abbiamo dipinto e poi abbiamo posizionato tutti i bottoni. La cosa più interessante che abbiamo fatto è stata incollare tre strati di cartone per la parte superiore del controller per dargli più rigidità. Ciò ha reso un po' difficile da tagliare, ma ha funzionato perfettamente per rendere il piano quasi solido come il legno.

Il Raspberry Pi 3B+ ha quattro porte USB. Abbiamo una famiglia di quattro e 4 set di pulsanti arcade! Questa era la predestinazione.

Passaggio 2: la programmazione

La programmazione
La programmazione
La programmazione
La programmazione
La programmazione
La programmazione
La programmazione
La programmazione

Il codice per questo progetto è semplice e pieno di bug. Si trova tutto qui:

github.com/melvyniandrag/SuperTuxJunkKart I 4 controller sono collegati via usb a un raspberry pi. Sul Raspberry pi è in esecuzione un piccolo script Python. Ho usato la libreria di input Python per ottenere i segnali dai pulsanti e dai joystick. Il programma trasforma quindi il segnale in un breve codice ASCII e lo invia tramite un socket TCP tramite Wi-Fi a un PC che esegue un gioco (lo chiamerò server di gioco). Ad esempio, quando il giocatore 0 sposta il joystick a sinistra, i caratteri '0XL' vengono inviati tramite il socket TCP al server di gioco. Per i test ho eseguito SuperTuxKart sul mio thinkpad. Una piccola applicazione server viene eseguita sul thinkpad e resta in ascolto sul socket TCP. I codici che provengono dal raspberry pi tramite wifi vengono tradotti in pressioni di pulsanti sulla tastiera tramite la libreria pyautogui. Quindi, quando il giocatore 0 sul controller di cartone sposta il joystick a sinistra e il controller emette "OXL", il server che esegue il gioco pensa che il giocatore abbia premuto il pulsante "1" sulla tastiera. Il gioco deve essere configurato per riconoscere queste pressioni della tastiera come può essere mostrato nella schermata delle opzioni qui. Questo gioco funziona bene con uno o due giocatori, ma quando 4 persone giocano a SuperTuxKart in modo aggressivo, il server inizia a perdere alcuni dati dal controller. Non sono sicuro che si tratti di un errore: 1. Sul lato client (controllore)2. Sul server (thinkpad) side3. Funzionalità Linux integrata. Forse il mio laptop Ubuntu non è in grado di riconoscere un gran numero di pressioni di tasti simultanee. Quindi, se i giocatori 0, 1 e 2 stanno tutti guidando in alto e a sinistra, significa che 2 * 3 = 6 pulsanti vengono premuti contemporaneamente. Non sono sicuro che il mio computer (o qualsiasi altro computer) sia progettato per gestirlo. Di solito i tasti di scelta rapida sono 3 o meno pulsanti, ad es. CTRL+ALT+CANC. In futuro proverò ad avviare 4 socket tcp, uno per ogni controller, e poi lato server a creare un game pad virtuale. Non ho ancora avuto il tempo di vedere come farlo tra essere genitori, lavorare e tagliare scatole di cartone.

Passaggio 3: il futuro

Questa era una semplice prova di concetto. In futuro, il codice deve essere migliore. Mi piacerebbe codificare la connessione come un dispositivo HID bluetooth, ma bluez5 su Linux è un po' una perdita di tempo su cui lavorare - ecco perché sono andato con un socket TCP + Python. Inoltre - ammettiamolo - il controller sembra come diamine. Con più tempo investirei un po' più di energia per tagliare con più attenzione. Poi metterei più supporti: i lati della scatola stanno iniziando a deformarsi un po'. Per quello che è e per quanto costa, però, questa cosa sembra abbastanza buona. Continuerò ad armeggiare mentre guardiamo i film la sera.

Consigliato: