Innehållsförteckning:
- Steg 1: Design
- Steg 2: Träverktyg och material
- Steg 3: Kontrollmodulkonstruktion
- Steg 4: Elektronikverktyg och material
- Steg 5: Anslutning av styrmodul
- Steg 6: Kontrollkod
- Steg 7: Installation av hallon PI
- Steg 8: Displaymodulkonstruktion
- Steg 9: Slutför
- Steg 10: Displaykomponenter
- Steg 11: Kabeldisplaymodul
- Steg 12: Slutsamling och tankar
Video: Modulär arkadmaskin: 12 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Mina två pojkar och jag ville bygga en arkadmaskin men vi kunde inte bestämma vilken typ vi skulle bygga mellan ett komplett stativskåp, en bar-top eller en fight-stick-konsol för att ansluta till en TV. Till slut kom det upp för oss att vi kunde bygga alla tre som en modulär lösning med moduler som kan användas individuellt eller kombineras efter önskemål.
På grund av den enkla designen och komponentvalet är detta också en ganska billig byggnad jämfört med många hemmabasade arkadmaskinprojekt och du borde kunna uppnå för under 200 €/$ i material. Jag hade redan det mesta av träbearbetningsmaterial och elektronik runt omkring så jag har hittills spenderat mindre än 100 €.
Steg 1: Design
Det grundläggande designkonceptet är ett arkadsystem med två spelare som består av en uppsättning oberoende moduler som var och en har en viss individuell funktion och som också kompletterar varandra när de skruvas ihop.
- Kontrollmodulen innehåller alla kontroller och kontrollelektronik inklusive USB -kontrollerna. Denna modul kan användas som en fight stick -stilkontroll ansluten till en konsol eller Raspberry PI.
- Displaymodulen rymmer displayen och Raspberry PI (eller ditt val av SBC) och kan användas fristående som en "allt-i-ett" -dator eller ansluten till kontrollmodulen för att bilda en bartop-arkadenhet.
- Stativmodulen fungerar som en lagringsenhet i fristående läge och bildar i kombination med bartop en komplett stand-up arkadmaskin.
Vi försökte hålla designen så enkel och funktionell som möjligt genom att ta några designpekar från 70- och 80 -talets vintage - bordsskivor - spel och undvika icke -funktionella element som upplyst tält och T -formning som finns i många skåp. Naturligtvis kan du ändra designen för att lägga till dessa element om så önskas.
Jag bestämde mig för en ganska klassisk knapplayout som jag tycktes komma ihåg från min ungdoms arkader med ett "rakt sex" knappkluster bredvid var och en av styrspakarna (StreetFighter2 FTW). Jag placerade Start- och Select -knapparna på frontpanelen för att tillgodose konsolemulering samt myntinmatning och pliktval. Jag placerade också en knapp på varje sida för flipperspel. Naturligtvis är du fri att ändra designen efter din egen smak och önskade inmatningsmetoder t.ex. styrbollar. viktade snurrare etc.
Jag gjorde en inledande grov konceptskiss av bar -top -enheten på papper och återskapade sedan skalkorrigerade modeller i SketchUp - se de bifogade filerna för var och en av modulerna och kombinationerna.
Jag baserade måtten kring en 19 -tums widescreen -skärm som jag köpte begagnat för € 10. Detta resulterade i en total skåpbredd på 500 mm och lämnade cirka 30 mm spel om jag skulle behöva byta bildskärm.
Kontrollera SketchUp -filerna för exakta mått på alla dimensioner. När jag skar en specifik panel eller ett hål använde jag måttverktyget i SketchUp för att mäta dimensionen i modellen innan markeringarna på byggmaterialet markerades.
Steg 2: Träverktyg och material
VARNING: ANVÄND FÖRSIKTIGHET OCH LÄMPLIG SÄKERHETSUTRUSTNING NÄR Driftsverktyg används
Verktyg
- Skruvmejsel och skruvar
- Bords- eller cirkelsåg
- Kontursåg
- Borra och diverse bitar inklusive 28 mm hålsåg för knapparna
- Sandpapper
- Router och rundande hörnbit
Material
- 19 mm (3/4 ") MDF -ark
- 6 mm (3/4 ") MDF -ark
- Vinkelfästen (jag använde några riktigt praktiska plast - se konstruktionsfoton)
- Träfyllmedel
- Måla (se steget "Slutför" senare för mer information)
Steg 3: Kontrollmodulkonstruktion
Jag startade kontrollmodulen genom att skära ut sidorna från 19 mm MDF baserat på måtten från SketchUp -modellen.
Därefter klippte jag fram- och bakpanelerna. Jag markerade avfasningarna på dessa paneler genom att placera dem tätt mot sidorna och markera vinkeln med en penna och sedan foga märkena på vardera sidan med en rak kant. Jag klippte den sedan genom att se i bordsågen och avslutade med sandpapper. Jag är helt säker på att det finns ett bättre sätt att göra detta med fler verktyg och/eller bättre färdigheter, men det fungerade bra för mina behov och tog inte lång tid.
Jag klippte sedan ut de främre och sidoknapphålen och kopplade ihop alla panelerna med vinkelkonsolerna och skruvarna. Jag planerade inledningsvis att använda lim men mina tester med limning på en MDF -skärkant tycktes indikera att detta inte skulle vara tillräckligt starkt. Jag hade också redan ett gäng fästen som jag återvunnet från ett gammalt projekt;).
Jag rundade också de översta framåtvända kanterna i detta skede med routern med hörnrundningsbiten. Detta ger modulen ett snyggare utseende och en bekvämare känsla och rovar hårda kanter där dina händer naturligt ligger bredvid kontrollerna.
Därefter klippte jag ut toppen och botten från 6 mm MDF. Jag fasade den övre panelen som med de främre och bakre panelerna för att säkerställa en passform och sömlös finish. Jag fasade inte nedre panelen eftersom jag inte planerar att fylla och måla den. Istället kommer jag att använda den som en åtkomstpanel för underhåll. Jag borrade och sänkte skruvhål och borrade matchande hål i hörnfästena.
Jag demonterade sedan den bakre panelen och skar ett stort hål för regelbunden åtkomst till USB -kablarna och Raspberry PI.
Slutligen klippte jag den övre panelknappen och joystickhålen och monterade ihop igen. Jag fixade inte toppanelen på plats i detta skede eftersom jag ville hålla den lös under anslutningsprocessen.
Steg 4: Elektronikverktyg och material
OBS: Den här listan är bara nödvändig om du vill bli helt nörd på elektroniken. Du kan och förmodligen borde få alla dessa saker som en del av ett plug and play -kit (som dessa) och undvika all lödning och anpassade kablar. Efter att ha gjort detta en gång "på det hårda sättet" kommer jag definitivt att gå ner på kitvägen om jag någonsin gör ett annat skåp.
Verktyg
- Multimeter/anslutningstestare
- Lödkolv
- Avbitartång
- Pressverktyg (jag använde precis trådskäraren)
Material
- Arduino Leonardo/Pro Micro med USB HID -joystickprofil (jag använde billiga kloner)
- USB -hubb
- Arkad joystick och knappar.
- Krympkontakter som matchar din valda joystick och knappar
- 2x Mini -brödbrädor
- Anslutningskablar (jag använde främst Dupont -bygeltrådar)
- Elektroniklödning (hade fortfarande min ursprungliga kolofonnsrulle från college)
- Krympslang
Steg 5: Anslutning av styrmodul
Återigen rekommenderar jag att överväga ett plug and play -kit istället för den metod som dokumenteras här. Följ bara detta tillvägagångssätt om du:
A. Vill ha full kontroll över knapphanteringskoden på låg nivå
B. Gillar verkligen lödning och anpassade ledningar (vem gör inte)
C. Har redan verktyg och delar och/eller vill spara några dollar
D. Vill du lära dig mer om det här eller bara träna
Mina personliga motiv var en blandning av ovanstående. Ok, så här gjorde jag kabeldragningen:
Först gjorde jag adapterkablar för att ansluta krympkontakterna på knapparna till Dupont -anslutningskablarna. Jag gjorde en av dessa för mikrobrytaren i var och en av knapparna och de fyra i var och en av styrspakarna. Rop ut för att förbjuda Larry för ett utgrävning på produktionslinjen för dessa.
Jag använde sedan dessa anpassade kablar för att ansluta knapparna och joystickarna till ingångsstiften på var och en av mikrokontrollerna via brödbrädorna.
OBS: I denna design finns en separat mikrokontroller och därmed USB-kabel för varje spelare. Dela joystick- och knappmikrobrytarna i enlighet därmed mellan dem och dra båda flipperspelsknapparna till samma mikrokontroller. Kolla in bilderna som visar en utveckling genom ledningsstegen om du fastnar.
Därefter behövde jag lägga till en kabel för att skicka en signal till var och en av mikrobrytarna som sedan skulle återföra signalen till mikrokontrollens ingångsstift när knappen trycktes in. Jag använde de 4 tvinnade paren i någon Cat 5e-kabel för att ge signalen till styrspakarna genom att lödda dem alla i ena änden och fästa en Dupont-anslutningskabel ansluten till signalstiftet på mikrokontrollen.
Jag gjorde en liten daisy-chain-kabel för var och en av de 6 knappklustren och slutligen använde jag mina anpassade adapterkablar på start/select och pinball-knapparna igen alla anslutna till mikrokontrollens signalstift.
Anslutning av mikrobrytarna till mikrokontrollerna var ganska enkelt på grund av användningen av mini-breadboard och Dupont-kontakter, vilket innebar att jag enkelt kunde flytta kablarna efter behov.
Steg 6: Kontrollkod
Koden är ganska grundläggande. Jag modifierade ett gamepad -exempel från det utmärkta Arduino Joystick Library
Du kan lära dig mer om hur du kommer igång med det biblioteket från denna praktiska instruerbara.
I slutet av detta steg hade vi en fungerande 2-spelare fight-stick controller så vi firade med några rundor StreetFighter2 på min bärbara dator!
Jag planerade ursprungligen att ansluta mikrokontrollerna direkt till Raspberry PI via USB men när jag testade på den bärbara datorn fann jag att det var väldigt jobbigt att ansluta och koppla bort mikro-USB-kontakterna till mikrokontrollerna via åtkomstpanelen och så småningom bröt jag av mikro-USB-kontakt från en av mikrokontrollerna.
Lösningen på detta var att inkludera en USB -hubb i kontrollmodulen. Detta innebar att bara en enda anslutning avslöjades från kontrollmodulen och den övergripande lösningen var mycket mer robust. Med ledningen komplett lade jag till försänkta skruvhål på toppanelen och skruvade den på plats.
gamepad.ino
// Enkelt gamepad -exempel som visar hur man läser fem Arduino |
// digitala stift och mappa dem till Arduino Joystick -biblioteket. |
// |
// De digitala stiften jordas när de trycks ned. |
// |
// OBS: Denna skissfil är för användning med Arduino Leonardo och |
// Endast Arduino Micro. |
// |
// Ändrad version av originalkoden av Matthew Heironimus |
// 2018-08-11 |
//-------------------------------------------------------------------- |
#omfatta |
Joystick_ Joystick; |
voidsetup () { |
// Initiera knappnålar |
pinMode (2, 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); |
// Initiera joystickbiblioteket |
Joystick.begin (); |
Joystick.setXAxisRange (-1, 1); |
Joystick.setYAxisRange (-1, 1); |
} |
// Knapparnas sista tillstånd |
int lastButtonState [12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; |
int pins [12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 20, 21}; |
voidloop () { |
// Läs pin -värden |
för (intindex = 0; index <12; index ++) |
{ |
int currentButtonState =! digitalRead (pins [index]); |
if (currentButtonState! = lastButtonState [index]) |
{ |
switch (pins [index]) { |
case2: // UPP |
if (currentButtonState == 1) { |
Joystick.setYAxis (-1); |
} annat { |
Joystick.setYAxis (0); |
} |
ha sönder; |
case3: // HÖGER |
if (currentButtonState == 1) { |
Joystick.setXAxis (1); |
} annat { |
Joystick.setXAxis (0); |
} |
ha sönder; |
case4: // NED |
if (currentButtonState == 1) { |
Joystick.setYAxis (1); |
} annat { |
Joystick.setYAxis (0); |
} |
ha sönder; |
case5: // VÄNSTER |
if (currentButtonState == 1) { |
Joystick.setXAxis (-1); |
} annat { |
Joystick.setXAxis (0); |
} |
ha sönder; |
case6: |
Joystick.setButton (0, currentButtonState); |
ha sönder; |
case7: |
Joystick.setButton (1, currentButtonState); |
ha sönder; |
case8: |
Joystick.setButton (2, currentButtonState); |
ha sönder; |
case9: |
Joystick.setButton (3, currentButtonState); |
ha sönder; |
fall10: |
Joystick.setButton (4, currentButtonState); |
ha sönder; |
case16: |
Joystick.setButton (5, currentButtonState); |
ha sönder; |
fall20: |
Joystick.setButton (8, currentButtonState); |
ha sönder; |
case21: { |
Joystick.setButton (9, currentButtonState); |
ha sönder; |
} |
} |
lastButtonState [index] = currentButtonState; |
} |
} |
fördröjning (10); |
} |
visa rawgamepad.ino värd med ❤ av GitHub
Steg 7: Installation av hallon PI
Jag rekommenderar en Pi 3 för maximal spelprestanda och kompatibilitet, men om du bara är intresserad av äldre spel skulle en lägre driven enhet som Pi Zero också vara bra. Jag använder en extra Pi 2 som jag redan hade lagt.
Det finns massor av bra resurser på webben som beskriver hur du ställer in din valda Pi eller annan SBC med olika emulatorer och frontändar. Jag personligen använder och rekommenderar RetroPie och jag tyckte att dessa - utmärkta - videor från ETA Prime var ett bra sätt att komma igång snabbt.
Steg 8: Displaymodulkonstruktion
Jag startade Display Module -konstruktionen med sidopanelerna, markerade och klippte ut den första från dimensioner mätt från SketchUp -filen med hjälp av det virtuella måttbandet. Jag använde sedan den första panelen som en mall för att markera den andra.
Därefter klippte jag ut den nedre bakpanelen, skruvade på några vinkelfästen och skruvade sedan fast den på sidopanelerna. I detta skede verifierade jag att min bildskärm skulle passa. Det var lite trångare än jag förväntade mig men det fanns tillräckligt med utrymme.
Jag lade sedan till den nedre frontpanelen och skar hål i den för att matcha kontrollmodulen. För att markera dessa placerade jag kontrollmodulen upp mot displaymodulen och skrev runt insidan av det befintliga hålet i kontrollmodulen.
I detta skede kunde jag skruva ihop de två modulerna med hjälp av två skåpanslutningsbultar. Nu kunde jag se den slutliga formen på den kombinerade bar-top-modulen!
Nästa steg var att dra panelernas kanter. För detta demonterade jag enheten igen. Jag klippte också ut hålet för effektinloppet och omkopplaren. För detta markerade jag först hålet, borrade sedan hörn med en liten träbit och slutligen skar jag bort det återstående materialet med en spiralsåg.
Jag återmonterade sedan enheten som limde ihop varje bit den här gången. Eftersom jag också använde konsoler behövde jag inte använda klämmor för att hålla ihop bitarna.
Nu när enheten var i sin slutliga form klippte jag ut skärmpanelen och satte den på plats, arbetade med den med sandpapper tills den passade ordentligt. När jag var nöjd med passformen drog jag ut den och använde en sticksåg för att klippa ut hålet för att displayen skulle matcha det synliga skärmområdet. Detta gjorde att jag kunde testa skärmen på plats med några fästen för att hålla monitorn löst på plats.
Jag satte ihop de två modulerna för att se hur det såg ut och limde sedan fast skärmens surround på plats. För att göra detta lade jag till några extra bitar av 6 mm MDF bakom skärmens surround för att se till att det var fast och för att undvika sprickor i färgen senare.
Steg 9: Slutför
När limmet hade torkat helt på displaymodulen applicerade jag generöst träfyllmedel på alla fogar och fläckar och slipade ner det med grovt sandpapper.
Jag belagde den sedan med urvattnad PVA -bindning som ett första tätningsskikt. Därefter applicerade jag flera lager av en blandning av PVA och vit trä/stålfärg för allmänt bruk som jag hittade i garaget.
Dessa första lager applicerades alla med en vanlig 2 pensel.
När grundrockarna torkade ut gjorde jag en lätt slipning med finkornigt sandpapper. Efter det lade jag till ytterligare ett lager vit färg.
När det var torrt slipade jag lätt igen och applicerade sedan ett par lager billig sprayfärg för allmänna ändamål från burkar som jag hämtade i järnaffären.
Innan jag upprepade processen för kontrollmodulen klippte jag ut den övre bakpanelen på displaymodulen. Den här panelen har ett hål i den så att jag lättare kan bära displaymodulen. Det fungerar också tillåter ljud för de inbyggda bildskärmshögtalarna att ta sig ur fodralet.
Vid det här stadiet bestämde jag mig också för att ta bort skruvarna från kontrollpanelens toppanel och limma på plats istället. För att se till att det var säkert limmade jag i några extra stödbitar först.
När kontrollmodulen målades använde jag en Dremel för att städa upp knapphålen för att kontinuerligt testa storlek på dem med en av knapparna. Slutligen limmade jag möbelkontaktmuttern i kontrollmodulernas baksida.
Jag var någorlunda nöjd med den resulterande finishen i slutet av detta steg med tanke på hur mycket tid och ansträngning jag lagt ner. Det var inte perfekt och kunde förbättras med mer tid under detta skede. Det beror verkligen på vilken finishnivå du vill uppnå hur mycket tid detta steg kommer att ta.
Steg 10: Displaykomponenter
- 19 "Widescreen Monitor med högtalare
- Raspberry PI 2 Single Board Computer (SBC)
- Raspberry PI 2 -fodral
- 2Amp USB -strömadapter
- Micro-usb-kabel
- 3,5 mm ljudkabel
- HDMI -kabel
- Huvudchassiuttag (typ vattenkokare)
- Elnät i vattenkokare
- Dubbel eluttag
Steg 11: Kabeldisplaymodul
Först lade jag till en bas och en bakre panel till bildskärmsmodulskalet. Bakpanelen fästes på plats med hjälp av magnetlås så att den enkelt kan tas bort för snabb åtkomst till komponenterna.
Jag kopplade sedan upp en strömbrytare till ett dubbeluttag för att driva PI och bildskärm. Jag lödde strömkablarna till omkopplaren och hylsade kablarna med värmekrympslang. Om du inte är helt bekväm med den här delen får du hjälp av någon kvalificerad. Ta INTE några risker med nätkablar.
Efter att jag fixerat omkopplaren ordentligt till fodralet placerade jag monitorn på plats. Med tanke på den redan täta kampen var ett par extra plastfästen allt som krävdes för att säkra skärmen på plats.
Därefter kopplade jag in en USB -strömadapter för PI och en vattenkokare till bildskärmen. Det återstod bara att ansluta ljud- och videosignalerna till bildskärmen.
Eftersom monitorn inte har någon HDMI-in använde jag en HDMI till DVI-adapter. Ljud levererades till de inbyggda bildskärmshögtalarna via en 3,5 mm ljudkabel från PI. Med bakpanelen på och ljudinställningar på max är ljudvolymen okej men inte högt. Jag kan lägga till högtalare och en miniförstärkare i en framtida uppdatering.
Slutligen anslöt jag en USB -hubb till PI: n och kunde låta testet av den fullt fungerande displaymodulen börja.
Steg 12: Slutsamling och tankar
Det sista jobbet före slutmontering var omkoppling och montering av kontrollmodulen efter målning. Detta gick ganska smidigt förutom att bryta en tråd som måste lödas om.
Innan jag kombinerade kontroll- och displaymodulerna klippte jag ut ett par skivor av klar, självhäftande kontaktfilm för att undvika att möbeltapparna som sticker ut från kontrollmodulen repar displaymodulens lack.
Det var då bara en enkel uppgift att placera modulerna och skruva ihop dem. I detta skede är bar-top-enheten helt komplett och redo för handling. Det ser ut som att detta kommer att vara den föredragna konfigurationen så jag kommer inte behöva bygga stativmodulen på ett tag åtminstone. Om och när jag gör det uppdaterar jag det här inlägget. Stand -modulen i sig borde vara den enklaste av alla. Det är i grunden ett enkelt förvaringsskåp med bulthål i toppen för att ansluta till bar-top-enheten.
Jag har haft det bra att arbeta med det här projektet med mina barn. Vi lärde oss mycket och ser nu fram emot att spela massor av gamla arkad- och konsolklassiker på den nya maskinen. Tack för att du läste och låt oss veta vad du tycker om projektet i kommentarerna!
Rekommenderad:
MutantC V3 - modulär och kraftfull handhållen dator: 9 steg (med bilder)
MutantC V3 - Modulär och kraftfull handhållen PC: En Raspberry -pi -handhållen plattform med ett fysiskt tangentbord, display- och expansionshuvud för anpassade kort (som Arduino Shield) .mutantC_V3 är efterföljare av mutantC_V1 och V2. Kolla in mutantC_V1 och mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Modulär solväderstation: 5 steg (med bilder)
Modular Solar Weather Station: Ett av de projekt jag ville bygga under en tid var en modulär väderstation. Modulär i den meningen att vi kan lägga till de sensorer vi vill bara genom att byta programvara. Modulär väderstation är uppdelad i tre delar. Huvudkortet har W
Modular Synthesizer Power Supply: 10 Steg (med bilder)
Modular Synthesizer Power Supply: Om du bygger en modulär synthesizer är en sak du definitivt behöver en strömförsörjning. De flesta modulära synteser kräver ett system med dubbla skenor (0V, +12V och -12V är typiska), och det kan också vara praktiskt att ha en 5V -skena också om du är planerad
Arkadmaskin i en NES -kontroller .: 5 steg
Arkadmaskin i en NES -kontroller .: Vill du någonsin göra något med de gamla och trasiga NES -kontrollerna? De verkar för värdefulla för att bara slänga dem, men när sladden slits av är de i princip värdelösa om du inte kan hitta undan för att ge dem nytt liv! Jag gillar att kombinera dem med
Skapa din egen mini -arkadmaskin !: 8 steg
Skapa din egen mini -arkadmaskin !: Har du någonsin velat ha en egen arkadmaskin men har inte råd eller passar en i full storlek? Här är lösningen. Med en Raspberry Pi, 5-tums skärm & 2 USB -kontroller du kan skapa dina egna med så många spel du vill från flera olika plattformar. Le