Sadržaj:

Modularna arkadna mašina: 12 koraka
Modularna arkadna mašina: 12 koraka

Video: Modularna arkadna mašina: 12 koraka

Video: Modularna arkadna mašina: 12 koraka
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Juli
Anonim
Modularna arkadna mašina
Modularna arkadna mašina

Moja dva dječaka i ja htjeli smo izgraditi arkadnu mašinu, ali nismo mogli odlučiti koju vrstu graditi između potpuno stojećeg ormara, šipke ili konzole sa stilom borbe za uključivanje u televizor. Na kraju nam je palo na pamet da bismo sva tri mogli izgraditi kao modularno rješenje s modulima koji se mogu koristiti pojedinačno ili kombinirati po želji.

Zbog jednostavnog dizajna i izbora komponenti, ovo je također prilično jeftina konstrukcija u usporedbi s mnogim projektima kućnih arkadnih mašina, a trebali biste postići manje od 200 €/$ materijala. Već sam položio većinu drvenih materijala i elektronike pa sam do sada potrošio manje od 100 €.

Korak 1: Dizajnirajte

Dizajn
Dizajn
Dizajn
Dizajn
Dizajn
Dizajn

Osnovni koncept dizajna je arkadni sistem za dva igrača koji se sastoji od niza nezavisnih modula koji svaki ima neku zasebnu funkciju i koji se međusobno nadopunjuju.

  • Upravljački modul sadrži sve komande i elektroniku upravljanja, uključujući USB kontrolere. Ovaj modul se može koristiti kontroler u stilu borbene palice spojen na konzolu ili Raspberry PI.
  • Modul za prikaz sadrži ekran i Raspberry PI (ili vaš izbor SBC-a) i može se koristiti samostalno kao "sve-u-jednom" računar ili povezan sa upravljačkim modulom za formiranje arkadne jedinice sa bartopom.
  • Modul postolja djeluje kao jedinica za skladištenje u samostalnom načinu rada, a u kombinaciji sa šipkom tvori potpunu arkadnu mašinu.

Pokušali smo zadržati dizajn što jednostavnijim i funkcionalnijim uzimajući u obzir neke dizajnerske znakove iz vintage - stolnih - igara iz 70 -ih i 80 -ih i izbjegavajući nefunkcionalne elemente poput svjetlosnog okvira i T -kalupa koji se nalaze u mnogim ormarima. Naravno, možete izmijeniti dizajn tako da dodate ove elemente ako želite.

Odlučio sam se za prilično klasičan izgled dugmadi kojeg sam se sjećao iz arkada svoje mladosti sa grupom dugmadi "ravno šest" pored svakog od upravljačkih palica (StreetFighter2 FTW). Postavio sam tipke Start i Select na prednjoj ploči kako bih zadovoljio emulaciju konzole, kao i unos novčića i odabir igrača. Takođe sam stavio dugme sa svake strane za fliper. Naravno, možete slobodno izmijeniti dizajn prema vlastitom ukusu i željenim metodama unosa, npr. trackballs. ponderisane centrifuge itd.

Napravio sam početnu grubu skicu skice gornje jedinice na papiru, a zatim ponovo stvorio ispravne modele u SketchUpu - pogledajte priložene datoteke za svaki od modula i kombinacija.

Zasnovao sam dimenzije na monitoru sa širokim ekranom od 19 koji sam kupio polovno za 10 €. To je rezultiralo ukupnom širinom ormara od 500 mm, ostavljajući oko 30 mm prostora za igru u slučaju da moram promijeniti monitor.

Provjerite SketchUp datoteke za tačna mjerenja svih dimenzija. Prilikom rezanja određene ploče ili rupe koristio sam alat za mjerenje trake u SketchUpu za mjerenje dimenzija u modelu prije označavanja rezova na građevinskom materijalu.

Korak 2: Alati i materijali za stolariju

UPOZORENJE: KORISTITE OPREZ I ODGOVARAJUĆU SIGURNOSNU OPREMU PRI UPOTREBI ALATA ZA SNAGU

Alati

  • Odvijač i vijci
  • Stona pila ili kružna pila
  • Jigsaw
  • Burgije i razni nastavci, uključujući pilu za rupe od 28 mm za dugmad
  • Brusni papir
  • Usmjerivač i zaobljeni bit

Materijali

  • 19 mm (3/4 ") MDF ploče
  • 6 mm (3/4 ") MDF ploče
  • Ugaoni držači (koristio sam neke zaista zgodne plastične - pogledajte fotografije konstrukcije)
  • Punilo za drvo
  • Boja (za detalje pogledajte korake "Završi" kasnije)

Korak 3: Konstrukcija upravljačkog modula

Konstrukcija upravljačkog modula
Konstrukcija upravljačkog modula
Konstrukcija upravljačkog modula
Konstrukcija upravljačkog modula
Konstrukcija upravljačkog modula
Konstrukcija upravljačkog modula
Konstrukcija upravljačkog modula
Konstrukcija upravljačkog modula

Upravljački modul sam pokrenuo izrezivanjem stranica od 19 mm MDF -a na osnovu dimenzija iz modela SketchUp.

Zatim sam izrezao prednju i zadnju ploču. Označio sam kosine na ovim pločama tako što sam ih postavio čvrsto uz bokove i označio kut olovkom, a zatim spojio oznake s obje strane ravnom ivicom. Zatim sam ga izrezao iz vida u stolnoj pili i završio brusnim papirom. Siguran sam da postoji bolji način da to učinim s više alata i/ili bolje vještine, ali ovo je dobro funkcioniralo za moje potrebe i nije dugo trajalo.

Zatim sam izrezao rupe s prednje i bočne tipke i spojio sve ploče pomoću kutnih nosača i vijaka. U početku sam planirao koristiti ljepilo, ali činilo se da su moji testovi lijepljenja na rub MDF -a pokazali da ovo neće biti dovoljno jako. Takođe sam već imao gomilu zagrada koje sam reciklirao iz starog projekta;).

Također sam u ovoj fazi zaokružio gornje prednje rubove pomoću usmjerivača s uglom za zaokruživanje. Ovo modulu daje ljepši izgled i ugodniji osjećaj, a oštri rubovi se nalaze na mjestima gdje vaše ruke prirodno počivaju pored kontrola.

Zatim sam izrezao gornji i donji dio od 6 mm MDF -a. Gornju ploču sam zakosio kao kod prednje i stražnje ploče kako bih osigurao dobro prianjanje i besprijekornu završnu obradu. Donju ploču nisam kosio jer je ne namjeravam puniti i bojati. Umjesto toga koristit ću ga kao pristupnu ploču za održavanje. Izbušio sam i upuštene rupe za vijke i izbušio odgovarajuće rupe u kutnim nosačima.

Zatim sam rastavio stražnju ploču i izrezao veliku rupu za redovan pristup USB kablovima i Raspberry PI.

Konačno sam izrezao dugme na gornjoj ploči i rupice džojstika i ponovo ih sastavio. U ovoj fazi nisam fiksirao gornju ploču na mjestu jer sam je želio držati labavom tijekom procesa ožičenja.

Korak 4: Alati i materijali za elektroniku

Napomena: Ova lista je neophodna samo ako želite biti potpuno nervozni oko elektronike. Sve ove stvari možete i vjerojatno biste trebali nabaviti kao dio plug and play kompleta (poput ovih) i izbjeći svo lemljenje i prilagođeno ožičenje. Nakon što sam ovo jednom učinio "na teži način", definitivno ću ići nizom kompleta ako ikada napravim još jedan ormar.

Alati

  • Multimetar/tester za povezivanje
  • Lemilica
  • Rezač žice
  • Alat za presovanje (upravo sam koristio rezač žice)

Materijali

  • Arduino Leonardo/Pro Micro sa USB HID profilom džojstika (koristio sam jeftine klonove)
  • USB čvorište
  • Arkadni džojstik i dugmad.
  • Utisnite konektore koji odgovaraju odabranom džojstiku i tasterima
  • 2x mini ploče
  • Spajanje žica (uglavnom sam koristio Dupont kratkospojnike)
  • Lemljenje elektronike (još sam imao originalnu kolut jezgru sa koledža)
  • Termoskupljajuće cijevi

Korak 5: Ožičenje upravljačkog modula

Ožičenje upravljačkog modula
Ožičenje upravljačkog modula
Ožičenje upravljačkog modula
Ožičenje upravljačkog modula
Ožičenje upravljačkog modula
Ožičenje upravljačkog modula

Opet, preporučujem da razmotrite plug and play komplet umjesto pristupa koji je ovdje dokumentiran. Ovaj pristup slijedite samo ako:

O. Želite potpunu kontrolu nad kodom za rukovanje dugmadima na niskom nivou

B. Zaista uživajte u lemljenju i prilagođenom ožičenju (ko ne)

C. Već imate alate i dijelove i/ili želite uštedjeti nekoliko dolara

D. Želite saznati više o ovim stvarima ili samo vježbati

Moje lične motivacije bile su mješavina gore navedenog. U redu, evo kako sam spojio ožičenje:

Prvo sam napravio adapterske kabele za spajanje preklopnih konektora na gumbima na žice Dupont konektora. Napravio sam jedan od ovih za mikro prekidač na svakom od tastera i četiri na svakom od džojstika. Zavikajte Larryju da stavi van zakona da iskopa proizvodnu liniju za njih.

Zatim sam koristio ove prilagođene kablove za povezivanje gumba i džojstika za unos pinova na svakom od mikrokontrolera putem matičnih ploča.

Napomena: U ovom dizajnu postoji zasebni mikrokontroler i stoga USB kabel za svakog igrača. Podijelite džojstik i mikro prekidače na odgovarajući način između njih i spojite oba flipera na isti mikrokontroler. Pogledajte fotografije koje prikazuju napredovanje kroz faze ožičenja ako zaglavite.

Zatim sam trebao dodati žicu za slanje signala svakom mikro prekidaču koji bi zatim vratio signal na ulazni pin mikrokontrolera kada se pritisne dugme. Koristio sam 4 upletena para u nekom Cat 5e kablu za pružanje signala džojsticima lemljenjem ih sve zajedno na jednom kraju i pričvršćivanjem Dupont konektorskog kabla spojenog na signalnu iglu na mikrokontroleru.

Napravio sam mali kabel od lančića za svaku od grupa od 6 tipki i na kraju upotrijebio prilagođene adapterske kabele na tipkama za pokretanje/odabir i flipere sve ponovo ožičeno na signalni pin mikrokontrolera.

Ožičenje mikroprekidača na mikrokontrolere bilo je prilično jednostavno zbog upotrebe mini ploče i Dupont konektora što je značilo da mogu lako pomicati žice po potrebi.

Korak 6: Kôd kontrolera

Kod kontrolera
Kod kontrolera
Kod kontrolera
Kod kontrolera
Kod kontrolera
Kod kontrolera

Kôd je prilično jednostavan. Izmijenio sam primjer gamepada iz izvrsne Arduino Joystick Library

Možete saznati više o početku rada s tom bibliotekom iz ove praktične upute.

Na kraju ovog koraka imali smo funkcionalan kontroler borbenih palica za 2 igrača pa smo slavili sa nekoliko rundi StreetFighter2 na mom laptopu!

Prvotno sam planirao spojiti mikrokontrolere izravno na Raspberry PI putem USB-a, ali dok sam testirao na prijenosnom računaru otkrio sam da je povezivanje i odspajanje mikro USB konektora na mikrokontrolere putem pristupne ploče bilo vrlo nespretno i na kraju sam prekinuo mikro USB konektor sa jednog od mikrokontrolera.

Rješenje za to bilo je uključivanje USB čvorišta u upravljački modul. To je značilo da je samo jedna veza bila izložena iz upravljačkog modula, a cjelokupno rješenje bilo je mnogo robusnije. Kad je ožičenje završeno, dodao sam otvorene rupe za vijke na gornju ploču i pričvrstio ih.

gamepad.ino

// Jednostavan primjer gamepada koji pokazuje kako čitati pet Arduina
// digitalne pinove i preslikati ih u biblioteku Arduino Joystick.
//
// Digitalni pinovi se uzemljuju kada se pritisnu.
//
// NAPOMENA: Ova skica se koristi za Arduino Leonardo i
// Samo Arduino Micro.
//
// Izmijenjena verzija izvornog koda od Matthew Heironimus
// 2018-08-11
//--------------------------------------------------------------------
#include
Joystick_ Joystick;
voidsetup () {
// Inicijalizacija pinova dugmadi
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);
// Inicijalizacija Joystick Library
Joystick.begin ();
Joystick.setXAxisRange (-1, 1);
Joystick.setYAxisRange (-1, 1);
}
// Zadnje stanje dugmadi
int lastButtonState [12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int pinovi [12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 20, 21};
voidloop () {
// Očitavanje pin vrijednosti
za (intindex = 0; indeks <12; indeks ++)
{
int currentButtonState =! digitalRead (pinovi [indeks]);
if (currentButtonState! = lastButtonState [indeks])
{
prekidač (pinovi [indeks]) {
case2: // GORE
if (currentButtonState == 1) {
Joystick.setYAxis (-1);
} else {
Joystick.setYAxis (0);
}
break;
case3: // DESNO
if (currentButtonState == 1) {
Joystick.setXAxis (1);
} else {
Joystick.setXAxis (0);
}
break;
case4: // DOLJE
if (currentButtonState == 1) {
Joystick.setYAxis (1);
} else {
Joystick.setYAxis (0);
}
break;
case5: // LIJEVO
if (currentButtonState == 1) {
Joystick.setXAxis (-1);
} else {
Joystick.setXAxis (0);
}
break;
case6:
Joystick.setButton (0, currentButtonState);
break;
slučaj7:
Joystick.setButton (1, currentButtonState);
break;
case8:
Joystick.setButton (2, currentButtonState);
break;
case9:
Joystick.setButton (3, currentButtonState);
break;
case10:
Joystick.setButton (4, currentButtonState);
break;
case16:
Joystick.setButton (5, currentButtonState);
break;
case20:
Joystick.setButton (8, currentButtonState);
break;
case21: {
Joystick.setButton (9, currentButtonState);
break;
}
}
lastButtonState [index] = currentButtonState;
}
}
kašnjenje (10);
}

pogledajte rawgamepad.ino hostirano sa ❤ od GitHub -a

Korak 7: Raspberry PI Setup

Raspberry PI Setup
Raspberry PI Setup

Preporučujem Pi 3 za maksimalne performanse i kompatibilnost igara, ali ako vas zanimaju samo starije igre, uređaj sa slabijim napajanjem poput Pi Zero također bi bio u redu. Koristim rezervni Pi 2 koji sam već ležao.

Na webu postoji mnogo sjajnih resursa koji opisuju kako postaviti odabrani Pi ili drugi SBC s različitim emulatorima i prednjim dijelovima. Ja lično koristim i preporučujem RetroPie i otkrio sam da su ovi - odlični - video zapisi sa ETA Prime odličan način da se brzo pokrenete i pokrenete.

Korak 8: Konstrukcija modula prikaza

Konstrukcija modula prikaza
Konstrukcija modula prikaza
Konstrukcija modula prikaza
Konstrukcija modula prikaza
Konstrukcija modula prikaza
Konstrukcija modula prikaza

Konstrukciju modula za prikaz započeo sam sa bočnim pločama, označavajući i izrezujući prve dimenzije izmjerene u SketchUp datoteci pomoću virtualne trake. Zatim sam koristio prvu ploču kao predložak za označavanje druge.

Zatim sam izrezao donju stražnju ploču, pričvrstio neke kutne konzole, a zatim je pričvrstio na bočne ploče. U ovoj fazi sam provjerio odgovara li moj monitor. Bilo je malo čvršće nego što sam očekivao, ali bilo je dovoljno prostora.

Zatim sam dodao donju prednju ploču i izrezao rupe na njoj kako bi odgovarao upravljačkom modulu. Da bih ih označio, postavio sam upravljački modul nasuprot zaslona i ispisao unutrašnjost postojeće rupe u upravljačkom modulu.

U ovoj fazi uspio sam spojiti dva modula pomoću dva vijka za konektor ormara. Sada sam mogao vidjeti konačni oblik kombiniranog modula s gornjom stranom!

Sljedeći korak je bilo usmjeravanje rubova panela. Zbog toga sam ponovo demontirao jedinicu. Takođe sam izrezao rupu za ulaz napajanja i prekidač. Za to sam prvo označio rupu, zatim izbušio uglove s malim drvom i na kraju izrezao preostali materijal pomoću spiralne pile.

Zatim sam ponovo sastavio jedinicu lijepeći svaki komad ovaj put. Budući da sam koristio i zagrade, nisam morao koristiti stezaljke za držanje komada zajedno.

Sada kada je jedinica bila u svom konačnom obliku, izrezao sam ploču ekrana i namjestio je, radeći na njoj brusnim papirom dok ne sjedne čvrsto. Kad sam bio zadovoljan, izvadio sam ga i ubodnom pilom izrezao rupu za zaslon koja odgovara vidljivoj površini ekrana. Ovo je uspjelo da sam mogao testirati ekran na mjestu koristeći neke zagrade kako bih monitor labavo držao u svom položaju.

Spojio sam dva modula da vidim kako izgleda, a zatim završio lijepljenje okvira ekrana na mjesto. Da bih to učinio, dodao sam nekoliko dodatnih komada MDF -a od 6 mm iza okvira ekrana kako bih se uvjerio da je čvrst i kako bih kasnije izbjegao pukotine u boji.

Korak 9: Završite

Završi
Završi
Završi
Završi
Završi
Završi
Završi
Završi

Nakon što se ljepilo potpuno osušilo na modulu zaslona, obilno sam nanio drveno punilo na sve spojeve i mrlje i brusio ga grubim brusnim papirom.

Zatim sam ga premazao razvodnjenom PVA vezom kao prvi brtveni sloj. Zatim sam nanio više slojeva mješavine PVA i bijele boje za drvo/čelik opće namjene koje sam našao u garaži.

Svi ovi početni slojevi naneseni su običnom četkom od 2.

Kad su se osnovni premazi osušili, obavio sam lagano brušenje finim brusnim papirom. Nakon toga sam dodao još jedan sloj bijele boje.

Kad se to osušilo, ponovo sam lagano brusila, a zatim nanijela nekoliko slojeva jeftine sprej boje opće namjene iz limenki koje sam pokupila u željezariji.

Prije nego što ponovim postupak za upravljački modul, izrezao sam gornju stražnju ploču modula zaslona. Ovaj panel ima rupu u sebi kako bih lakše nosio modul ekrana. Također djeluje tako da zvuk ugrađenim zvučnicima monitora izlazi iz kućišta.

U ovoj fazi sam također odlučio ukloniti vijke s gornje ploče upravljačkog modula i umjesto toga ih zalijepiti na mjesto. Kako bih bio siguran, prvo sam zalijepio neke dodatne potporne dijelove.

Kada je upravljački modul bio ofarban, upotrijebio sam Dremel za čišćenje rupica za dugmad i neprestano ih testirao na veličinu jednim od dugmadi. Na kraju sam zalijepio maticu za spajanje namještaja u stražnju stranu upravljačkih modula.

Bio sam razumno zadovoljan rezultirajućim završetkom na kraju ovog koraka s obzirom na količinu uloženog vremena i truda. To nikako nije bilo savršeno i moglo se poboljšati s obzirom na više vremena u ovoj fazi. Zaista ovisi o tome koji nivo završetka želite postići o tome koliko će vremena ovaj korak oduzeti.

Korak 10: Prikaz komponenti modula

  • 19 -inčni monitor sa širokim ekranom sa zvučnicima
  • Raspberry PI 2 single board računar (SBC)
  • Malina PI 2 futrola
  • 2Amp USB adapter za napajanje
  • Mikro-USB kabl
  • Audio kabl od 3,5 mm
  • HDMI kabel
  • Utičnica za mrežno kućište (tip vodilice za čajnik)
  • Kabl za električno kuhalo
  • Dvostruka utičnica

Korak 11: Ožičenje modula zaslona

Ožičenje modula zaslona
Ožičenje modula zaslona
Ožičenje modula zaslona
Ožičenje modula zaslona
Ožičenje modula zaslona
Ožičenje modula zaslona
Ožičenje modula zaslona
Ožičenje modula zaslona

Prvo sam kućištu modula zaslona dodao podnožje i stražnju ploču. Zadnja ploča je učvršćena pomoću magnetskih držača tako da se lako može ukloniti radi brzog pristupa komponentama.

Zatim sam spojio prekidač za napajanje na dvostruku utičnicu za napajanje PI i monitora. Zalemio sam žice za napajanje na prekidač i spojio kablove termoskupljajućim cevima. Ako vam ovaj dio nije potpuno ugodan, potražite pomoć od nekoga kvalificiranog. NEMOJTE riskirati s električnim ožičenjem.

Nakon što sam čvrsto pričvrstio prekidač za kućište, postavio sam monitor na mjesto. S obzirom na već tešku borbu, nekoliko dodatnih plastičnih nosača bilo je sve što je potrebno da se ekran učvrsti na mjestu.

Zatim sam priključio USB adapter za napajanje za PI i vod za čajnik za monitor. Ostalo je samo priključiti audio i video signale na monitor.

Pošto monitor nema HDMI ulaz, koristio sam adapter HDMI na DVI. Zvuk se isporučivao na ugrađene zvučnike monitora putem audio kabla od 3,5 mm iz PI. Sa uključenim zadnjim panelom i maksimalnim postavkama zvuka, jačina zvuka je u redu, ali nije glasna. Možda ću u budućem ažuriranju dodati zvučnike i mini pojačalo.

Konačno sam priključio USB čvorište u PI i mogao sam dopustiti da počne testiranje potpuno funkcionalnog ekranskog modula.

Korak 12: Završna montaža i razmišljanja

Završna skupština i razmišljanja
Završna skupština i razmišljanja
Završna skupština i razmišljanja
Završna skupština i razmišljanja
Završna skupština i razmišljanja
Završna skupština i razmišljanja
Završna skupština i razmišljanja
Završna skupština i razmišljanja

Posljednji posao prije konačne montaže bilo je ponovno ožičenje i sastavljanje upravljačkog modula nakon bojenja. Ovo je prošlo prilično glatko osim prekidanja jedne žice koju je trebalo ponovno zalemiti.

Prije nego što sam spojio upravljačke i ekranske module, izrezao sam nekoliko diskova od prozirne ljepljive kontaktne folije kako bih izbjegao da cijevi konektora za namještaj strše iz upravljačkog modula od ogrebotina na lajsni modula zaslona.

Tada je bio samo jednostavan zadatak postaviti module i spojiti ih zajedno. U ovoj fazi gornja jedinica je potpuno potpuna i spremna za akciju. Čini se da će ovo biti preferirana konfiguracija, pa barem neko vrijeme neću morati konstruirati modul za postolje. Ako i kada to učinim, ažurirat ću ovaj post. Sam modul postolja trebao bi biti najjednostavniji od svih. To je u osnovi jednostavan ormar za skladištenje s otvorima za vijke na vrhu za spajanje na gornju jedinicu šipke.

Bilo mi je super raditi na ovom projektu sa svojom djecom. Puno smo naučili i sada se radujemo sviranju mnogih starih arkadnih i konzolnih klasika na novoj mašini. Hvala vam na čitanju i javite nam šta mislite o projektu u komentarima!

Preporučuje se: