Sommario:

Macchina Arcade modulare: 12 passaggi
Macchina Arcade modulare: 12 passaggi

Video: Macchina Arcade modulare: 12 passaggi

Video: Macchina Arcade modulare: 12 passaggi
Video: Build a Mini Neo Geo Arcade Machine 2024, Luglio
Anonim
Macchina Arcade modulare
Macchina Arcade modulare

Io e i miei due ragazzi volevamo costruire una macchina da sala giochi, ma non riuscivamo a decidere che tipo costruire tra un mobile stand-up completo, un bancone da bar o una console in stile Fight-stick da collegare a una TV. Alla fine ci è venuto in mente che potevamo costruire tutti e tre come una soluzione modulare con moduli che possono essere utilizzati singolarmente o combinati a piacere.

A causa del design semplice e della scelta dei componenti, questa è anche una costruzione abbastanza economica rispetto a molti progetti di macchine arcade domestiche e dovresti essere in grado di ottenere meno di 200 € / $ in materiali. Avevo già in giro la maggior parte dei materiali per la lavorazione del legno e dell'elettronica, quindi finora ho speso meno di 100€.

Passaggio 1: progettazione

Design
Design
Design
Design
Design
Design

Il concetto di base del design è un sistema arcade per due giocatori composto da una serie di moduli indipendenti che hanno ciascuno una funzione individuale e si completano a vicenda quando sono imbullonati insieme.

  • Il modulo di controllo contiene tutti i controlli e l'elettronica di controllo, inclusi i controller USB. Questo modulo può essere utilizzato come controller in stile Fight Stick collegato a una console o Raspberry PI.
  • Il modulo display ospita il display e Raspberry PI (o la tua scelta di SBC) e può essere utilizzato da solo come computer "tutto in uno" o collegato al modulo di controllo per formare un'unità arcade bartop.
  • Il modulo Stand funge da unità di archiviazione in modalità standalone e, quando combinato con il bartop, forma una macchina arcade in piedi completa.

Abbiamo cercato di mantenere il design il più semplice e funzionale possibile prendendo alcuni spunti di design dai giochi da tavolo vintage degli anni '70 e '80 ed evitando elementi non funzionali come il tendone luminoso e la modanatura a T che si trovano in molti armadietti. Ovviamente puoi modificare il design per aggiungere questi elementi se lo desideri.

Ho deciso per una disposizione dei pulsanti abbastanza classica che mi sembrava di ricordare dalle sale giochi della mia giovinezza con un gruppo di pulsanti "diritti sei" accanto a ciascuno dei joystick (StreetFighter2 FTW). Ho posizionato i pulsanti Start e Select sul pannello frontale per soddisfare l'emulazione della console, nonché l'immissione di monete e le funzioni di selezione del giocatore. Ho anche posizionato un pulsante su ciascun lato per i giochi di flipper. Ovviamente sei libero di modificare il design secondo i tuoi gusti e i metodi di input desiderati, ad es. trackball. filatori ponderati ecc.

Ho fatto uno schizzo iniziale di massima dell'unità bar-top su carta e poi ho ricreato modelli corretti in scala in SketchUp - vedi i file allegati per ciascuno dei moduli e delle combinazioni.

Ho basato le dimensioni su un monitor widescreen da 19 che ho acquistato di seconda mano per € 10. Ciò ha comportato una larghezza complessiva del cabinet di 500 mm lasciando circa 30 mm di gioco nel caso avessi bisogno di cambiare il monitor.

Controlla i file di SketchUp per le misurazioni esatte su tutte le dimensioni. Quando ho tagliato un pannello o un foro specifico, ho utilizzato lo strumento metro a nastro in SketchUp per misurare la dimensione nel modello prima di tracciare i tagli sul materiale da costruzione.

Passaggio 2: strumenti e materiali per la lavorazione del legno

AVVERTENZA: UTILIZZARE ATTENZIONE E APPROPRIATI DISPOSITIVI DI SICUREZZA QUANDO SI UTILIZZANO GLI UTENSILI ELETTRICI

