giovedì 2 maggio 2019

Guida alla costruzione di un Bartop Arcade

Ogni volta che mi avvicino a un cabinato retrogame affiorano i ricordi di quando da adolescente mi recavo nelle sale giochi del paese con in tasca una manciata di monete pronto a mettere in bella vista il mio nome in cima alla lista dei punteggi!
Ebbene, questa reminiscenza adolescenziale mi ha convinto a costruirne uno e nelle prossime pagine sarà mia premura descrivere tutti i passaggi affrontati durante la sua realizzazione.


Il tutorial inizierà con la configurazione del software di emulazione, l'installazione dei giochi nella scheda di memoria, la costruzione del box di legno e l'assemblaggio delle varie parti.

Raspberry

L'esecuzione del software di emulazione, che vedremo nel dettaglio tra poco, è stata possibile grazie a Raspberry Pi 3 Model B/B+, un piccolo ed economico computer che, nonostante non sia particolarmente potente, risulta perfetto per il nostro scopo.

Raspberry Pi 3 Model B/B+

Le specifiche hardware sono:
  • processore da 1.4 GHz
  • 1 GB di RAM
  • un'uscita HDMI
  • un'uscita Audio
  • 4 porte USB
  • uno slot per la scheda di memoria
  • modulo WiFi e bluetooth

Una porta USB verrà utilizzata per connettere una scheda chiamata "Zero Delay Arcade Encoder" (che vedremo nel dettaglio più avanti) alla quale andremo a collegare un joystick simile a quello che troviamo nelle sale giochi e dei pulsanti arcade. Alcune delle porte rimaste libere invece saranno utilizzate per collegare la tastiera e il mouse necessari durante le fasi di installazione e configurazione del software oppure un gamepad.

Al jack audio andremo a collegare tramite un amplificatore due casse audio recuperate da un kit per computer e all'uscita video HDMI collegheremo un monitor nel formato 4:3 utilizzando un'interfaccia HDMI->VGA.

La scheda di memoria classe 10 dovrà avere una capacità consigliata di 8 GB e sarà utilizzata per copiarvi una delle tante distribuzioni disponibili gratuitamente in rete. Le distribuzioni più famose per Raspberry sono Raspbian e Windows IoT, ma nel nostro caso andremo a installare una distribuzione progettata appositamente per emulare giochi arcade quali: Mame, Nintendo, Sega, Game Boy, Commodore e molti altri.


Scheda di memoria (classe 10)

L'alimentatore per il Raspberry dovrà avere da specifiche un'uscita micro USB da 5.1 V e un amperaggio di 2.5 A, inoltre è consigliabile applicare su alcuni chip della scheda dei dissipatori per evitare che il dispositivo si surriscaldi.

Al seguente sito ufficiale è possibile trovare le specifiche tecniche e altre informazioni:

https://www.raspberrypi.org/


Emulatore (Recalbox)

Al momento gli emulatori più conosciuti per Raspberry sono i seguenti:

Provati tutti e tre ho ritenuto Recalbox il più intuitivo e completo; il seguente elenco riporta le console di gioco supporte:

Atari 2600, NES, Game Boy, Game Boy Color, Game Boy Advance, Super Nintendo, Master System, Megadrive (Genesis), FBA (e sottosistemi), iMame4all (e sottosistemi), PCEngine, MSX1 / 2, PSX, Sega Cd, Sega 32X, Sega SG1000

Un elenco completo è accessibile al seguente link:

https://github.com/recalbox/recalbox-os/wiki/Board-Compatibility-(EN)


Per l'installazione come al solito si procede scaricando il file compresso dal sito ufficiale, quindi si formatta la scheda di memoria e vi si copia il contenuto tramite Etcher, ovvero il software consigliato da Recalbox.

Riporto di seguito la guida ufficiale di Recalbox, si consiglia la versione Inglese in quanto quella Italiana non è stata tradotta del tutto ed è priva di alcune parti importanti:

Guida Ufficiale di Recalbox


Configurazione di Recalbox

Le seguenti configurazioni di Recalbox sono accessibili dal menu principale:
  • System Settings: visualizza delle informazioni e consente il cambio della lingua
  • Controllers Settings: configura i controller e i pulsanti
  • Sound Settings: imposta l'uscita audio
  • Network Settings: configura l'accesso alla rete WiFi
  • Quit: utilizzato per spegnere o riavviare Raspberry

Menu principale 1/2

Menu principale 2/2

NB: durante alcune configurazioni di Recalbox si dovrà collegare a una delle porte USB di Raspberry una tastiera, necessaria ad esempio durante l'impostazione del router WiFi, come il SSID e la KEY.


Configurazione del sistema

Il menu SYSTEM SETTINGS consente di accedere ad alcune informazioni di sistema e di impostare la lingua.
Ad esempio in figura si può vedere la versione installata di Recalbox (18.07.13) e lo spazio occupato nella scheda di memoria (3%).

Configurazione di sistema

Selezionando la voce di menu Language è possibile impostare la lingua, ad esempio Italiano o English; una volta cambiata è richiesto il riavvio di Recalbox affinché la nuova impostazione diventi definitiva.

Cambio della lingua


Configurazione video

Qualora ci fossero dei problemi nella visualizzazione dell'interfaccia di Recalbox si dovrà intervenire nel file di configurazione "recalbox.conf", nel caso specifico si è dovuto modificare il video mode per riuscire a far funzionare il video:

global.videomode=default

Una volta configurata la connessione WiFi (vedremo come fare più avanti) sarà inoltre possibile accedere al file "recalbox.conf" tramite l'interfaccia Web.

Inoltre, se necessario si può impostare il rapporto dello schermo (4/3 o 16/9) tramite la voce GAME RATIO dal menu GAME SETTINGS.

Configurazione del ratio dello schermo


Configurazione Audio

Per ascoltare il sonoro dei giochi che andremmo a installare si dovrà collegare le casse al jack del Raspberry, quindi accedere al menu SOUND SETTINGS dal menu principale (MAIN MENU) e impostare la voce SYSTEM VOLUME in JACK come in figura.


Selezione dell'uscita audio come jack


Configurazione WIFI

Una volta avviato Raspberry dovremmo accedere al pannello principale di configurazione di Recalbox in modo da configurare la connessione WIFI al router domestico.

La voce da selezionare per configurare la rete wireless è OPZIONI DI RETE (NETWORK SETTINGS in figura), da qui si potrà attivare il modulo WiFi impostando a ON la voce corrispondente. Quindi si dovrà inserire il nome del WIFI SSID del router domestico, se non lo si conosce è possibile recuperarlo dalle reti disponibili sul proprio cellulare, e infine inserire la password di accesso (WIFI KEY).

Una volta che Raspberry si sarà connesso dovremmo recuperare l'indirizzo IP, visibile nello stesso menu sotto la voce INDIRIZZO IP (IP ADDRESS in figura), questo indirizzo ci sarà utile per accedere a Recalbox dal nostro browser preferito.

Configurazione dell'accesso WIFI

Installare i giochi

Una volta configurato Recalbox non rimane che caricarvi i giochi (rom) scaricati gratuitamente dai tanti siti disponibili in rete (*).
Per farlo possiamo copiare le rom, ad esempio quelli di Mame sono dei file compressi nel formato .zip, nella scheda di memoria una volta che quest'ultima è stata inserita nello slot del proprio computer (Linux).
In alternativa, il metodo che consiglio, eseguire l'upload delle rom tramite la pagina web accessibile da browser inserendo l'indirizzo IP recuperato durante la configurazione delle rete WiFi.

(*) Alcuni siti da cui scaricare le rom da installare in Recalbox sono i seguenti:

https://bit.ly/2XtwJka


Copia via browser

Come accennato in precedenza il modo più veloce per caricare le rom nella scheda di memoria è accedere a Recalbox utilizzando un browser.
Una volta configurato il WiFi si dovrà abilitare la possibilità di accesso da remoto tramite l'indirizzo IP recuperato in precedenza, quindi selezionare la voce ADVANCED SETTINGS dal menu principale (MAIN MENU), attivare (ON) la voce di menù RECALBOX MANAGER e infine riavviare.



Abilita accesso da browser web


I passi per caricare una rom sono i seguenti:
  1. Aprire il browser e inserire l'indirizzo IP recuperato nella configurazione WiFi 
  2. Selezionare ROM dal menu di sinistra
  3. Aprire la cartella della console, ad esempio Mame
  4. Trascinare lo zip della rom nell'area indicata
  5. Premere il pulsante giallo ocra per riavviare da remoto Recalbox

Step by Step per caricare le rom via web


Una volta che Recalbox si sarà riavviato dovreste vedere il gioco nell'elenco dei giochi di Mame!

Copia su SD

Qualora si decida di copiare i giochi direttamente nella scheda di memoria consiglio di utilizzare una distribuzione Linux, ad esempio Ubuntu, in questo modo non dovreste aver problemi ad accedere al file system della scheda di memoria.
Inserita la scheda nello slot del proprio PC è sufficiente attendere che il sistema la riconosca per accedervi e copiarvi le rom dei giochi.

Selezionare il disco SHARE e poi la cartella "roms":

Contenuto della scheda di memoria da Ubuntu

Infine per caricare le rom, ad esempio Mame, si dovrà selezionare la cartella "mame" e copiarvi le rom dei giochi:

ROM presenti all'interno della cartella Mame


Configurazione dei controller

Collegare un controller di una console (PlayStation, XBox o Nintendo Switch) a una delle porte USB, quindi selezionare CONTROLLERS SETTINGS per accedere alla schermata generale di configurazione e premere CONFIGURE A CONTROLLER per associare i comandi al controller.


Configurazione di un controller

La seguente finestra riporta il seguente messaggio:

Stai per configurare un gamepad. 
Se possiedi un gamepad dotato soltanto di una croce direzionale, 
configura solamente le direzioni e salta il resto tenendo premuto un pulsante. 
Se non puoi configurare un pulsante apposito per l'hotkey, utilizza Select. 
Puoi ignorare un pulsante non presente sul tuo gamepad 
premendo un pulsante già configurato in precedenza

Avvio della configurazione del controller

Una volta premuto il tasto OK si presenta il seguente messaggio:


3 gamepad rilevati. 
Tieni premuto un pulsante sul gamepad per configurarlo. 
Premi ESC o una combinazione di tasti per annullare

Procedura di riconoscimento del controller


A questo punto è sufficiente tener premuto un tasto qualsiasi del gamepad per iniziare la fase di associazione dei tasti del controller con quelli visualizzati nella schermata seguente:

Configurazione dei tasti del controller 1/2


Inoltre, durante la configurazione si dovrà associare un comando speciale chiamato HOTKEY, questo infatti consente, in combinazione con altri tasti, di eseguire delle funzioni particolari e viene solitamente associato al pulsante Select del controller.

Configurazione dei tasti del controller 2/2


Una volta fatto sarà possibile, ad esempio, avviare la procedura di riconoscimento del controller della PlayStation premendo semplicemente il tasto centrale (PS) o qualsiasi altro tasto se il controller è acceso.

Il software di emulazione è stato preparato e collaudato, non rimane che realizzare il contenitore!

Costruzione del cabinato

Nella costruzione si è fatta particolare attenzione che le viti non fossero visibili, inoltre alcuni pannelli sono stati modificati o ricostruiti in corso d'opera, ad esempio il pannello comandi è stato realizzato in due versioni: uno rosso prototipale, ma perfettamente funzionante, e uno giallo nella versione definitiva.

Gli altri pannelli modificati sono stati quello audio, al quale in una fase successiva è stato aggiunto un interruttore per interrompere il sonoro, e quello dei pulsanti, sotto il pannello comandi, al quale è stata aggiunta una presa doppia USB e altri due pulsanti (neri) di backup.

Attrezzatura

La realizzazione richiede una discreta manualità e un po' di attrezzatura, ad esempio:
  • banco pieghevole
  • trapano e punte per legno
  • seghetto alternativo
  • cacciaviti
  • guida per i tagli dritti
  • fresa a una mano
  • riga a morsetto 
  • morsetti da falegname

Scelta del legno

Il cabinato può essere costruito utilizzando del legno multistrato oppure del MDF, ovvero un agglomerato di fibre di legno di scarto unite da collanti. Si è preferito quest'ultimo per i seguenti motivi: economico, presenta una superficie liscia e quindi facile da dipingere, resistente (anche se cadendo accidentalmente c'è il rischio che si rovinino gli angoli), di contro se viene utilizzato in ambienti troppo umidi c'è il rischio che si imbarchi, ma difficile che accada.

Pannelli di legno

I pannelli di cui avremmo bisogno sono i seguenti:
  • spalle su cui andremo a fissare tutti gli altri pannelli 
  • comandi dove saranno posizionati il joystick e i sei pulsanti di gioco
  • pulsanti in cui si trovano altri pulsanti, come: selezione e start
  • audio in cui saranno posizionati due altoparlanti e un interruttore
  • superiore chiude il cabinato dall'alto, rimovibile togliendo le apposite viti
  • posteriore composto da una parte rimovibile e una fissa *
  • inferiore avvitato in modo definitivo *
* i pannelli con un asterisco hanno uno spessore di 10 mm, mentre gli altri sono tutti da 16 mm.

Siccome il cabinet deve dare l'impressione di solidità, la maggior parte delle parti sono state progettate utilizzando un MDF da 16 mm, mentre le altre non visibili sono state realizzate con un MDF da 10 mm per ridurre il peso complessivo e facilitarne il trasporto.

Dimensioni dei pannelli

Nella progettazione dei pannelli si è dovuto tener conto di diversi fattori come ad esempio la dimensione del monitor. Quindi è molto probabile che le misure che seguiranno debbano essere ricalcolate di conseguenza.

Elenco dei pannelli MDF da 16 mm con le rispettive dimensioni:
  • spalle laterali: *
  • pannello comandi: 17 x 40 cm *
  • pannello pulsanti: 9 x 40 cm *
  • pannello superiore: 25 x 40 cm
  • pannello audio: 10 x 40 cm *
*: in appendice si trovano i disegni con le dimensioni e le posizioni dei fori

Per realizzare tutte le parti da 16 mm è stato sufficiente acquistare un pannello MDF della dimensione di 125 x 65 cm. Inoltre, alcuni centri di bricolage offrono un servizio di falegnameria che suggerisco di utilizzare per tagliare tutti i panelli, fatta eccezione delle spalle che dovranno essere sagomate a mano con un seghetto alternativo.

Al fine di alleggerire il peso del cabinet si è deciso di utilizzare del legno MDF da 10 mm per le seguenti parti:
  • pannello inferiore: 40 x 40 cm
  • pannello posteriore fisso: 6,5 x 40 cm
  • pannello posteriore rimovibile: 35,5 x 40 cm

Il pannello posteriore è composto da due parti: una inferiore di dimensione ridotte fissata al cabinato da due viti da legno, in questa si trovano un interruttore e una presa di alimentazione dotata di un alloggiamento per un fusibile, e una superiore rimovibile svitando due viti da ferro serrate su delle bussole mordenti incollate nei profili delle spalle.

Assemblaggio

L'assemblaggio dei pannelli che compongono il cabinato verrà eseguito su dei listelli di legno opportunamente avvitati e incollati alle due spalle laterali, pertanto nel calcolo della distanza tra il listello e il bordo si dovrà tener conto dello spessore del pannello: 10/16 mm

Ogni pannello potrà essere fissato ai listelli in uno dei seguenti modi:
  • viti da legno
  • spine di legno da 6 mm
  • viti da ferro avvitate su bussole mordenti inserite nei listelli
  • colla vinilica
  • strisce di velcro adesivo  

I pannelli che chiudono il cabinet sul lato superiore e posteriore dovranno poter essere rimossi all'occorrenza per poter accedere al suo interno. Questi infatti sono gli unici avvitati con delle viti da ferro su delle bussole mordenti incastrate con della colla vinilica nei listelli.
Il pannello che chiude il cabinato da sotto e quello di dimensioni ridotte dietro verranno avvitati in modo definitivo con delle viti da legno; quest'ultime possono all'occorrenza essere coperte con dello stucco per legno.
Il pannello audio e quello dei pulsanti andranno anch'essi fissati in modo definitivo, ma questa volta utilizzando delle spine da legno da 6 mm al posto delle antiestetiche viti.

Il pannello comandi invece dovrà essere rimovibile in modo da permetterci di effettuare il collegamento dei pulsanti e del joystick al Raspberry. Tuttavia, non volendo compromettere l'estetica finale del cabinet con delle viti si è deciso di utilizzare due spine di legno, incollandole solo dalla parte del pannello, e delle strisce di velcro.
Una soluzione alternativa prevede che il fondo del cabinato sia smontabile tramite l'utilizzo di bussole mordenti e viti da ferro, in questo caso il pannello comandi poteva essere incollato in modo definitivo con delle spine da legno.


Marcatori per legno

Per fare combaciare due legni perfettamente tramite delle spine sono stati utilizzati degli arresti di profondità e dei marcatori per legno.
Gli arresti impediscono alla punta da trapano di penetrare troppo nel legno durante la preparazione del foro che dovrà ospitare la spina, mentre i marcatori, ovvero dei cilindri di metallo con la parte superiore appuntita, servono per individuare il punto di contatto dell'altro legno quando lo si andrà a premere in corrispondenza della posizione definitiva.
Il loro utilizzo prevede che l'arresto di profondità sia inserito nella punta da trapano e poi bloccato con una brugola all'altezza desiderata, ovvero quanto basta per ospitare una spina, ma senza che questa trapassi il legno.
Una volta praticato il foro si dovrà inserirvi il marcatore, quindi appoggiando il secondo legno nella posizione definitiva si dovrà esercitare della pressione in modo da creare nel punto di contatto un forellino, questo andrà usato come guida durante la foratura.

Il fissaggio delle due parti prevede che in uno dei due fori venga aggiunta della colla vinilica prima di inserire la spina di legno, se occorre quest'ultima dovrà essere accorciata di qualche millimetro in modo da evitare spazi nella giunzione.
Qualche ora dopo, ovvero il tempo necessario affinché la spina si incolli in modo definitivo, si potrà unire il secondo legno facendo combaciare la spina con il secondo foro, in cui avremmo aggiunto dell'altra colla.
Inoltre, se i due pezzi non devono essere rimossi in futuro, si può rinforzare l'assemblaggio aggiungendo della colla vinilica nei punti di giunzione.


Marcatori e arresti di profondità


Spalle

Le spalle sono le parti più importanti del cabinato in quanto ne determinano forma e dimensione, quindi il primo passo è stato disegnarle su un foglio di carta in modo da procedere successivamente al taglio con un seghetto alternativo.
Questo foglio può essere ottenuto unendo con dello scotch dei fogli nel formato A3 o A4.

Nel foglio andrà disegnato il profilo della spalla tenendo conto della dimensione dei pannelli e del monitor, aggiungendo a quest'ultimo un paio di centimetri per lato in modo da lasciare un piccolo spazio di manovra all'interno del cabinato.

Se alcune misure sono state calcolate in modo da consentire il posizionamento del monitor e dei pannelli, il tratto curvo che dal pannello comandi sale fino a quello audio dovrà essere disegnato a mano libera.

Nella foto si può vedere il modello in carta appoggiato al legno MDF da 16 mm, nell'appendice si trova il disegno con le misure, prima che fosse disegnato il contorno in matita ed eseguito il taglio con un seghetto alternativo.

Utilizzo del modello per la prima spalla

Come si può osservare nella foto la dimensione del pannello di legno è tale che è possibile ricavare anche la seconda spalla:

Taglio della seconda spalla

Affiancando le due spalle queste devono combaciare, se richiesto si potranno limare i bordi cercando di procedere in senso longitudinale, infatti l'MDF è molto delicato ed esercitando troppa forza c'è il rischio che si rovini:

Pareggio delle spalle con una lima

Una volta preparati i pannelli laterali si è provveduto avvitando alcuni listelli da 3 x 2 cm, necessari per fissare i pannelli che compongono il cabinet. La distanza di ogni listello dal bordo deve tener conto dello spessore del pannello che si andrà a posizionare.
Infine, in ogni spalla è stata praticata una fresatura da 6 mm che inizia indicativamente dal pannello dei comandi e finisce in quello audio, queste scanalature serviranno per incastrare una lastra di plexiglass utile a proteggere il monitor.

Spalle con listelli di fissaggio e scanalatura per incastrare il proteggi schermo

Pannello comandi

Questo pannello è l'interfaccia con cui il giocatore interagisce durante le sessioni di gioco, pertanto data la sua importanza sono state realizzate due versioni: un prototipo in cui sono stati usati dei pulsanti economici, in attesa di ricevere il kit arcade contenente un nuovo joystick e dei pulsanti colorati di dimensioni più generose, e quello definitivo.

Entrambi i pannelli devono essere abbastanza profondi per consentire al giocatore un comodo posizionamento delle mani durante l'utilizzo del joystick e dei seguenti pulsanti:
  • Pulsante A
  • Pulsante B
  • Pulsante X
  • Pulsante Y
  • Pulsante L/0
  • Pulsante R/0

Prototipo del pannello comandi

I pulsanti utilizzati nel prototipo, a dire il vero piuttosto economici se confrontati con gli arcade che si andranno ad utilizzare nella versione finale, avevano una lunghezza tale che una volta inseriti nel pannello non uscivano a sufficienza dalla parte opposta per essere bloccati con il bullone in dotazione.

Si è pertanto eseguita una fresatura di diametro maggiore sul lato opposto del pannello per un profondità di un centimetro circa in corrispondenza di ogni foro, come si può vedere in figura, in questo modo è stato possibile avvitare i pulsanti senza difficoltà.

Il joystick è stato posizionato sotto il pannello, quest'ultimo tuttavia avendo uno spessore di 16 mm impediva all'asticella di uscire a sufficienza, per ovviare a questo problema si è realizzata una scanalatura rettangolare sotto il pannello guadagnando in questo modo dei millimetri preziosi.


Parte inferiore del pannello prototipo

Siccome il fissaggio del joystick è stato eseguito con delle viti a vista, per nasconderle si poteva incollare sopra un pannello di plexiglass opportunamente dipinto nella facciata sottostante.

In figura si vedono le viti pronte per essere utilizzate per fissare il joystick tramite dei bulloncini:

Incavo per fissare il joystick

Affinché le viti non fossero di ostacolo durante la sessione di gioco sono stati usati degli svasatori, ovvero delle punte da trapano dotate di un supporto leggermente conico, queste entrando nel legno per qualche millimetro formano una scanalatura che "mangia" la testa della vite:

Set di svasatori

In figura il pannello ultimato: sono visibili i quattro fori nei quali sono state inserite le viti che bloccano il joystick nella sede definitiva:

Prototipo del pannello prima di essere dipinto di rosso

In figura il pannello posizionato nel cabinato:

Prototipo del pannello posizionato del cabinato

Come anticipato una soluzione per nascondere le viti è incollarvi del plexiglass, magari piegato in modo da farlo girare attorno al bordo; la piegatura potrebbe essere fatta con pistola ad aria calda.

Pannello comandi definitivo

Come si è detto fin dall'inizio si è cercato di evitare che le antiestetiche viti di fissaggio fossero visibili: per questa ragione il joystick è stato avvitato nella parte inferiore del pannello.
Tuttavia, come per il prototipo, così facendo l'asta rimaneva troppo incassata.
Si è rimediato con una fresatura da 8 mm in corrispondenza della parte d'appoggio del joystick, questa oltre a far guadagnare qualche millimetro lo ha bloccato nella posizione definitiva.

La fresa utilizzata è stata una Makita manovrabile con una sola mano, ideale per finiture e rifilatura di bordi:

Fresa a una mano

In seguito si è utilizzato un trapano e una fresa per legno da 24 mm circa per consentire all'asta del joystick di uscire dal pannello, facendo attenzione che il foro combaciasse con il centro dell'incavo.

Per gli alloggiamenti dei sei pulsanti sono stati realizzati dei fori con una fresa di dimensione sufficiente ad ospitarli, qualora questi fossero ancora troppo stretti si può provvede allargandoli con una lima facendo attenzione a non rovinarli!

Nella foto il pannello dipinto di giallo nella sua forma definitiva:

Pannello comandi definitivo


NB: nell'usare le frese da legno ricordatevi di forare dalla parte del MDF che andrà esposta, infatti capita che la punta uscendo stacchi un pezzo di legno rovinando il foro.

Le frese utilizzate per i fori sono come queste:

Fresa circolare (da trapano)


Il poco spessore a disposizione per le viti ha reso precario il fissaggio del joystick pertanto si è usata una staffa forata di metallo, delle viti per ferro e alcune bussole mordenti per bloccare il tutto.


Materiale per fissare il joystick

Per fissare le due staffe sono stati eseguiti quattro fori avendo l'accortezza di non trapassare il legno, quindi in ognuno si è aggiunta della colla vinilica e infine sono state avvitate delle bussole mordenti. Si è atteso mezza giornata affinché le bussole fossero ben aggrappate al legno quindi si è montato il joystick nell'alloggiamento avvitandolo con le viti in dotazione, quindi si sono posizionate le due staffe e si sono avvitate le quattro viti per ferro nelle bussole facendo attenzione a non forzare troppo.

Joystick fissato con le staffe di metallo


Nella seguente foto si possono vedere i pulsanti e il joytick posizionati sotto il pannello:

Dettaglio con i pulsanti e il joystick installati

In commercio si trovano diversi kit arcade adatti per essere utilizzati nella costruzione del pannello comandi, ad esempio quello utilizzato nella realizzazione del pannello definitivo era composto dai seguenti componenti:
  • Joystick arcade
  • Pulsanti arcade di colori differenti
  • Zero Delay Encoder
  • Cavo usb con cui connettere il Zero Delay a Raspberry
  • Cavetti per connettere l'encoder ai pulsanti e al joystick


Kit arcade


La superficie del pannello comandi che si dovrà fresare per alloggiarvi il joystick e la dimensione dei fori in cui andranno inseriti i pulsanti dovranno essere calcolati in funzione del kit acquistato.

Ad esempio, in figura si può vedere le dimensioni del joystick utilizzato: 


Joystick arcade

Questa volta i pulsanti disponibili nel kit erano abbastanza lunghi da uscire dal pannello a sufficienza per essere avvitati con l'apposita ghiera di plastica, ma non disponendo di una fresa con il diametro giusto è stato necessario allargare ogni foro con una lima facendo sempre attenzione a non esercitare troppa forza.
Una volta inserito il pulsante si è provveduto ad avvitare la ghiera in dotazione e subito dopo ad incastrare il microswitch rosso: 

Pulsante arcade

NB: la qualità dei pulsanti dipende molto dai microswitch, infatti un loro uso intensivo può deteriorarli penalizzando la giocabilità.

Si era accennato al fatto che si volevano evitare le antiestetiche viti di fissaggio e che quindi il pannello si sarebbe unito al cabinato con del velcro e delle spine da legno.
Le quattro spine utilizzate per impedire movimenti accidentali del pannello sono state incollate da un solo lato, mentre il lato opposto è stato incastrato nei fori presenti nei listelli senza usare nessun collante.
Alcune strisce di velcro ad asola sono state posizionate tramite l'adesivo in dotazione lungo i listelli e lungo il bordo del pannello dei pulsanti, mentre la strisce di velcro ad uncino sono state posizionate sotto il pannello comandi in corrispondenza del velcro ad asola.

Pannello con incollate delle strisce di velcro


L'assemblaggio del pannello è stato possibile facendo combaciare le spine di legno con i fori nei listelli, quindi esercitando una adeguata pressione si sono unite le parti di velcro tra loro.

Velcro 


In figura il pannello terminato e assemblato:

Pannello definitivo dipinto e installato


Pannello dei pulsanti

Questo pannello si trova sotto quello dei comandi e dispone di due pulsanti di colore rosso utilizzati in Mame, ad esempio, per aggiungere i crediti e per avviare i giochi:
  • Pulsante Select (crediti)
  • Pulsante Start (avvio)

Tuttavia, in seguito si è provveduto ad aggiungere ulteriori due pulsanti di colore nero per eventuali usi futuri, si veda il modulo Zero Delay più avanti.

E si è deciso di installare un doppio connettore USB al centro del pannello per evitare di dover aprire il vano posteriore ogni volta che era necessario collegare una tastiera e un mouse per configurare Recalbox oppure per connettervi un controller:

Doppio connettore USB

In figura il pannello finito e pitturato di nero:

Pannello pulsanti

Lo spessore di 16 mm del pannello non consentiva ai pulsanti e alla presa USB di uscire a sufficienza dalla parte opposta. Si è pertanto provveduto fresando la parte interna con una fresa circolare di diametro maggiore, facendo attenzione che fosse concentrica al foro.
Invece, l'assemblaggio del pannello sui listelli è stato possibile tramite una spina da legno per lato e della colla vinilica.

Pannello audio

Il pannello audio serve per ospitare due altoparlanti in modo da riprodurre il sonoro dei giochi.
Nel pannello sono stati praticati due fori con una fresa circolare da 35 mm seguendo lo schema nell'appendice e in seguito sono stati rifiniti con una fresa a raggio convesso come quella in figura:

fresa a raggio convesso

In figura si può vedere il pannello prima che fosse aggiunto l'interruttore utilizzato per interrompere l'alimentazione all'amplificatore audio:

Panello audio privo dell'interruttore


Un altro dettaglio non presente in figura è una scanalatura da 6 mm che corre a 10 mm dal lato lungo utilizzata per inserire il doppio plexiglass del marquee - nell'appendice si può trovare il disegno con le misure.

L'assemblaggio è stato eseguito usando due spine da legno per lato. La preparazione dei fori è stata eseguita usando inizialmente delle punte da trapano con gli arresti di profondità e in seguito i marcatori da legno. 


Fissaggio delle casse

La coppia di casse e l'amplificatore non richiedono una qualità audio eccezionale, pertanto possono essere recuperati da un kit audio non più utilizzato oppure si può acquistarne uno di fascia medio-bassa al costo di una decina di euro.

Per smontare il kit audio è stato utilizzato un cacciavite con il quale si sono svitate le apposite viti che tenevano unite l'involucro di plastica, quindi sono stati rimossi i due altoparlanti e si è scollegato l'amplificatore.

Casse di recupero


L'amplificatore è stato incollato a una basetta millefori con della colla a caldo, inoltre sono stati saldati dei connettori in modo da poter avvitare e svitare se necessario i cavetti audio e il cavo di alimentazione.

Basetta prima di collegare l'amplificatore


In figura l'amplificatore incollato nella basetta pronto per essere installato nel cabinato:

Amplificatore audio incollato in una basetta dotata di morsetti


Qualora si decida di tagliare il cavetto audio si dovrà fare molta attenzione nel saldare i fili in quanto questi sono solitamente  molto sottili e pertanto difficili da spellare.

In fase di collaudo si è constatato che il circuito dell'amplificatore era sempre accesso e il sonoro sempre attivo quando il cabinet era alimentato, quindi si è proceduto ad apportare una modifica dell'ultimo momento, ovvero aggiungere un interruttore di accensione vicino all'altoparlante destro.

Interruttore del pannello audio (sezione circolare)

Con un calibro si è presa le misura dell'interruttore di sezione circolare e si è forato il pannello con una fresa da legno, una volta inserito l'interruttore si sono modificati i collegamenti in modo tale da alimentare l'amplificatore solo quando l'interruttore era acceso.

La configurazione finale è stata eseguita con il jack audio collegato al Rasperry e regolando il volume al livello desiderato.


Condensatore

Quando veniva acceso e spento il sonoro si verificavano dei fastidiosi picchi di tensione che mandavano in blackout per alcuni secondi il Raspberry!

Il problema è stato risolto aggiungendo in parallelo ai morsetti di alimentazione dell'amplificatore un condensatore ceramico da 250 V e alcuni uF.

Condensatore avvitato ai morsetti di alimentazione (220V)


Affinché il modulo non fosse di intralcio durante lo smontaggio e rimontaggio dei componenti del cabinet, in particolare del monitor, si è deciso di avvitarlo in alto all'interno della spalla destra:


Amplificatore audio avvitato al cabinato.

Schermo video

Lo schermo video utilizzato è stata una vecchia TV LCD da 14'' con un rapporto dello schermo 4:3 messa da parte per l'occasione, questa si è rivelata perfetta per limitare la dimensione del case oltre che avere un ratio compatibile con quello dei giochi arcade vintage.

Siccome la TV aveva una sola porta VGA, mentre Raspberry dispone di una porta d'uscita video HDMI, è stato necessario acquistare un adattatore HDMI -> VGA come in figura:

Adattatore HDMI -> VGA


Proteggi schermo

Il proteggi schermo è una lastra di plexiglass alla quale è stato dipinto il bordo con del colore nero.
La sua funzione è di proteggere lo schermo dagli urti e nascondere l'antiestetica cornice del video.
Questa lastra va incastrata nelle scanalature nelle spalle facendo una lieve pressione al centro, inoltre deve avere uno spessore al pari di un vetro, ma non troppo affinché sia possibile fletterla di qualche centimetro: uno spessore di 5 millimetri è stato un valido compromesso.

Il bordo da colorare è stato identificato avvitando il monitor alle staffe di supporto, come vedremo in seguito, quindi si è coperta l'intera superficie centrale del plexiglass con del nastro adesivo di carta lasciando scoperta la sola cornice da dipingere. Infine, smontato il plexiglass si è dipinta la superficie non coperta dal nastro adesivo con dello spray nero lucido.

Proteggi schermo finito

Una volta che il colore si è asciugato si è rimosso il nastro adesivo togliendo i residui con del cotone e un po' di alcol. 

NB: quest'ultima operazione  deve essere fatta con cautela in quanto il plexiglass tende a graffiarsi molto facilmente, quindi non usate panni per i vetri perché potrebbero essere leggermente abrasivi!

Proteggi schermo pronto per essere installato

Il proteggi schermo inserito nel cabinet:

Proteggi schermo installato nel cabinet

Fissaggio dello schermo

Il monitor è stato agganciato all'interno del cabinet tramite una staffa di legno MDF spessa 10 mm, lunga 40 cm e larga 10 cm. Questa staffa si è prima avvitata al monitor utilizzando le quattro viti sul retro predisposte per ancorarlo al muro e in seguito si è fissata ai due supporti all'interno del cabinet.

Affinché fosse possibile rimuovere il monitor in ogni momento, nei due supporti lunghi all'incirca un decina di centimetri sono state inserite delle bussole mordenti.

Schermo appeso all'interno del cabinet tramite i supporti avvitati alle due spalle


Siccome la posizione dei due supporti determinano l'inclinazione del monitor, la sua distanza dal pannello dei comandi e da quello audio, per calcolare il punto esatto è stato incastrando il proteggi schermo nelle scanalature presenti nelle spalle, rovesciato il cabinet, vi si è adagiato sopra il monitor con la staffa avvitata e si sono segnati con una matita i punti dove avvitare i due supporti alle spalle.


Staffa di legno utilizzata per fissare il monitor all'interno del cabinet


Una volta avvitati i due supporti alle spalle si è constato che era impossibile far passare il monitor all'interno del cabinet, pertanto affinché fosse possibile sfilare il monitor dalla sua sede si è provveduto a creare delle scanalature nei due profili utilizzati per avvitare il pannello superiore. 

Scanalature nei profili usate per estrarre il monitor

Marquee

Nella parte compresa tra il pannello audio e quello superiore si trova un un disegno solitamente retroilluminato.
Questo disegno è stato realizzato al computer e poi stampato a colori su un foglio A3 tramite una stampante a colori.

Disegni del marquee stampati su un foglio A3


Si è provveduto a ritagliare l'immagine e a inserirla tra le due lastre di plexiglass di pochi millimetri:

Stampa a colori inserita tra due lastre di plexiglass


Nella seguente immagine il plexiglass incastrato nella scanalatura presente nel pannello audio:

Marquee inserito della scanalatura del pannello audio


In alternativa per la realizzazione del marquee ci si può affidare a delle ditte specializzate che su commissione lo stampano sul del materiale trasparente (plexiglass).


Illuminazione

L'illuminazione è stata possibile tramite una striscia led da un metro acquistabile nei centri di bricolage a pochi euro e poi incollata con l'adesivo in dotazione in un supporto di legno dipinto con uno spray argento e avvitato sul pannello audio con delle staffe di metallo a L, avendo l'accortezza che la striscia led passasse davanti gli altoparlanti per evitare antiestetiche zone d'ombra.


Strisce led incollate sul supporto dipinto di argento avvitato sul pannello audio

In figura si possono vedere gli altoparlanti avvitati al pannello audio, l'interruttore utilizzato per accendere e spegnere il sonoro e la striscia led incollata dietro e davanti gli altoparlanti.

Vista dall'alto


Pannello posteriore

Questo pannello è composto da due parti:
  • pannello fisso: installa una presa di alimentazione, l'alloggiamento di un fusibile e un interruttore.
  • pannello mobile: avvitato al cabinet con delle viti da ferro a delle bussole mordenti.

Pannello posteriore


Nella seguente figura si può vedere lo spinotto avvitato al pannello fisso:

Spinotto per l'alimentazione


Nella scelta dello spinotto si deve tenere conto dell'amperaggio complessivo richiesto dal cabinet, ad esempio, lo spinotto in figura da specifiche supporta 10A e 250V AC sufficiente per i nostri scopi.
Inoltre, dispone di un'interruttore e un alloggiamento per un fusibile (2 o 4 A).

Spinotto 10A/250V AC

Lo spinotto permette di trasportare il cabinet senza avere l'ingombrante cavo perennemente collegato. Prima di accenderlo è sufficiente collegare un tipico cavo Schaffner C13 a 3 poli solitamente usato per alimentare computer desktop e monitor.

Cavo a tre poli

I dispositivi che necessitano di alimentazione sono:
  • Raspberry
  • Monitor
  • Amplificatore audio 
  • Striscia led del marquee

Pertanto si è avvitata una ciabatta con 4 prese sul fondo del cabinato e questa si è collegata allo spinotto. Quindi premendo l'interruttore è stato possibile accende il video, la striscia led del marquee e il Raspberry, mentre per il sonoro è necessario premere l'interruttore presente nel pannello audio.

Multipresa all'interno del cabinato

Pannello superiore

Questo pannello chiude il cabinet dall'alto e viene avvitato con delle viti da ferro alle bussole mordenti affinché sia possibile rimuoverlo in ogni momento.
Togliendolo è possibile estrarre lo schermo e accedere al pannello audio in cui sono avvitati i due altoparlanti, l'interruttore audio e la striscia led che illumina dall'interno il disegno del marquee.

Pannello superiore rimovibile

Affinché fosse possibile inserire il doppio plexiglass del marquee è stata praticata nella parte sottostante una scanalatura a 10 mm di distanza dal bordo con una fresa da 6 mm, speculare a quella eseguita sul pannello audio.

Vista del pannello superiore dal basso


Pittura

Ultimati tutti i pannelli si è provveduto a dipingerli, indecisi se usare una vernice a pennello o uno spray si è deciso per quest'ultimo confidando in un risultato più uniforme,

Seguono le parti dipinte:

  • Rosso ferrati: le facciate esterne delle spalle e il pannello superiore.
  • Nero: la parte interna e il bordo delle spalle, la pulsantiera, il pannello audio, il bordo e la parte sottostante del pannello superiore .
  • Giallo: il pannello comandi.

L'aver scelto diversi colori ha ovviamente complicato il tutto, ma l'estetica ne ha guadagnato.

Durante la pittura si dovrà tener conto della porosità del MDF, soprattutto in prossimità dei tagli. Infatti, sarà necessario eseguire più passaggi con il rischio di accumulare il colore in modo non uniforme. In questi casi è buona norma aspettare che il velo di colore si asciughi per bene prima di procedere a una seconda mano, come si potrà intuire questo allunga di molto i tempi.

Inizialmente si sono dipinte le parti in nero, coprendo con dello scotch di carta le zone non interessate. Una volta che il colore si è asciugato si è usato dell'altro scotch per coprire le zone dipinte in modo da procedere con la pittura delle altre parti con il rosso ferrari.

Ogni pannello è stato successivamente verniciato con della vernice per legno sia per proteggere il colore che il deterioramento del legno.

Vernice per legno


Il pannello comandi è stato dipinto due volte con lo spray giallo, quindi lo si è verniciato in due riprese successive, avendo sempre l'accortezza che l'ultimo strato si fosse asciugato.
Infine, per livellare le pennellate della vernice si è provveduto con un'ulteriore mano di colore che ha di fatto reso uniforme ed esteticamente gradevole il pannello.

Il bartop dipinto


Zero Delay Arcade

La scheda Zero Delay è un semplice encoder provvisto di una serie di connettori utilizzati per collegarvi il joystick e i pulsanti e di un'uscita USB da collegare al Raspberry.

Encoder Zero Delay

Nonostante il nome faccia presagire l'assenza di ritardi nella pressione dei pulsanti o durante il movimento del joystick, al contrario si dovrà tener conto che questa scheda non è esime da piccoli latenze nella risposta dei comandi.

Nella maggioranza dei giochi questi brevi ritardi non creano problemi di nota, ciò nonostante si dovrà ponderare se usare questa scheda a vantaggio della facilità con cui si interfaccia il pannello comandi al Raspberry o se collegarsi direttamente alle porte GPIO.

In figura lo schema di collegamento del zero delay con il pannello comandi:

Elenco connettori

In figura viene riportata la disposizione dei pulsanti utilizzata nel pannello dei comandi, ciò non toglie che si possa cambiare a piacimento il suo ordine:


Una possibile disposizione dei pulsanti


Nel pannello dei pulsanti abbiamo due pulsanti rossi: uno collegato al connettore "Select" dell'encoder e l'altro allo "Start", a questi si aggiungono due pulsanti neri per utilizzi futuri e una presa USB doppia.


Pulsantiera sotto il pannello dei comandi

Ad esempio, in Mame il pulsante Select viene utilizzato per aggiungere le monete (crediti) e il pulsante Start per avviare il gioco.


Configurazione di Recalbox

Una volta che il pannello comandi e la pulsantiera sono stati collegati al Raspberry tramite l'encoder si dovrà provvedere alla configurazione del joystick e dei singoli pulsanti.

I passi da seguire sono gli stessi descritti nella prima parte del tutorial "Configurazione dei controller" solo che questa volta andranno premuti i pulsanti del pannello comandi e della pulsantiera. 
Inoltre, per il tasto speciale HOTKEY è stata scelta la combinazione dei tasti Select e Start.

Completata la configurazione sarà possibile aprire il menu principale semplicemente premendo il tasto Start, navigarvi con il joystick ed utilizzare il tasto B per confermare la selezione e il tasto A per annullare.

In figura i giochi Mame caricati nella scheda di memoria:

Elenco giochi caricati in Mame


Selezionato un gioco è possibile aggiungerlo o toglierlo dai favoriti semplicemente premendo il tasto Y, oppure accedendo al menu OPTIONS tramite il tasto Select:

Menu di configurazione di un singolo gioco

Durante una partita con un gioco Mame è possibile ritornare all'elenco dei giochi premendo il tasto Hotkey, che come suggerito può essere abbinato alla combinazione dei tasti Select e Start.

Spegnere il cabinet

Prima di spegnere il cabinet utilizzando l'interruttore sul retro si dovrà uscire da Recalbox.
L'uscita è possibile dalla schermata iniziale, ovvero quella utilizzata per selezionare la console, semplicemente premendo Select. Altrimenti dal menu principale, accessibile premendo Start, selezionando l'ultima voce "QUIT" e premendo "B", quindi selezionando "SHUTDOWN SYSTEM" e confermando sempre con "B".
Se si cambia idea si può annullare semplicemente premendo il tasto "A".

Appendice

Nella seguente appendice vengono collezionati i disegni relativi alla costruzione del cabinato.

Disegni

Alcuni disegni e schemi usati per la costruzione delle parti in legno del cabinet.

Disegno del bartop arcade

Il seguente disegno riporta le misure delle spalle e dove si sono avvitati i profili in cui andranno fissati i pannelli:



Il pannello dei comandi presenta sei fori utilizzati per inserire i pulsanti e un foro in cui passare l'asta del joystick:

Pannello comandi


Il pannello dei pulsanti, che si trova sotto quello dei comandi, dispone di quattro fori per dei pulsanti (non arcade - più economici) e un foro per avvitare la presa doppia USB.

Pannello pulsanti

Il panello audio ha due fori per far passare il sonoro degli altoparlanti e uno più piccolo in cui inserire l'interruttore che accende e spegne l'amplificatore:

Pannello audio