Cabinato arcade fai da te. La guida completa per costruirlo

CABINATO ARCADE FAI DA TE

I videogame anni 80 direttamente a casa tua

Se hai vissuto anche tu negli anni 80 avrai sicuramente giocato almeno una volta con un cabinato arcade di quelli che si trovavano nelle sale giochi.

Spinto dalla nostalgia ho quindi deciso di costruire uno assieme agli amici di ATLab.

Se vuoi quindi rivivere quei divertentissimi momenti a casa tua, segui questa guida e riuscirai a replicarlo facilmente.

Se invece vuoi approfondire l’argomento ed eventualmente acquistare un cabinato arcade già completo, leggi quest’altro mio articolo.

MATERIALE NECESSARIO

cabinato arcade fai da te

INIZIAMO A PREPARARCI I PEZZI PER IL CABINATO ARCADE

Prima di tutto scarica e stampa il PDF in cui ho riportato i disegni con le quote di tutti i pezzi necessari che dovrai tagliare.

La prima operazione riguarda il taglio dei due fianchi.

Ho scelto di utilizzare del MDF perché in questo modo avrò la possibilità di incollare facilmente della grafiche al mio cabinato arcade.

Diciamo che questa è la parte più complessa della costruzione in quanto dovrai seguire un taglio curvo ma niente paura, aiutandoti con la sagoma che troverai allegata nel PDF tutto risulterà più facile.

Attenzione: dovrai stampare questa sagoma in scala 1:1 quindi controlla bene che la tua stampante sia stata correttamente impostata su scala 1:1.

Una volta incollati tutti assieme i vari disegni, otterrai la sagoma che ti permetterà di ritagliare perfettamente a misura i pannelli laterali del cabinato arcade.

Un’ulteriore verifica che ti permetterà di essere certo che la stampa è avvenuta in scala consiste nel controllare la corrispondenza delle misure dei fianchi rispetto a quelle riportate nel PDF, pertanto assicurati che lo siano non dico al millimetro ma che non sgarrino più di 3 millimetri.

Una volta eseguito il taglio del primo fianco con un seghetto alternativo, ed aver verificato la corrispondenza delle misure, potrai appoggiarlo sopra al secondo pezzo, segnarlo con la matita e tagliarlo.

Una volta realizzati i due fianchi potrai occuparti delle parti rettangolari che, essendo quasi tutte dritte, sono facili da tagliare con un semplice banco sega.

Ci sono solo due pezzi che richiedono un taglio inclinato del bordo,  ad ogni modo troverai nel PDF i dettagli che ti spiegano come procedere nel taglio e quali pezzi sono interessati.

LA BORDATURA DEI PEZZI

cabinato arcade fai da te 2

A questo punto hai completato il taglio di tutti i pezzi e dovrai eseguire la fresata dei bordi, operazione necessaria per poter applicare il bordo gomma utilizzando la colla a caldo.

Riguardo al bordo gomma ti dico che non è stato possibile reperirlo in Italia per cui ti metto un link dello stesso prodotto disponibile su amazon USA quindi, anche se lontano, potrai comunque acquistarlo.

Anche per questa fase troverai nel PDF i riferimenti alle  parti su cui dovrai lavorare.

Ti consiglio di eseguire la fresata come ho fatto io utilizzando cioè un banco fresa ma, nel caso non ne avessi la disponibilità, puoi acquistare un tipo di fresa come quella che ti indico nel PDF e procedere con una fresatrice a mano.

Nel caso in cui, per qualche motivo, non volessi realizzare la fresata, l’unica alternativa è quella di sostituire il bordo di gomma a T con questo tipo di bordo.

Quest’ultimo bordo ti consiglio di incollarlo con la colla neoprenica.

Per completare la preparazione dei pezzi devi eseguire anche la fresata che servirà per far scorrere la grafica in plexiglass che poi sarà illuminata dalla luce dei led.

LA GRAFICA DEL MIO CABINATO ARCADE FAI DA TE

Passiamo ora all’applicazione della grafica autoadesiva sull’MDF, si tratta di un’operazione semplicissima che però richiede un po’ di cura nell’esecuzione.

Ti anticipo già che è stata per me la spesa più grande.

Questo perché mi ero fissato a volerla personalizzata e di conseguenza l’ho fatta realizzare ad un cartonista per poi farla stampare ad una tipografia.

Se vuoi potrai risparmiare i soldi della personalizzazione e scaricare delle grafiche da google.

Inizia ad applicare la grafica sulla parte bassa del cabinato ossia sul frontale.

Puoi riconoscere facilmente il pezzo di MDF da usare perché, posizionandotelo di fronte, devi vedere il taglio inclinato verso di te.

Il pezzo relativo ai pulsanti andrà poggiato su questo e quindi risulterà inclinato verso di te.

Per prima cosa pulisci bene il piano di lavoro in modo da non andare a sporcare o lasciare residui di polvere tra la grafica ed il pezzo di MDF.

Per fare aderire perfettamente la grafica puoi aiutarti con due accessori: una spatola ed un taglierino.

La spatola deve essere di gomma oppure puoi usare una card qualsiasi, l’importante è che il materiale non vada a strisciare la grafica quindi mi raccomando di non impiegare spatole in metallo.

Ora, facendo una leggera pressione con i polpastrelli, cerca di centrare l’immagine sul pezzo di legno, una volta centrata la scritta aiutati con un paio di pezzetti di carta adesiva arrotolati su se stessi che andrai a posizionare al di sotto della grafica, questi ti aiuteranno a mantenere la grafica ferma al suo posto.

Ora puoi staccare il lembo dell’adesivo da uno dei due lati della grafica ed iniziare ad incollarne alcuni centimetri sull’MDF.

A questo punto puoi eliminare i due pezzetti di carta adesiva e, aiutandoti con la spatola inizia  a spingere in avanti l’adesivo che staccandosi permetterà alla grafica di incollarsi perfettamente all’MDF.

A questo punto rovescia il pezzo mettendo la grafica a contatto con la superficie (mi raccomando perfettamente liscia e pulita) e, usando il taglierino procedi all’eliminazione delle parti di adesivo in eccesso.

Ripeti la stessa operazione anche sui fianchi sempre assicurandoti di avere ben pulita la superficie su cui andrai a poggiare la grafica, a tale scopo la soluzione migliore è impiegare un panno leggermente umido in modo che la polvere vada ad attaccarsi su di esso, non dimenticare di passare il panno anche sulla grafica.

Così come hai fatto precedentemente ora devi incollare la grafica autoadesiva sul pezzo, anche qui puoi semplificarti il lavoro ricorrendo a due occhielli di carta adesiva che ti aiuteranno a tenere ferma la grafica appena posizionata.

Procedi con l’incollaggio della grafica aiutandoti con la spatola e ritagliando le parti in eccesso.

Ripeti le operazioni per il secondo fianco.

ASSEMBLIAMO TUTTI I PEZZI

Per realizzare questa parte è necessario prima di tutto appoggiare i fianchi con le grafiche su un piano di lavoro pulito e senza increspature per evitare che queste possano andare a rovinarle.

A differenza di come ho fatto nel video, ti consiglio di realizzare l’assemblaggio usando il sistema a lamelle, quindi senza l’utilizzo di viti esterne che poi richiederebbero di essere tappate con dello stucco e poi levigate con un procedimento più lungo.

Quindi procedi posizionando i fianchi in modo da segnare i pezzi e crearti delle lamelle su tutte le parti di giunzione della struttura.

Per realizzare le fresate che ospiteranno le lamelle devi ricorrere all’uso di una fresatrice orizzontale.

cabinato arcade fai da te 3

Con l’aiuto di una squadra e di una pinza mantieni la base in verticale perché dovrai posizionare tutti i vari pezzi sul fianco e segnare i punti dove andrai a fresare per inserire le lamelle che fungeranno da elementi di giunzione.

Sul pezzo destinato ai pulsanti devi fare un segno di riferimento che ti servirà per inserire un supporto in quanto, se hai visto bene il video, questa parte non viene agganciata ma solo appoggiata al supporto verticale, questo perché se per qualsiasi inconveniente avessimo necessità di intervenire sul cablaggio elettrico, potremo farlo semplicemente sollevando il pannello.

Una volta fresato un fianco puoi riportare i segni di riferimento nell’altro in modo da poter riprodurre la fresata alla stessa altezza.

Assembla le varie parti senza usare la colla perché prima dovrai verificare che sia tutto ok.

Ora puoi fissare i supporti laterali del pannello dei pulsanti prima con colla a caldo e poi con delle viti.

A questo punto la parte frontale è pronta ma, prima di procedere agli incollaggi definitivi, è preferibile preparare tutte le parti.

Ti passo un’ulteriore idea per rinforzare la struttura e cioè nelle parti in cui non ci sono le lamelle puoi fare dei fori a tasca in modo che, una volta che avrai posto sotto morsetto tutta la struttura, potrai inserirvi delle viti che aiuteranno le giunzioni a tenere tutto assieme ancora più saldamente.

E’ il momento di posizionare la parte superiore ed anche qui segna i punti di giunzione con le lamelle e poi ovviamente dei fori di supporto per le viti.

Prepara le giunzioni per il pezzo superiore e per quello inferiore che poi andranno a tenere la lastra stampata su plexiglass (per questo servivano le fresate di cui vi ho parlato prima) e per ultimo posiziona il monitor nello spazio che rimarrà al centro.