Utensili

  • Cacciavite e viti
  • Sega da banco o sega circolare
  • puzzle
  • Trapano e punte varie, inclusa una sega a tazza da 28 mm per i pulsanti
  • Carta vetrata
  • Fresa e punta per angoli arrotondati

Materiali

  • Fogli MDF da 19 mm (3/4")
  • Fogli MDF da 6 mm (3/4")
  • Staffe angolari (ne ho usate alcune di plastica molto pratiche - guarda le foto di costruzione)
  • Stucco per legno
  • Dipingi (vedi i passaggi "Fine" più avanti per i dettagli)

Passaggio 3: costruzione del modulo di controllo

Costruzione del modulo di controllo
Costruzione del modulo di controllo
Costruzione del modulo di controllo
Costruzione del modulo di controllo
Costruzione del modulo di controllo
Costruzione del modulo di controllo
Costruzione del modulo di controllo
Costruzione del modulo di controllo

Ho avviato il modulo di controllo ritagliando i lati dall'MDF da 19 mm in base alle dimensioni del modello di SketchUp.

Successivamente ho tagliato i pannelli anteriore e posteriore. Ho segnato gli smussi su questi pannelli posizionandoli contro i lati e segnando l'angolo con una matita e poi unendo i segni su entrambi i lati con un bordo dritto. L'ho quindi tagliato a vista nella sega da banco e rifinito con carta vetrata. Sono abbastanza sicuro che ci sia un modo migliore per farlo con più strumenti e/o abilità migliori, ma ha funzionato bene per le mie esigenze e non ci è voluto molto.

Quindi ho ritagliato le asole anteriori e laterali e ho collegato tutti i pannelli con le staffe e le viti. Inizialmente avevo pianificato di usare la colla, ma i miei test con l'incollaggio su un bordo tagliato in MDF sembravano indicare che questo non sarebbe stato abbastanza forte. Inoltre avevo già un mucchio di staffe che ho riciclato da un vecchio progetto;).

In questa fase ho anche arrotondato i bordi anteriori superiori utilizzando il router con la punta per arrotondare gli angoli. Ciò conferisce un aspetto più gradevole e una sensazione più confortevole al modulo e supera i bordi rigidi dove le tue mani riposano naturalmente accanto ai controlli.

Successivamente ho ritagliato la parte superiore e inferiore dall'MDF da 6 mm. Ho smussato il pannello superiore come con i pannelli anteriore e posteriore per garantire una vestibilità aderente e una finitura senza cuciture. Non ho smussato il pannello inferiore perché non ho intenzione di riempirlo e dipingerlo. Invece lo userò come pannello di accesso per la manutenzione. Ho praticato e svasato fori per le viti e praticato fori corrispondenti nelle staffe angolari.

Ho quindi smontato il pannello posteriore e praticato un grande foro per l'accesso regolare ai cavi USB e al Raspberry PI.

Alla fine ho tagliato il pulsante del pannello superiore e i fori del joystick e l'ho rimontato. Non ho fissato il pannello superiore in posizione in questa fase perché volevo tenerlo allentato durante il processo di cablaggio.

Passaggio 4: strumenti e materiali elettronici

NB: questa lista è necessaria solo se vuoi diventare un vero secchione dell'elettronica. Puoi e probabilmente dovresti ottenere tutta questa roba come parte di un kit plug and play (come questi) ed evitare tutte le saldature e i cablaggi personalizzati. Dopo averlo fatto una volta "nel modo più duro", seguirò sicuramente la strada del kit se mai realizzerò un altro cabinet.

Utensili

  • Multimetro/tester di connettività
  • Saldatore
  • Tronchese
  • Strumento di crimpatura (ho appena usato il tagliafili)

Materiali

  • Arduino Leonardo/Pro Micro con profilo joystick USB HID (ho usato cloni economici)
  • Hub USB
  • Joystick e pulsanti arcade.
  • Connettori a crimpare per abbinare il joystick e i pulsanti selezionati
  • 2x Mini breadboard
  • Cavi di collegamento (ho usato principalmente cavi per ponticelli Dupont)
  • Saldatura elettronica (avevo ancora la mia bobina originale di colofonia del college)
  • Guaina termorestringente

Passaggio 5: cablaggio del modulo di controllo

Cablaggio del modulo di controllo
Cablaggio del modulo di controllo
Cablaggio del modulo di controllo
Cablaggio del modulo di controllo
Cablaggio del modulo di controllo
Cablaggio del modulo di controllo

Ancora una volta, consiglio di prendere in considerazione un kit plug and play invece dell'approccio documentato qui. Segui questo approccio solo se:

A. Desideri il pieno controllo del codice di gestione dei pulsanti di basso livello

B. Piace molto alla saldatura e al cablaggio personalizzato (chi non lo fa)

C. Hai già gli strumenti e le parti e/o vuoi risparmiare qualche soldo

D. Vuoi saperne di più su queste cose o semplicemente esercitarti?

Le mie motivazioni personali erano un mix di quanto sopra. Ok, ecco come ho fatto il cablaggio:

Per prima cosa ho realizzato dei cavi adattatori per unire i connettori a crimpare sui pulsanti ai cavi del connettore Dupont. Ho realizzato uno di questi per il microinterruttore in ciascuno dei pulsanti e i quattro in ciascuno dei joystick. Grida di bandire Larry per uno scavo sulla linea di produzione per questi.

Ho quindi utilizzato questi cavi personalizzati per collegare i pulsanti e i joystick ai pin di input su ciascuno dei microcontrollori tramite le breadboard.

NB: In questo design c'è un microcontrollore separato e quindi un cavo USB per ogni lettore. Dividi il joystick e i microinterruttori dei pulsanti di conseguenza tra di loro e collega entrambi i pulsanti del flipper allo stesso microcontrollore. Guarda le foto che mostrano una progressione attraverso le fasi di cablaggio se rimani bloccato.

Successivamente avevo bisogno di aggiungere un filo per inviare un segnale a ciascuno dei microinterruttori che avrebbe poi restituito il segnale al pin di ingresso del microcontrollore quando veniva premuto il pulsante. Ho usato i 4 doppini intrecciati in alcuni cavi Cat 5e per fornire il segnale ai joystick saldandoli tutti insieme a un'estremità e collegando un cavo connettore Dupont collegato al pin del segnale sul microcontrollore.

Ho realizzato un piccolo cavo a margherita per ciascuno dei 6 gruppi di pulsanti e infine ho utilizzato i miei cavi adattatori personalizzati sui pulsanti di avvio / selezione e flipper di nuovo tutti cablati al pin del segnale del microcontrollore.

Il cablaggio dei microinterruttori ai microcontrollori è stato piuttosto semplice grazie all'uso del mini-breadboard e dei connettori Dupont, il che significava che potevo spostare facilmente i fili secondo necessità.

Passaggio 6: codice controller

Codice del controllore
Codice del controllore
Codice del controllore
Codice del controllore
Codice del controllore
Codice del controllore

Il codice è piuttosto semplice. Ho modificato un esempio di gamepad dall'eccellente libreria Arduino Joystick

Puoi saperne di più su come iniziare con quella libreria da questo pratico tutorial.

Alla fine di questo passaggio avevamo un controller di combattimento a 2 giocatori funzionante, quindi abbiamo festeggiato con alcuni round di StreetFighter2 sul mio laptop!

Inizialmente avevo pianificato di collegare i microcontrollori direttamente al Raspberry PI tramite USB, ma durante i test sul laptop ho scoperto che collegare e scollegare i connettori micro USB ai microcontrollori tramite il pannello di accesso era molto complicato e alla fine ho interrotto il connettore micro USB da uno dei microcontrollori.

La soluzione a questo era includere un hub USB nel modulo di controllo. Ciò significava che solo una singola connessione era esposta dal modulo di controllo e la soluzione complessiva era molto più robusta. Con il cablaggio completo ho aggiunto dei fori per viti a testa svasata al pannello superiore e l'ho avvitato in posizione.

gamepad.ino

// Semplice esempio di gamepad che dimostra come leggere cinque Arduino
// pin digitali e mappali nella libreria Arduino Joystick.
//
// I pin digitali vengono messi a terra quando vengono premuti.
//
// NOTA: questo file di schizzo è per l'uso con Arduino Leonardo e
// Solo Arduino Micro.
//
// Versione modificata del codice originale di Matthew Heironimus
// 2018-08-11
//--------------------------------------------------------------------
#includere
Joystick_ Joystick;
voidsetup() {
// Inizializza i pin dei pulsanti
pinMode(, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(16, INPUT_PULLUP);
pinMode(20, INPUT_PULLUP);
pinMode(21, INPUT_PULLUP);
// Inizializza la libreria del joystick
Joystick.begin();
Joystick.setXAxisRange(-1, 1);
Joystick.setYAxisRange(-1, 1);
}
// Ultimo stato dei pulsanti
int lastButtonState[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int pin[12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 20, 21};
voidloop() {
// Leggi i valori dei pin
for (inindice = 0; indice< 12; indice++)
{
int currentButtonState = !digitalRead(pins[index]);
if (currentButtonState != lastButtonState[index])
{
switch (pin[indice]) {
case2: // SU
if (currentButtonState == 1) {
Joystick.setYAxis(-1);
} altro {
Joystick.setYAxis(0);
}
rottura;
case3: // DESTRA
if (currentButtonState == 1) {
Joystick.setXAxis(1);
} altro {
Joystick.setXAxis(0);
}
rottura;
case4: // GI
if (currentButtonState == 1) {
Joystick.setYAxis(1);
} altro {
Joystick.setYAxis(0);
}
rottura;
case5: // SINISTRA
if (currentButtonState == 1) {
Joystick.setXAxis(-1);
} altro {
Joystick.setXAxis(0);
}
rottura;
caso6:
Joystick.setButton(0, currentButtonState);
rottura;
caso7:
Joystick.setButton(1, currentButtonState);
rottura;
caso8:
Joystick.setButton(2, currentButtonState);
rottura;
caso9:
Joystick.setButton(3, currentButtonState);
rottura;
caso10:
Joystick.setButton(4, currentButtonState);
rottura;
caso16:
Joystick.setButton(5, currentButtonState);
rottura;
caso20:
Joystick.setButton(8, currentButtonState);
rottura;
caso21: {
Joystick.setButton(9, currentButtonState);
rottura;
}
}
lastButtonState[index] = currentButtonState;
}
}
ritardo(10);
}

visualizza rawgamepad.ino ospitato con ❤ da GitHub

Passaggio 7: configurazione del Raspberry PI

Configurazione Raspberry PI
Configurazione Raspberry PI

Raccomando un Pi 3 per le massime prestazioni e compatibilità di gioco, ma se sei interessato solo ai giochi più vecchi, andrebbe bene anche un dispositivo a bassa potenza come il Pi Zero. Sto usando un Pi 2 di riserva che avevo già in giro.

Ci sono un sacco di grandi risorse sul web che descrivono come configurare il Pi o un altro SBC scelto con diversi emulatori e front-end. Personalmente uso e consiglio RetroPie e ho trovato questi - eccellenti - video di ETA Prime un ottimo modo per iniziare a lavorare rapidamente.

Passaggio 8: costruzione del modulo display

Costruzione del modulo display
Costruzione del modulo display
Costruzione del modulo display
Costruzione del modulo display
Costruzione del modulo display
Costruzione del modulo display

Ho iniziato la costruzione del Modulo di visualizzazione con i pannelli laterali, segnando e ritagliando i primi dalle dimensioni misurate dal file di SketchUp utilizzando il metro a nastro virtuale. Ho quindi utilizzato il primo pannello come modello per contrassegnare il secondo.

Successivamente ho ritagliato il pannello posteriore inferiore, ho avvitato alcune staffe angolari e poi l'ho avvitato ai pannelli laterali. A questo punto ho verificato che il mio monitor si adattasse. Era un po' più stretto di quanto mi aspettassi, ma c'era spazio sufficiente.

Ho quindi aggiunto il pannello frontale inferiore e ho praticato dei fori per adattarlo al modulo di controllo. Per contrassegnarli, ho posizionato il modulo di controllo contro il modulo del display e ho scritto intorno all'interno del foro esistente nel modulo di controllo.

In questa fase sono stato in grado di imbullonare i due moduli utilizzando due bulloni del connettore dell'armadio. Ora potevo vedere la forma finale del modulo bar-top combinato!

Il passo successivo è stato l'instradamento dei bordi dei pannelli. Per questo ho smontato di nuovo l'unità. Ho anche ritagliato il foro per l'ingresso di alimentazione e l'interruttore. Per questo ho prima segnato il foro, poi ho forato gli angoli con una piccola punta di legno e infine ho ritagliato il materiale rimanente usando una sega a spirale.

Ho quindi rimontato l'unità incollando ogni pezzo insieme questa volta. Dato che stavo usando anche le staffe, non avevo bisogno di usare i morsetti per tenere insieme i pezzi.

Ora che l'unità era nella sua forma finale, ho ritagliato il pannello dello schermo e l'ho montato in posizione, lavorandoci sopra con carta vetrata finché non si adatta perfettamente. Quando ero soddisfatto della vestibilità, l'ho tirato fuori e ho usato un seghetto alternativo per ritagliare il foro per il display in modo che corrisponda all'area visibile dello schermo. Fatto ciò, sono stato in grado di testare lo schermo in posizione utilizzando alcune staffe per tenere il monitor in posizione allentata.

Ho messo insieme i due moduli per vedere com'era e poi ho finito di incollare la cornice dello schermo in posizione. Per fare questo ho aggiunto alcuni pezzi extra di MDF da 6 mm dietro il bordo dello schermo per assicurarmi che fosse solido e per evitare crepe nella vernice in seguito.

Passaggio 9: Fine

Fine
Fine
Fine
Fine
Fine
Fine
Fine
Fine

Una volta che la colla si è asciugata completamente sul modulo display, ho applicato generosamente uno stucco per legno su tutte le giunture e le imperfezioni e l'ho levigato con carta vetrata a grana grossa.

L'ho quindi rivestito con adesivo PVA diluito come primo strato di tenuta. Successivamente ho applicato più mani di una miscela di PVA e vernice bianca per uso generale legno/acciaio che ho trovato nel garage.

Queste prime mani sono state tutte applicate utilizzando un normale pennello da 2.

Quando le basi si sono asciugate ho fatto una leggera carteggiatura con carta vetrata a grana fine. Successivamente ho aggiunto un'altra mano di vernice bianca.

Quando si è asciugato, ho carteggiato leggermente di nuovo e poi ho applicato un paio di mani di vernice spray economica per tutti gli usi dalle lattine che ho raccolto nel negozio di ferramenta.

Prima di ripetere il processo per il modulo di controllo ho ritagliato il pannello posteriore superiore del modulo display. Questo pannello ha un foro in modo da poter trasportare più facilmente il modulo display. Agisce anche in modo che il suono per gli altoparlanti del monitor integrati esca dalla custodia.

In questa fase ho anche deciso di rimuovere le viti dal pannello superiore del modulo di controllo e incollarlo in posizione. Per assicurarmi che fosse sicuro, ho prima incollato alcuni pezzi di supporto extra.

Quando il modulo di controllo è stato verniciato, ho usato un Dremel per pulire le asole, testandole continuamente per le dimensioni con uno dei pulsanti. Alla fine ho incollato il dado del connettore del mobile nella parte posteriore dei moduli di controllo.

Sono stato ragionevolmente soddisfatto della finitura risultante alla fine di questo passaggio, data la quantità di tempo e fatica spesi. Non era affatto perfetto e potrebbe essere migliorato dando più tempo durante questa fase. Dipende davvero dal livello di finitura che vuoi ottenere e da quanto tempo richiederà questo passaggio.

Passaggio 10: componenti del modulo di visualizzazione

  • Monitor widescreen da 19" con altoparlanti
  • Computer a scheda singola Raspberry PI 2 (SBC)
  • Custodia Raspberry PI 2
  • Adattatore di alimentazione USB da 2 Amp
  • Cavo micro-usb
  • Cavo audio da 3,5 mm
  • Cavo HDMI
  • Presa del telaio di rete (tipo bollitore)
  • Cavo del bollitore di rete
  • Doppia presa di corrente

Passaggio 11: cablaggio del modulo display

Cablaggio modulo display
Cablaggio modulo display
Cablaggio modulo display
Cablaggio modulo display
Cablaggio modulo display
Cablaggio modulo display
Cablaggio del modulo display
Cablaggio del modulo display

Per prima cosa ho aggiunto una base e un pannello posteriore al guscio del modulo del display. Il pannello posteriore è stato fissato in posizione mediante chiusure magnetiche in modo che possa essere facilmente rimosso per un rapido accesso ai componenti.

Ho quindi collegato un interruttore di alimentazione a una doppia presa di corrente per alimentare il PI e il monitor. Ho saldato i cavi di alimentazione all'interruttore e ho rivestito i cavi con un tubo termoretraibile. Se non sei completamente a tuo agio con questa parte, chiedi aiuto a qualcuno qualificato. NON correre alcun rischio con il cablaggio di rete.

Dopo aver fissato saldamente l'interruttore alla custodia, ho posizionato il monitor. Data la lotta già serrata, un paio di staffe di plastica extra erano tutto ciò che era necessario per fissare lo schermo in posizione.

Successivamente ho collegato un adattatore di alimentazione USB per il PI e un cavo del bollitore per il monitor. Non restava che collegare i segnali audio e video al monitor.

Poiché il monitor non ha un ingresso HDMI, ho utilizzato un adattatore da HDMI a DVI. L'audio è stato fornito agli altoparlanti del monitor integrati tramite un cavo audio da 3,5 mm dal PI. Con il pannello posteriore acceso e le impostazioni audio al massimo, il volume dell'audio è ok ma non alto. Potrei aggiungere altoparlanti e un mini amplificatore in un futuro aggiornamento.

Alla fine ho collegato un hub USB al PI e sono stato in grado di avviare il test del modulo display completamente operativo.

Passaggio 12: assemblaggio finale e pensieri

Assemblea finale e pensieri
Assemblea finale e pensieri
Assemblea finale e pensieri
Assemblea finale e pensieri
Assemblea finale e pensieri
Assemblea finale e pensieri
Assemblea finale e pensieri
Assemblea finale e pensieri

L'ultimo lavoro prima dell'assemblaggio finale è stato il ricablaggio e l'assemblaggio del modulo di controllo dopo la verniciatura. Questo è andato abbastanza bene a parte la rottura di un filo che doveva essere risaldato.

Prima di combinare i moduli di controllo e display, ho ritagliato un paio di dischi di pellicola adesiva trasparente per evitare che i barilotti dei connettori dei mobili che sporgono dal modulo di controllo graffiano la vernice del modulo display.

Quindi era solo un semplice compito di posizionare i moduli e avvitarli insieme. A questo punto il mobile bar-top è completamente completo e pronto per l'uso. Sembra che questa sarà la configurazione preferita, quindi non avrò bisogno di costruire il modulo stand almeno per un po'. Se e quando lo farò, aggiornerò questo post. Lo stesso modulo stand dovrebbe essere il più semplice di tutti. È fondamentalmente un semplice armadietto con fori per bulloni nella parte superiore per il collegamento all'unità bar-top.

Mi sono divertito molto a lavorare a questo progetto con i miei figli. Abbiamo imparato molto e ora non vediamo l'ora di giocare a tanti vecchi classici arcade e console sulla nuova macchina. Grazie per la lettura e fateci sapere cosa ne pensate del progetto nei commenti!

Consigliato: