Obsah:

Modulární arkádový stroj: 12 kroků
Modulární arkádový stroj: 12 kroků

Video: Modulární arkádový stroj: 12 kroků

Video: Modulární arkádový stroj: 12 kroků
Video: 12 úžasných hydroelektrických technologií, které změní náš svět 2024, Listopad
Anonim
Modulární arkádový stroj
Modulární arkádový stroj

Chtěli jsme se svými dvěma chlapci postavit arkádový stroj, ale nemohli jsme se rozhodnout, jaký typ postavit mezi plnou stand-up skříňku, bar-top nebo konzolu ve stylu fight-stick pro připojení k televizi. Nakonec nás napadlo, že bychom mohli postavit všechny tři jako modulární řešení s moduly, které lze použít jednotlivě nebo je libovolně kombinovat.

Vzhledem k jednoduchému designu a výběru komponent je to také poměrně levná konstrukce ve srovnání s mnoha projekty domácích arkádových strojů a měli byste být schopni dosáhnout za méně než 200 EUR/$ v materiálech. Většinu dřevařských materiálů a elektroniky jsem již položil, takže jsem dosud utratil méně než 100 EUR.

Krok 1: Design

Design
Design
Design
Design
Design
Design

Základní koncepce návrhu je arkádový systém pro dva hráče složený ze sady nezávislých modulů, z nichž každý má nějakou individuální funkci a také se navzájem doplňují, když jsou spojeny dohromady.

  • Řídicí modul obsahuje všechny ovládací prvky a řídicí elektroniku včetně USB ovladačů. Tento modul lze použít ve stylu bojového ovladače připojeného ke konzole nebo Raspberry PI.
  • Modul displeje obsahuje displej a Raspberry PI (nebo podle vašeho výběru SBC) a lze jej použít samostatně jako počítač „vše v jednom“nebo jej připojit k řídicímu modulu a vytvořit tak arkádovou jednotku pro stolní počítače.
  • Stand Module funguje jako úložná jednotka v samostatném režimu a v kombinaci s bartopem tvoří kompletní stojanový arkádový stroj.

Snažili jsme se, aby byl design co nejjednodušší a nejfunkčnější, přičemž jsme použili několik návrhových podnětů ze 70. a 80. let - stolní hry - a vyhnuli jsme se nefunkčním prvkům, jako je rozsvícení markýzy a tvarování T v mnoha skříních. V případě potřeby můžete samozřejmě upravit design a přidat tyto prvky.

Rozhodl jsem se pro celkem klasické rozložení tlačítek, které se mi zdálo, že si ho pamatuji z arkád svého mládí, pomocí tlačítka „rovných šest“vedle každého z joysticků (StreetFighter2 FTW). Na přední panel jsem umístil tlačítka Start a Select, která zajišťovala emulaci konzoly, stejně jako povinnosti při zadávání mincí a výběru hráče. Také jsem umístil tlačítko na každé straně pro hry pinball. Samozřejmě můžete svobodně upravit design podle svého vkusu a požadovaných metod zadávání, např. trackballs. vážené přadleny atd.

Udělal jsem úvodní hrubý koncept náčrtu bar -top jednotky na papír a poté znovu vytvořil měřítko správné modely ve SketchUp - viz přiložené soubory pro každý z modulů a kombinací.

Rozměry jsem založil na 19 širokoúhlém monitoru, který jsem koupil z druhé ruky za 10 EUR. Výsledkem byla celková šířka skříně 500 mm, takže pro případ, že bych potřeboval vyměnit monitor, zůstalo asi 30 mm.

V souborech SketchUp najdete přesná měření všech rozměrů. Při řezání konkrétního panelu nebo otvoru jsem použil nástroj pro měření pásky v aplikaci SketchUp k měření rozměru v modelu před vyznačením řezů na stavebním materiálu.

Krok 2: Nástroje a materiály pro zpracování dřeva

VAROVÁNÍ: POUŽÍVEJTE VÝSTRAHU A VHODNĚ BEZPEČNOSTNÍ ZAŘÍZENÍ PŘI PROVOZU Nářadí