Circa il posizionamento non c’è la necessità di rispettare una misura esatta, sarà sufficiente rimanere vicino al bordo senza oltrepassarlo.

Se ti stai chiedendo perché non occorre rispettare precisamente una misura ecco la risposta: essenzialmente perché ci sono dei margini che consentono un certo gioco sulla fiancata, inoltre considera che sono comunque dei pezzi che rimangono internamente al fianco.

Personalmente io mi sono fermato a quasi 2 mm frontalmente ed a 1 mm nella parte superiore, distanza che poi si modificherà quando si andrà ad applicare il bordo sul fianco.

ASSEMBLIAMO IL MONITOR

cabinato arcade fai da te 4

Sappi che qualsiasi modello recupererai in giro troverai sempre dei sistemi di fissaggio diversi, di conseguenza ti consiglio un modo diverso per agganciare il monitor al pannello frontale, vediamo come procedere.

Poichè a noi occorre avvitarlo lateralmente sui piani del cabinato arcade, effettua dei fori a tasca che ti aiuteranno a fissare il pannello all’altezza giusta.

Considera però che in questo modo quando posizionerai il monitor non riuscirai più ad avvitare le viti nei fianchi.

Per aggirare il problema puoi realizzare dei piccoli listelli di supporto alti come la parte metallica del monitor, nel mio caso di 3 cm, e successivamente sopra a questi avvitare dei pezzi che sormonteranno il monitor.

In conclusione, dopo aver montato il pannello sul cabinato arcade potrai andare a posizionare il monitor ed avvitare dei ganci che lo terranno fisso, in questo modo non sarà avvitato ma sarà incastrato e bloccato e questa sarà sicuramente una valida soluzione.

In alternativa ai fori a tasca puoi usare delle placchette metalliche angolari e, una volta posizionato il pannello del monitor sui due fianchi, collocare il monitor che sarà poi bloccato con il sistema supporti più ganci che ho descritto prima.

Per fissare il pannello del monitor ti consiglio di bloccarlo prima provvisoriamente con un morsetto per poi poterlo avvitare comodamente.

Ora che il grosso della struttura è stato completato puoi smontare il tutto per procedere con l’incollaggio delle lamelle e riassemblare tutte le parti.

Avvita il monitor ed inizia a forare il pannello frontale per realizzare l’alloggio dei pulsanti usando il banco fresa oppure una fresa a tazza.

Prima di assemblare tutto il cabinato arcade ricorda che nel supporto posto sotto la scritta dovrai ricavare l’alloggiamento degli altoparlanti, anche questi ovviamente riciclati. Puoi realizzare i due fori con una punta a tazza.

LA PARTE ELETTRONICA by AT Lab

Finalmente un Cabinet per retro gaming che sfrutta appieno tutte le potenzialità offerte dalla piattaforma Raspberry Pi 3 e uno dei suoi punti di forza: la GPIO.

In questa parte, scritta da ATLab, troverete una guida completa su come poter utilizzare l’interfaccia GPIO come input diretto per i bottoni della plancia di gioco, che potrà ospitare ben due giocatori.

Potremmo utilizzare questo piccolo ma potente computer per creare un videogame anni 80 che ci regalerà un’esperienza di gioco veramente piacevole ed alternativa.

Inoltre la scheda, essendo provvista di Wi-Fi, permette una agevolata connettività con il mondo esterno e la possibilità di caricare i vari giochi in modo molto semplice.

Videogame anni 80

IL SISTEMA OPERATIVO

Il mondo dell’emulazione di retro console su Raspberry si basa tutto su un software base chiamato Libretro, che permette di eseguire molti giochi su piattaforme fisiche diverse: potrebbe addirittura funzionare su una pagina web!

Utilizzando questo programma come base di partenza è nato un progetto molto ambizioso chiamato RetroArch, che aggiunge un’interfaccia grafica molto leggera in grado di “girare” su hardware come Raspberry.

Fu così che nel febbraio del 2013 il progetto RetroPie vide il suo primo rilascio.

Negli anni successivi questa distribuzione è diventata un punto di riferimento per altri appassionati e così la community attorno al progetto è cresciuta rendendolo stabile e pieno di caratteristiche.

Anche RetroArch ne ha beneficiato e ha creato la sua versione ufficiale di sistema operativo chiamata Lakka.

Infatti Lakka riesce a sfruttare pienamente la potenza di RetroArch e fin dai primi momenti si nota subito la reattività del sistema operativo e la pulizia grafica.

Per questi motivi la scelta di quale sistema operativo usare è caduta su Lakka, che nonostante sia poco conosciuta e rilasciata da poco, presenta già tutte le caratteristiche che un amatore di retro console cerca.

Le potenzialità di questa distribuzione stanno nella semplicità d’uso e nella grafica: infatti Lakka presenta un design ispirato alle console Playstation, molto moderno e personalizzabile come si può notare qui sotto.

Lakka

Come extra, Lakka è basato su OpenElec, il che permette al sistema operativo di essere molto veloce e scattante fin dai primi istanti con dei tempi di avvio sotto i 10 secondi.

Lakka, come tutte le distro GNU/Linux, è open source e scaricabile liberamente dal sito dedicato: basterà scegliere la versione giusta per l’hardware scelto, nel nostro caso un Raspberry Pi 3.

Infatti Lakka supporta sia vari modelli di Raspberry che normali processori da PC.

I passaggi spiegati in questa guida sono stati realizzati solo su Lakka, ma almeno buona parte della prima metà sia compatibile con RetroPie.

SISTEMA OPERATIVO SU SD

Dopo aver scaricato l’immagine dal sito ufficiale della distribuzione scelta, non ci resta che decomprimerla e caricarla sulla schedina microSD.

(Abbiamo riscontrato un problema con questa versione, se si usa una tastiera nel menu di Lakka questa non funziona, l’ultima versione al link seguente risolve questo problema http://nightly.builds.lakka.tv/2018-05-26/RPi2.arm/Lakka-RPi2.arm-2.1-devel-20180526011358-r28186-gfd71b45.img.gz)

Questi passaggi sono molto comuni per qualsiasi installazione su sistemi Raspberry Pi, e per questo sono molto semplici e anche ben documentati online.

Un’ottima guida viene fornita direttamente dalla Raspberry foundation .

Noi consigliamo di scaricare il programma Etcher, selezionare il file .img contenuto del download di Lakka, scegliere la SD corretta e cliccare burn .

Una volta terminata la scrittura della SD possiamo inserirla nel Raspberry e avviare Lakka per la prima volta.

Al primo avvio potrebbe essere necessario attendere un po’ di tempo (anche in base alla dimensione della scheda SD) dato che Lakka espanderà la partizione dei dati utente a tutto lo spazio disponibile.

Finito il primo avvio e verificato che tutto funzioni normalmente possiamo procedere al setup delle GPIO.

Prima di procedere nel Main Menu in Informazioni e Network Information segnatevi l’indirizzo IP della macchina di eth0 (es 192.168.x.x), ci servirà in seguito per la connessione remota.

Prima di poter utilizzare il login remoto e anche alcune funzioni utili di Lakka bisogna attivare alcuni servizi.

Nelle impostazioni sotto servizi attiviamo sia la connessione SSH che SAMBA .

GPIO e Retrogame

Nel caso in cui non si voglia utilizzare un controller esterno per giocare dovremo sfruttare la GPIO , punto di forza delle schede Raspberry.

GPIO è l’acronimo di General Purpose Input Output, significa che questi pin possono essere utilizzati in modi diversi, perfetto per le nostre esigenze.

L’idea che dobbiamo sviluppare consiste nell’associare un pin GPIO ad un carattere della tastiera ed impostare i movimenti di Lakka con i tasti corrispondenti.

Ad esempio se vogliamo che il movimento “DESTRA” del giocatore 1 sia la lettera “D”, dovremo mappare un pin GPIO a questo carattere “D” equivalente ad un input di tastiera.

Per fare questo useremo il software Retrogame, creato da Adafruit .

Tale software ci permette di associare un input su un pin GPIO ad una pressione di un qualsiasi pulsante della tastiera.

Retrogame è sviluppato in linguaggio C e sfrutta le librerie di sistema per avere la minore latenza possibile e per integrarsi in maniera trasparente con il sistema.

L’interfaccia General Purpose Input Output è collegata direttamente al processore Broadcom ed è composta da un hardware molto avanzato e versatile.

In particolare i pin GPIO prevedono delle resistenze di pull-up e pull-down , come è possibile osservare in figura.

Così facendo ridurremo l’elettronica esterna a zero collegando direttamente gli interruttori dei vari pulsanti presenti sulla plancia di gioco ai pin del Raspberry, facendo un cortocircuito verso massa quando il pulsante viene premuto.

ATLab

Purtroppo i comandi per l’installazione di Retrogame suggeriti dalla guida ufficiale non funzioneranno in Lakka, poichè lo script bash “retrograme.sh” utilizza dei costrutti avanzati di bash non presenti su sh, unica shell presente su Lakka.

Per questo abbiamo reso i passaggi da seguire molto semplici e verranno qui presentati in maniera chiara e completa.

Sulla nostra pagina GitHub è presente il file da scaricare contenente tutti i file necessari.

Nota: Purtroppo OpenElec, e di conseguenza Lakka, monta la partizione di sistema in sola lettura e non ci sarà possibile copiare il file all’interno delle classiche cartelle per gli eseguibili di sistema rompendo lo standard LDS (Linux Directory Structure). Possiamo aggirare questo problema specificando il percorso completo del file.

Prima di iniziare vorremmo spendere due parole su come i comandi vengono esposti e come potremo collegarci al Raspberry in remoto.

Ogni comando che va lanciato è sempre preceduto dal carattere $, ma non va copiato, è solo un modo per distinguere un comando da un file.

Esistono poi diversi modi per collegarsi da remoto al Raspberry, per Windows avremo bisogno del programma Putty, mentre per mac OS e Linux il supporto è nativo e basterà il terminale.

In entrambi i casi sarà necessario specificare l’indirizzo IP della macchina (guardate la fine della sezione Sistema Operativo e SD oppure nella pagina del modem router), il nome utente e password che sono entrambi “root”.

Con Putty nella sezione “Sessione” dobbiamo inserire l’IP e la porta 22 mentre su macOS e Linux da terminale usando il comando sotto sostituendo alle x il numero:

$ ssh root@192.168.x.x

Nota: Consigliamo vivamente di cambiare la password con il comando “passwd”.

Iniziamo effettuando il login da remoto tramite SSH e scaricando il progetto che ci sarà fondamentale.

$ ssh root@192.168.x.x
$ wget 'https://github.com/AT-Lab/arcade-box-retrogame/archive/v1.2.tar.gz' $ tar -zxvf v1.2.tar.gz
$ cd arcade-box-retrogame-1.2 && ls

Dopo questi comandi si dovrebbe vedere che è stata creata una cartella chiamata arcade-box-retrogame-1.2, dentro la quale sono presenti tutti i file necessari.

Dentro la cartella è presente anche un file chiamato install.sh che colloca tutti i file necessari ed esegue i comandi presentati in questa guida.

$ chmod u+x install.sh $ ./install.sh

Alla fine vi sarà richiesto di riavviare, premete y e al successivo riavvio il sistema sarà pronto.

La parte pratica è terminata e ora siete pronti a utilizzare il vostro Raspberry e la sua GPIO all’interno del vostro Cabinato Arcade.

Tuttavia, di seguito, viene riportata una spiegazione di che cosa è stato modificato per far in modo che il programma ed il sistema operativo funzionino correttamente.

Il programma retrogame crea degli interrupt per ogni GPIO ed ogni volta che il bottone viene premuto simula la pressione di un tasto della tastiera.

Il programma all’avvio cerca un file inesistente di configurazione nella directory /boot/retrogame.cfg che, purtroppo per noi, risulta anch’essa read-only.

È fondamentale al momento del lancio di Retrogame specificare il percorso completo dove si trova il file di configurazione retrogame.cfg

Questo file permette all’utente di scegliere quali GPIO assegnare a quali pulsanti della tastiera con una sintassi molto semplice e immediata.

Potete modificare questo file in base alle vostre esigenze, ma bisogna fare attenzione a riportare gli stessi caratteri nelle impostazioni di Lakka. Potete usare il file di esempio che abbiamo usato noi.

# User 1
LEFT 10 RIGHT 22 UP 23 DOWN 27 X 4 Z 25 S 11 A 5 Q 2 W 3 RIGHTSHIFT 16 ENTER 26

# User
I 6
K 7
J 8#up

L 9 V 12 C 13 F 17

  1. D  18
  2. E  19

R 20 LEFTSHIFT 21 CAPSLOCK 24

# down
# ‘A’ button
# ‘B’ button
# ‘X’ button
# ‘Y’ button
# ‘Left trigger’ # ‘Right trigger’ # ‘Select’ button # ‘Start’ button

# left
# right
#up
# down
# ‘A’ button
# ‘B’ button
# ‘X’ button
# ‘Y’ button
# ‘Left trigger’ # ‘Right trigger’ # ‘Select’ button # ‘Start’ button

# left # right

La sintassi del file di configurazione è molto semplice ed efficace, sulla colonna di sinistra ci sono i pulsanti della tastiera come specificato nel file header del kernel di Linux input- event-codes.h , mentre sulla destra il nome del pin GPIO (da notare che il numero non si riferisce alla posizione del pin, ma proprio al nome della GPIO, ad esempio 10 è la porta GPIO10).

Bisogna prestare molta attenzione ai collegamenti fatti fra gli switch e la piedinatura del Raspberry e tenere la stessa configurazione.

E’ infatti possibile modificare i collegamenti sull’adattatore o modificare questo file di configurazione, ma la cosa importante è che non si utilizzino i pin del Raspberry che non sono utilizzabili come ingressi (ad esempio i pin seriali GPIO14 e GPIO15).

collegamenti cabinato arcade fai da te

L’ultimo passaggio necessario per far funzionare Retrogame sarà quello di impostare una regola UDEV necessaria per creare un dispositivo virtuale, che realizza il vero e proprio link fra GPIO e input di una tastiera. Per questo dobbiamo creare un nuovo file e incollare la seguente stringa.

$ nano /etc/udev/rules.d/10-retrogame.rules
$ SUBSYSTEM=="input", ATTRS{name}=="retrogame", ENV{ID_INPUT_KEYBOAR D}="1"

A questo punto possiamo riavviare la macchina con il comando “sudo reboot” e all’avvio possiamo verificare che la configurazione funzioni, facendo partire il programma da linea di comando, ricordandoci come specificato precedentemente di specificare la posizione del file di configurazione.

$ /storage/retrogame /storage/retrogame.cfg

Per eseguire i primi test, è possibile usare i bottoni del cabinato arcade collegando un terminale verso il GND del Raspberry mentre il secondo al pin GPIO che si vuole testare.

Oppure montare alcuni switch su di una breadboard e collegarli direttamente ai pin GPIO scelti.

Nel caso di un corretto funzionamento potremmo osservare sulla console di output che tutti i pulsanti premuti vengono riconosciuti correttamente.

Terminato anche questo ultimo passaggio è ora di configurare Lakka per impostare i tasti scelti di ogni giocatore.

Per questo passaggio è necessario avere una tastiera USB ed uno schermo collegati al Raspberry Pi.

Dall’interfaccia grafica di Lakka basterà andare nelle impostazioni nella sezione dedicata agli input e mappare i due giocatori con i corrispettivi tasti scelti in precedenza.

Una volta finito questo passaggio possiamo assicurarci che i bottoni collegati alle GPIO siano corretti e che sia possibile muoversi correttamente fra i menu sfruttando gli switch da breadboard.

Avviare Retrogame al boot

Come qualcuno avrà notato, Retrogame in questo momento deve essere lanciato manualmente e tiene occupata la shell. Lakka usa systemd, programma molto complesso che serve per gestire tutti i servizi e il loro l’avvio, rendendo più semplice la gestione dei servizi stessi. Per poter far funzionare Retrogame all’accensione del Raspberry Pi dobbiamo creare la nostra unità personalizzata e avvertire systemd che questa partirà in background ad ogni avvio.

Apriamo il file interessato

nano .config/systemd/retrogame.service

e scriviamo queste righe.

# systemd service per far partire il gestore dei bottoni tramite GPIO all'avvio
[Unit]
# nome del programma

Description=retrogame
# eseguito quando l'interfaccia di retroarch è diventata attiva After=retroarch.target
[Service]
Type=simple
ExecStart=/storage/retrogame /storage/retrogame.cfg.6button

[Install] WantedBy=default.target

Il file permette a systemd di capire come gestire il nostro servizio, ed in particolare abbiamo specificato di farlo partire appena viene caricato retroarch.target, cioè dopo che l’interfaccia di Lakka sia stata avviata.

E’ importante verificare i nomi del programma e dei file di configurazione per assicurarsi che siano posizionati correttamente, altrimenti l’intero processo non funzionerà.

Salvato il file e usciti da nano con ctrl-x possiamo far partire l’unità manualmente per verificare che tutto funzioni.

$ systemctl start retrogame.service

E impostare questo processo che parta in fase di boot.

$ systemctl enable retrogame.service

Impostare l’ora italiana

Si tratta di un solo comando molto semplice, che serve per avvertire Lakka del fuso orario italiano: d’ora in poi l’ora sarà corretta in quanto viene sincronizzata con Internet.

$ echo "TIMEZONE=Europe/Rome" > /storage/.cache/timezone

Controllare Lakka senza tastiera

L’interfaccia di default di Lakka è pensata per poter essere usata con una tastiera, per questo risulta impossibile da usare con i bottoni del cabinet.

Ad esempio per uscire dai complessi sotto menu bisogna usare il tasto backspace, non assegnato a nessun bottone della plancia.

Per risolvere questo problema Lakka ha un’opzione chiamata “Unified Menu controls”, attivabile attraverso le impostazioni avanzate, sotto l’opzione input.

Questo ci consente di usare un tasto diverso come B come tasto indietro.

Basterà attivare questa opzione per poter usare appieno l’interfaccia di Lakka con solo i bottoni della plancia evitando di dover avere sempre una tastiera fisicamente attaccata al Raspberry Pi.

Senza cavi Ethernet!

In questo progetto stiamo utilizzando un Raspberry Pi 3 che risulterebbe sprecato non sfruttarne appieno alcune delle sue caratteristiche principali, tra cui il Wi-Fi integrato . Lakka offre pieno supporto a questa ultima revisione del Raspberry Pi, per cui troviamo l’opzione per la connessione ad una rete Wi-Fi direttamente nel menu principale.

Volendo, si potrebbe configurare la rete wireless anche tramite SSH, facilitando l’inserimento di lunghe chiavi d’accesso potendo copiarle ed incollarle direttamente dal proprio PC.

La distro Lakka prevede l’integrazione di Connman, un’utility molto usata per gestire le connessioni di questo tipo che è ben documentata a questo link .

I benefici della rete wireless sono molteplici, in particolare farà in modo che non ci sia bisogno di ulteriori cavi da portare al cabinet e poterlo posizionare dovunque vogliate nella vostra casa!

Caricare le ROM

Come molte altre distro per il retrogaming Lakka prevede un Server Samba integrato, rendendo semplicissimo il caricamento delle ROM dopo aver effettuato la connessione alla rete locale.

Appena concluso l’avvio del sistema operativo infatti, potremmo trovare sul nostro pc nelle cartelle di rete il Raspberry Pi.

In questa cartella possiamo inserire tutte le ROM dei giochi che vogliamo emulare.

Non è nemmeno necessario organizzarle per console dato che Lakka ordina i file automaticamente.

Usare il cavo jack per l’audio

In questa sezione vediamo come forzare l’uscita audio tramite porta jack.

Questo potrebbe risultare opzionale se si possiede un monitor HDMI con le casse interne, ma per un cabinet come quello che stiamo costruendo è essenziale, in quanto ci permette di usare due altoparlanti esterni e un vecchio monitor sprovvisto di audio.

Di base il Raspberry Pi userebbe la porta HDMI come uscita audio per questo sarà necessario informarlo ad ogni avvio di utilizzare la porta jack.

Come per l’utility dei bottoni useremo systemd eseguendo il comando amixer il quale cambierà le impostazioni di ALSA, il gestore audio di default per Lakka e la maggior parte dei sistemi Linux.

# systemd service per far uscire l'audio attraverso il cavo jack
[Unit]
# nome del programma
Description=jack-audio
# eseguito quando l'interfaccia di retroarch è diventata attiva After=retroarch.target

[Service]
Type=simple
ExecStart=/usr/bin/amixer cset numid=3 1

[Install] WantedBy=default.target

Conclusioni

Come abbiamo già detto in precedenza, questa guida è stata pensata e realizzata per Lakka quindi se volete cimentarvi con RetroPie o altre distro simili dovreste un po’ adattare questa guida alle vostre esigenze.

Il programma Retrogame scaricato dalla nostra pagina GitHub e il file di configurazione dovrebbero funzionare su praticamente tutte le distro Linux, bisogna fare attenzione ai pin GPIO che siano presenti e che siano riconoscibili dal sistema operativo stesso.

Il secondo grande ostacolo è riuscire ad eseguire in automatico questo programma all’avvio, per questo dovete assicurarvi che sia presente systemd provando attraverso la connessione SSH a lanciare proprio il comando “systemd” .

Se questo dovesse risultare assente, allora systemd non è presente. Consigliamo di controllare c rontab e usare la sua funzione @reboot.

Grazie per aver seguito fino in fondo questa guida, speriamo l’abbiate trovata utile, efficace e interessante da leggere.

SCARICA I 2 PDF PER COSTRUIRE IL TUO CABINATO ARCADE

Ti è piaciuto l'articolo? Condividilo

14 Comments

  1. Claudio Ricciardi

    Per quanto riguarda le grafiche sono bellissime a me piacciono.
    Vi faccio i miei migliori complimenti per il video, e per il lavoro che avete fato siete il massimo.
    Complimenti vivissimi

  2. Perusini Paolo

    Ciao,
    bel progetto complimenti. Avrei bisogno di un suggerimento per quanto riguarda le ROM….dove si possono trovare ROM come Metal Slug compatibili? Ho trovato dei pack che lakka riconosce senza problemi ma altre (specie del NEO – GEO) che proprio non funzionano.
    Grazie

  3. davide

    concordo lavoro molto ben riuscito… io sto provando a fare il mio in una versione un po più grande…diciamo un 700x700x1750. Per quanto riguarda il sistema operativo volevo anche io utilizzare lakka. ma sto avendo qualche problema con le rom e i bios…per caso esiste già una cartella con i file compatibili? grazie!

  4. Perusini Paolo

    Per AT-Lab:
    Ho riscontrato un problema con gli input Gpio. Ho scoperto che NON tutti gli input della mappa suggerita sono abilitate con pull up. Ho provato ad aggiungere librerie esterne per poter modificare l’abilitazione del pull up sulle porte con comando da console e anche con script python…. Purtroppo senza successo… Sembra che i comandi non siano compatibili con questa release di OS. Ovviamente si può risolvere con dei pull up esterni ma è più scomodo. Idee su come fare per abilitare i pull up interni su questa versione di OS?

  5. Damiano

    Progetto bello e stimolante, complimenti, indubbiamente la miglior guida italiana; ho alcuni dubbi dovuti alla mia scarsa praticità con il saldatore, proverò a migliorare 😀 , un altro dubbio è sul cavo piatto di interfacciamento con GPIO, vorrei usarne uno lungo come il Vostro, molto comodo, ma su internet si trovano cavi di soli 20 cm, dove posso trovarne uno identico ?

    Grazie ragazzi.

  6. Damiano

    Ciao Ragazzi, dopo aver sbattuto un po la testa sono riuscito a installare Retrogame tramite il Vostro script install.sh, rispetto la guida c’è un percorso errato ( /storage/retrogame /storage/retrogame.cfg ) che ho corretto studiando il Vostro script ( /storage/.bin/retrogame /storage/.bin/retrogame.cfg ), se volete vi sentitizzo i passaggi qui sotto :

    Comandi installazione ADAFRUIT Retrogame per GPIO su LAKKA :

    Abilitarare il wifi sul menu di lakka attivando i servizi SSH e SAMBA.

    Verificare l’ip assegnato su ->> Main Menu in Informazioni e Network Information

    – ssh root@192.168.x.x
    Password di default ‘root’

    – wget ‘https://github.com/AT-Lab/arcade-box-retrogame/archive/v1.2.tar.gz’

    – tar -zxvf v1.2.tar.gz

    – cd arcade-box-retrogame-1.2

    – ls

    – chmod u+x install.sh

    – ./install.sh

    – Dovrebbe essere già creato e correttamente valorizzato, ma comunque verificare che il file :

    nano /etc/udev/rules.d/10-retrogame.rules

    abbia la stringa :

    SUBSYSTEM==”input”, ATTRS{name}==”retrogame”, ENV{ID_INPUT_KEYBOARD}=”1″

    – A questo punto si può lanciare a mano il programma RETROGAME per fare i test dei pulsanti :

    /storage/.bin/retrogame /storage/.bin/retrogame.cfg

    Avviare Retrogame al boot di Lakka come servizio :

    – nano .config/systemd/retrogame.service

    Scriviamo queste righe :

    # systemd service per far partire il gestore dei bottoni tramite GPIO all’avvio
    [Unit]
    # nome del programma

    Description=retrogame
    # eseguito quando l’interfaccia di retroarch è diventata attiva After=retroarch.target
    [Service]
    Type=simple
    ExecStart=/storage/.bin/retrogame /storage/.bin/retrogame.cfg.6button

    [Install] WantedBy=default.target

    Salvare con ctrl + O

    Godetevi il vostro cabinet 😀

  7. Damiano

    Scusate, c’è un altro percorso errato che ho dimenticato di segnalare :

    sulla guida per verificare il file retrogame.service è indicato :

    config/systemd/retrogame.service — ERRATO

    .config/system.d/retrogame.service — CORRETTO

    infine nel file retrogame.service il percorso corretto è :

    [Service]
    Type=simple
    ExecStart=/storage/.bin/retrogame /storage/.bin/retrogame.cfg

    1. Orlando

      ciao,
      io ho qualche problema con la gpio….poresti aiutarmi?

  8. Giovanni

    Ciao Mattley, complimenti per il progetto, guardando il video ho notato che anche il pannello di controllo richiede un taglio angolare o mi sbaglio….
    Grz

  9. Diego

    Da quello che ho visto la guida sembra fatta bene e l’idea potrebbe essere molto interessante come progetto da realizzare. Ho un solo dubbio, Guardando i PDF scaricati con le misure, non mi torna qualche dato. Ad esempio i tagli inclinati sono riportati (con l’angolo di taglio e le misure definitive) solo per due pezzi, ma per il disegno generale in teoria dovrebbero erre 4 pezzi. anche il Taglio a 5° non mi torna, sul disegno generale le inclinazioni sono 12.5°, 26.25°, 32° e 33°. forse sto sbagliando io a leggere. Altra cosa non trovo chiaro dove effettuare la fresatura per l’applicazione della gomma…
    Qualcuno mi può aiutare?

  10. Roberto

    Ciao. Volevo sapere di che dimensioni è il monitor che avete usato. Grazie

  11. Sam

    Non trovo i PDF del primo punto

    Prima di tutto scarica e stampa il PDF in cui ho riportato i disegni con le quote di tutti i pezzi necessari che dovrai tagliare.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

NOVITÀ: CORSI START

Scegli la materia che vuoi apprendere e parti dalle basi: falegnameria, saldatura, stampa 3D, progettazione, resine, cemento, CNC per falegnameria e Arduino.

PROGETTI DA SCARICARE

OFFERTE PER ARTIGIANI

Ogni giorno all’interno dei miei canali Telegram e Whatsapp condivido offerte e occasioni per acquistare tutto quello che ti serve per il tuo artigianato digitale.

Costruire le proprie idee, guadagnare online e vivere della propria passione

Iscriviti alla newsletter e scarica il mio PDF gratuito su come guadagnare online con il fai da te e l'artigianato digitale