Nástroje

  • Šroubovák a šrouby
  • Stolní pila nebo kotoučová pila
  • Vykružovačka
  • Vrtáky a různé bity včetně 28mm děrovky pro knoflíky
  • Smirkový papír
  • Router a zaoblovací rohový bit

Materiály

  • 19 mm (3/4 ") MDF fólie
  • 6 mm (3/4 ") MDF fólie
  • Úhlové závorky (použil jsem opravdu praktické plastové - viz fotografie stavby)
  • Dřevěná výplň
  • Malování (podrobnosti viz kroky „Dokončit“později)

Krok 3: Konstrukce řídicího modulu

Konstrukce řídicího modulu
Konstrukce řídicího modulu
Konstrukce řídicího modulu
Konstrukce řídicího modulu
Konstrukce řídicího modulu
Konstrukce řídicího modulu
Konstrukce řídicího modulu
Konstrukce řídicího modulu

Řídicí modul jsem zahájil vyříznutím stran z 19 mm MDF na základě rozměrů z modelu SketchUp.

Dále jsem odřízl přední a zadní panely. Označil jsem úkosy na těchto panelech tak, že jsem je těsně přitlačil ke stranám, označil úhel tužkou a poté spojil značky na obou stranách rovným okrajem. Potom jsem to odřezal pohledem ve stolní pile a dokončil smirkovým papírem. Jsem si docela jistý, že existuje lepší způsob, jak to udělat s více nástroji a/nebo lepšími dovednostmi, ale pro mé potřeby to fungovalo dobře a netrvalo to dlouho.

Potom jsem vystřihl přední a boční otvory pro knoflíky a spojil všechny panely pomocí úhelníků a šroubů. Původně jsem plánoval použít lepidlo, ale moje testy s lepením na řezanou hranu MDF naznačovaly, že to nebude dostatečně silné. Také jsem už měl spoustu závorek, které jsem recykloval ze starého projektu;).

V této fázi jsem také zaoblil horní hrany směřující dopředu pomocí routeru s rohovým zaoblením. To dává modulu hezčí vzhled a příjemnější pocit a prochází drsnými hranami, kde vaše ruce přirozeně spočívají vedle ovládacích prvků.

Dále jsem vystřihl horní a spodní část z 6 mm MDF. Zkosil jsem horní panel jako u předního a zadního panelu, abych zajistil pohodlné uchycení a bezproblémovou povrchovou úpravu. Dolní panel jsem nezkosil, protože nemám v plánu jej vyplnit a natřít. Místo toho jej použiji jako přístupový panel údržby. Vyvrtal jsem a zapustil otvory pro šrouby a vyvrtal odpovídající otvory v rohových konzolách.

Poté jsem rozebral zadní panel a vyřízl velký otvor pro pravidelný přístup k USB kabelům a Raspberry PI.

Nakonec jsem vyřízl otvory na tlačítku a joysticku na horním panelu a znovu sestavil. V této fázi jsem horní panel neopravil na místo, protože jsem ho chtěl během procesu zapojení uvolnit.

Krok 4: Elektronické nástroje a materiály

Poznámka: Tento seznam je nutný pouze v případě, že se chcete naplno věnovat elektronice. Můžete a pravděpodobně byste měli dostat všechny tyto věci jako součást sady plug and play (jako tyto) a vyhnout se veškerému pájení a vlastním kabelům. Když jsem to udělal jednou „těžkou cestou“, určitě se vydám cestou stavebnice, pokud někdy vyrobím další skříň.

Nástroje

  • Multimetr/tester připojení
  • Páječka
  • Štípačky
  • Krimpovací nástroj (právě jsem použil řezačku drátu)

Materiály

  • Arduino Leonardo/Pro Micro s profilem joysticku USB HID (použil jsem levné klony)
  • USB rozbočovač
  • Arkádový joystick a tlačítka.
  • Krimpovací konektory, aby odpovídaly vybranému joysticku a tlačítkům
  • 2x mini prkénko
  • Propojovací vodiče (používal jsem hlavně propojovací vodiče Dupont)
  • Elektronická pájka (stále měl můj původní kalafunový naviják z vysoké školy)
  • Smršťovací bužírky

Krok 5: Zapojení řídicího modulu

Zapojení řídicího modulu
Zapojení řídicího modulu
Zapojení řídicího modulu
Zapojení řídicího modulu
Zapojení řídicího modulu
Zapojení řídicího modulu

Opět doporučuji zvážit místo zde zdokumentovaného přístupu sadu plug and play. Tento přístup dodržujte pouze v případě, že:

A. Chcete plnou kontrolu nad kódem zpracování tlačítka na nízké úrovni

B. Opravdu si užijte pájení a vlastní zapojení (kdo ne)

C. Už máte nástroje a díly a/nebo chcete ušetřit pár peněz

D. Chcete se o těchto věcech dozvědět více nebo jen cvičit

Moje osobní motivace byla směsicí výše uvedeného. Dobře, takže zapojení jsem provedl takto:

Nejprve jsem vyrobil kabely adaptéru pro připojení krimpovacích konektorů na tlačítkách k vodičům konektoru Dupont. Jeden z nich jsem vytvořil pro mikrospínač v každém tlačítku a čtyři v každém joysticku. Vykřikněte a postavte Larryho mimo zákon za vykopání na výrobní lince pro ně.

Poté jsem pomocí těchto vlastních kabelů připojil tlačítka a joysticky ke vstupním pinům na každém z mikrořadičů přes prkénka.

Poznámka: V tomto provedení je pro každý přehrávač samostatný mikrořadič, a tedy kabel USB. Podle toho mezi ně rozdělte mikrospínače joysticku a tlačítka a obě tlačítka pinball připojte ke stejnému mikrořadiči. Podívejte se na fotografie, které ukazují postup fázemi zapojení, pokud se zaseknete.

Dále jsem potřeboval přidat vodič pro odeslání signálu do každého z mikrospínačů, který by po stisknutí tlačítka vrátil signál na vstupní kolík mikrořadiče. Použil jsem 4 kroucené páry v nějakém kabelu Cat 5e, abych poskytl signál joystickům tak, že je všechny pájím dohromady na jednom konci a připojím konektorový kabel Dupont připojený k signálnímu kolíku na mikrořadiči.

Udělal jsem malý řetězový kabel pro každý ze 6 shluků tlačítek a nakonec jsem použil vlastní kabely adaptéru na tlačítkách start/select a pinball, všechny připojené k signálnímu pinu mikrořadiče.

Zapojení mikrospínačů do mikrořadičů bylo docela jednoduché díky použití konektorů mini-breadboard a Dupont, což znamenalo, že jsem mohl kabely podle potřeby snadno přesouvat.

Krok 6: Kód ovladače

Kód ovladače
Kód ovladače
Kód ovladače
Kód ovladače
Kód ovladače
Kód ovladače

Kód je docela základní. Upravil jsem příklad gamepadu z vynikající knihovny Joystick Arduino

Můžete se dozvědět více o tom, jak začít s touto knihovnou, z tohoto praktického instruktážního programu.

Na konci tohoto kroku jsme měli fungující ovladač pro 2 hráče bojové hůlky, takže jsme oslavili s několika koly StreetFighter2 na mém notebooku!

Původně jsem plánoval připojit mikrořadiče přímo k Raspberry PI přes USB, ale při testování na notebooku jsem zjistil, že připojení a odpojení konektorů micro USB k mikrořadičům přes přístupový panel bylo velmi nešikovné a nakonec jsem přerušil konektor micro USB z jednoho z mikrořadičů.

Řešením bylo zahrnout rozbočovač USB do řídicího modulu. To znamenalo, že z řídicího modulu bylo odhaleno pouze jedno připojení a celkové řešení bylo mnohem robustnější. Po dokončení zapojení jsem do horního panelu přidal zapuštěné otvory pro šrouby a zašrouboval je na místo.

gamepad.ino

// Jednoduchý příklad gamepadu, který ukazuje, jak číst pět Arduino
// digitální piny a namapujte je do knihovny Arduino Joystick.
//
// Digitální piny jsou při stisknutí uzemněny.
//
// POZNÁMKA: Tento soubor skici je určen pro použití s Arduino Leonardo a
// Pouze Arduino Micro.
//
// Upravená verze původního kódu Matthew Heironimus
// 2018-08-11
//--------------------------------------------------------------------
#zahrnout
Joystick_ Joystick;
voidsetup () {
// Inicializace kolíků tlačítek
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);
// Inicializace knihovny joysticku
Joystick.begin ();
Joystick.setXAxisRange (-1, 1);
Joystick.setYAxisRange (-1, 1);
}
// Poslední stav tlačítek
int lastButtonState [12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int piny [12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 20, 21};
voidloop () {
// Přečtěte hodnoty pinů
pro (intindex = 0; index <12; index ++)
{
int currentButtonState =! digitalRead (piny [index]);
if (currentButtonState! = lastButtonState [index])
{
přepínač (piny [index]) {
case2: // UP
if (currentButtonState == 1) {
Joystick.setYAxis (-1);
} else {
Joystick.setYAxis (0);
}
přestávka;
case3: // RIGHT
if (currentButtonState == 1) {
Joystick.setXAxis (1);
} else {
Joystick.setXAxis (0);
}
přestávka;
case4: // DOWN
if (currentButtonState == 1) {
Joystick.setYAxis (1);
} else {
Joystick.setYAxis (0);
}
přestávka;
case5: // VLEVO
if (currentButtonState == 1) {
Joystick.setXAxis (-1);
} else {
Joystick.setXAxis (0);
}
přestávka;
případ 6:
Joystick.setButton (0, currentButtonState);
přestávka;
případ 7:
Joystick.setButton (1, currentButtonState);
přestávka;
případ 8:
Joystick.setButton (2, currentButtonState);
přestávka;
případ 9:
Joystick.setButton (3, currentButtonState);
přestávka;
případ 10:
Joystick.setButton (4, currentButtonState);
přestávka;
případ16:
Joystick.setButton (5, currentButtonState);
přestávka;
případ 20:
Joystick.setButton (8, currentButtonState);
přestávka;
případ21: {
Joystick.setButton (9, currentButtonState);
přestávka;
}
}
lastButtonState [index] = currentButtonState;
}
}
zpoždění (10);
}

zobrazit rawgamepad.ino hostovaný s ❤ od GitHub

Krok 7: Nastavení PI Raspberry

Nastavení PI Raspberry
Nastavení PI Raspberry

Doporučuji Pi 3 pro maximální výkon a kompatibilitu her, ale pokud vás zajímají pouze starší hry, bylo by vhodné i zařízení s nižším výkonem, jako je Pi Zero. Používám náhradní Pi 2, který jsem už měl kolem sebe.

Na webu je spousta skvělých zdrojů, které popisují, jak nastavit vámi zvolený Pi nebo jiný SBC s různými emulátory a frontendy. Osobně používám a doporučuji RetroPie a shledal jsem tato - vynikající - videa z ETA Prime jako skvělý způsob, jak rychle začít fungovat.

Krok 8: Konstrukce zobrazovacího modulu

Konstrukce zobrazovacího modulu
Konstrukce zobrazovacího modulu
Konstrukce zobrazovacího modulu
Konstrukce zobrazovacího modulu
Konstrukce zobrazovacího modulu
Konstrukce zobrazovacího modulu

Začal jsem stavbu modulu displeje s bočními panely, označením a vyříznutím prvního z rozměrů měřených ze souboru SketchUp pomocí virtuálního páskového měřidla. První panel jsem pak použil jako šablonu k označení druhého.

Dále jsem vystřihl spodní zadní panel, našrouboval některé úhlové konzoly a poté jej přišrouboval k bočním panelům. V této fázi jsem ověřil, že se můj monitor vejde. Bylo to trochu těsnější, než jsem čekal, ale bylo tam dost místa.

Poté jsem přidal spodní přední panel a vyřezal do něj otvory, aby odpovídaly řídicímu modulu. Abych je označil, umístil jsem řídicí modul proti zobrazovacímu modulu a načmáral kolem vnitřku stávajícího otvoru v řídicím modulu.

V této fázi jsem byl schopen spojit dva moduly pomocí dvou šroubů konektoru skříně. Nyní jsem viděl konečný tvar kombinovaného modulu bar-top!

Dalším krokem bylo směrování okrajů panelů. Za tímto účelem jsem jednotku znovu rozložil. Také jsem vyřízl otvor pro vstup napájení a spínač. Za tímto účelem jsem nejprve vyznačil otvor, pak vyvrtal rohy malým dřevěným vrtákem a nakonec vyřezal zbývající materiál pomocí spirálové pily.

Poté jsem znovu sestavil jednotku, která tentokrát slepila každý kus dohromady. Protože jsem také používal držáky, nepotřeboval jsem používat svorky, abych držel kusy pohromadě.

Nyní, když byla jednotka ve své finální podobě, jsem vystřihl panel obrazovky a namontoval jej na místo, přičemž jsem na něm pracoval s brusným papírem, dokud těsně nepřispěl. Když jsem byl spokojený s fitem, vyskočil jsem a pomocí skládačky vyřízl otvor pro displej tak, aby odpovídal viditelné oblasti obrazovky. Díky tomu jsem mohl otestovat obrazovku na místě pomocí několika držáků, které držely monitor volně na místě.

Spojil jsem dva moduly dohromady, abych viděl, jak to vypadá, a poté jsem dokončil lepení rámečku obrazovky na místo. Za tímto účelem jsem přidal několik dalších kusů 6 mm MDF za rámeček obrazovky, abych se ujistil, že je pevný a aby se později zabránilo prasklinám v barvě.

Krok 9: Dokončete

Dokončit
Dokončit
Dokončit
Dokončit
Dokončit
Dokončit
Dokončit
Dokončit

Jakmile lepidlo úplně vyschlo na zobrazovacím modulu, štědře jsem na všechny spoje a kazy nanesl dřevěnou výplň a zbrousil ho hrubým brusným papírem.

Poté jsem jej natřel zalévaným PVA lepením jako první těsnicí vrstvou. Poté jsem použil několik vrstev směsi PVA a bílé barvy na dřevo/ocel pro všeobecné použití, kterou jsem našel v garáži.

Tyto počáteční vrstvy byly všechny aplikovány běžným 2 štětcem.

Když základní vrstvy zaschly, provedl jsem lehké broušení jemným zrnitým brusným papírem. Poté jsem přidal další vrstvu bílé barvy.

Když to bylo suché, znovu jsem lehce zbrousil a poté nanesl několik vrstev levné lakové barvy pro všeobecné použití z plechovek, které jsem zvedl v železářství.

Před opakováním postupu pro řídicí modul jsem vyřízl horní zadní panel zobrazovacího modulu. Tento panel má v sobě otvor, takže mohu snáze přenášet modul displeje. Působí také tak, že se zvuk z vestavěných reproduktorů monitoru dostane ven z pouzdra.

V této fázi jsem se také rozhodl odstranit šrouby z horního panelu řídicího modulu a místo toho jej přilepit. Abych se ujistil, že je to bezpečné, nejprve jsem nalepil několik dalších podpůrných kusů.

Když byl řídicí modul namalován, použil jsem Dremel k vyčištění otvorů pro knoflíky a neustále je testoval na velikost pomocí jednoho z tlačítek. Nakonec jsem do zadní části ovládacích modulů vlepil matici nábytkového konektoru.

S výsledným výsledkem na konci tohoto kroku jsem byl přiměřeně spokojen vzhledem k množství času a úsilí, které jsem vynaložil. Nebylo to v žádném případě dokonalé a dalo by se to zlepšit, kdybychom v této fázi měli více času. Opravdu záleží na tom, jaké úrovně dokončení chcete dosáhnout, kolik času vám tento krok zabere.

Krok 10: Součásti zobrazovacího modulu

  • 19 "širokoúhlý monitor s reproduktory
  • Jednodeskový počítač Raspberry PI 2 (SBC)
  • Pouzdro Raspberry PI 2
  • 2A zesilovač USB napájecí adaptér
  • Mikro USB kabel
  • 3,5 mm audio kabel
  • HDMI kabel
  • Zásuvka v šasi (typ konvice)
  • Síťová konvice
  • Dvojitá síťová zásuvka

Krok 11: Zapojení zobrazovacího modulu

Zapojení zobrazovacího modulu
Zapojení zobrazovacího modulu
Zapojení zobrazovacího modulu
Zapojení zobrazovacího modulu
Zapojení zobrazovacího modulu
Zapojení zobrazovacího modulu
Zapojení zobrazovacího modulu
Zapojení zobrazovacího modulu

Nejprve jsem do skořepiny modulu displeje přidal základnu a zadní panel. Zadní panel byl zajištěn na svém místě pomocí magnetických západek, aby jej bylo možné snadno vyjmout pro rychlý přístup ke komponentám.

Poté jsem zapojil vypínač do dvojité zásuvky pro napájení PI a monitoru. Napájecí vodiče jsem připájel k vypínači a kabely spojil teplem smrštitelnou bužírkou. Pokud vám tato část není úplně příjemná, požádejte o pomoc někoho kvalifikovaného. NEPŘIJÍMEJTE žádná rizika se síťovou kabeláží.

Poté, co jsem bezpečně upevnil spínač k pouzdru, jsem monitor umístil na místo. Vzhledem k již tak těsnému boji stačilo k zajištění obrazovky na místě několik dalších plastových držáků.

Dále jsem připojil napájecí adaptér USB pro PI a kabel pro monitor pro monitor. Zbývalo pouze připojit audio a video signály k monitoru.

Protože monitor nemá vstup HDMI, použil jsem adaptér HDMI na DVI. Zvuk byl dodáván do vestavěných reproduktorů monitoru pomocí 3,5 mm audio kabelu z PI. Při zapnutém zadním panelu a maximálním nastavení zvuku je hlasitost zvuku v pořádku, ale není hlasitá. V budoucí aktualizaci možná přidám reproduktory a mini zesilovač.

Nakonec jsem do PI zapojil USB rozbočovač a mohl jsem nechat testování plně funkčního zobrazovacího modulu začít.

Krok 12: Konečná montáž a myšlenky

Konečné shromáždění a myšlenky
Konečné shromáždění a myšlenky
Konečné shromáždění a myšlenky
Konečné shromáždění a myšlenky
Konečné shromáždění a myšlenky
Konečné shromáždění a myšlenky
Konečné shromáždění a myšlenky
Konečné shromáždění a myšlenky

Poslední prací před finální montáží bylo opětovné zapojení a montáž řídicího modulu po lakování. To šlo docela hladce, kromě zlomení jednoho drátu, který musel být znovu pájen.

Před spojením řídicích a zobrazovacích modulů jsem vystřihl několik disků čiré lepicí kontaktní fólie, aby se zabránilo vyčnívání hlavic nábytkových konektorů z řídicího modulu z poškrábání laku zobrazovacího modulu.

Byl to pak jen jednoduchý úkol umístit moduly a přišroubovat je k sobě. V této fázi je bar-top jednotka plně kompletní a připravená k akci. Vypadá to, že toto bude upřednostňovaná konfigurace, takže alespoň na chvíli nebudu muset stavět stojanový modul. Pokud to udělám, aktualizuji tento příspěvek. Samotný stojanový modul by měl být ze všech nejjednodušší. Je to v podstatě jednoduchá úložná skříň s otvory pro šrouby v horní části pro připojení k jednotce nahoře.

Pracoval jsem na tomto projektu se svými dětmi skvěle. Hodně jsme se toho naučili a nyní se těšíme, až si na novém stroji zahrajeme spoustu starých arkádových a konzolových klasik. Děkujeme za přečtení a dejte nám vědět, co si o projektu myslíte v komentářích!

Doporučuje: