Sadržaj:

Modularni arkadni stroj: 12 koraka
Modularni arkadni stroj: 12 koraka

Video: Modularni arkadni stroj: 12 koraka

Video: Modularni arkadni stroj: 12 koraka
Video: PİL PUNTA MAKİNESİ - TAŞINABİLİR PİL PUNTA ( NOKTA KAYNAK ) MAKİNESİ DEVRE KARTI #işbirliği 2024, Srpanj
Anonim
Modularni arkadni stroj
Modularni arkadni stroj

Moja dva dječaka i ja htjeli smo izgraditi arkadni stroj, ali nismo mogli odlučiti koju vrstu graditi između punog stojećeg ormara, gornje ploče ili konzole u stilu borbene palice koju ćemo priključiti na 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 odabira komponenti, ovo je također prilično jeftina gradnja u usporedbi s mnogim projektima kućnih arkadnih strojeva, 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: Dizajn

Oblikovati
Oblikovati
Oblikovati
Oblikovati
Oblikovati
Oblikovati

Osnovni koncept dizajna je arkadni sustav za dva igrača koji se sastoji od niza neovisnih 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 se modul može koristiti kontroler u stilu borbene palice spojen na konzolu ili Raspberry PI.
  • Modul zaslona sadrži zaslon i Raspberry PI (ili vaš izbor SBC-a) i može se koristiti samostalno kao "sve-u-jednom" računalo ili spojen na upravljački modul kako bi se formirala arkadna jedinica s bartonom.
  • Modul postolja djeluje kao jedinica za pohranu u samostalnom načinu rada, a u kombinaciji s šipkom tvori potpuni arkadni stroj za stajanje.

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 te izbjegavajući nefunkcionalne elemente poput svjetlosnog okvira i T -kalupa koji se nalaze u mnogim ormarićima. Naravno, možete izmijeniti dizajn tako da dodate ove elemente ako želite.

Odlučio sam se za prilično klasičan izgled gumba kojeg sam se sjećao iz arkada svoje mladosti s nizom gumba "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đer sam sa svake strane postavio gumb za fliper. Naravno, možete slobodno izmijeniti dizajn prema vlastitom ukusu i željenim metodama unosa, npr. trackballs. ponderirani predilice itd.

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

Bazirao sam se dimenzijama oko 19 -inčnog monitora sa širokim ekranom koji sam kupio rabljen 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 točna mjerenja svih dimenzija. Prilikom rezanja određene ploče ili rupe upotrijebio 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 KADA UPRAVLJATE Alatima za napajanje

Alati

  • Odvijač i vijci
  • Stolna pila ili kružna pila
  • Jigsaw
  • Svrdla i različiti nastavci, uključujući pilu za rupe od 28 mm za gumbe
  • Šmirgl papir
  • Usmjerivač i zaobljeni kut

Materijali

  • 19 mm (3/4 ") MDF ploče
  • 6 mm (3/4 ") MDF ploče
  • Kutni nosači (koristio sam neke zaista zgodne plastične - pogledajte fotografije konstrukcije)
  • Punilo za drvo
  • Bojanje (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 započeo sam izrezivanjem stranica iz 19 mm MDF -a na temelju dimenzija iz modela SketchUp.

Zatim sam izrezao prednju i stražnju ploču. Označio sam kosine na tim pločama stavljajući ih čvrsto uz stranice i označavajući kut olovkom, a zatim spojivši oznake s obje strane ravnim rubom. Zatim sam ga izrezao vidom u stolnoj pili i završio brusnim papirom. Siguran sam da postoji bolji način za to 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 te sve ploče spojio kutnim nosačima i vijcima. U početku sam planirao koristiti ljepilo, ali činilo se da su moji testovi lijepljenja na rub MDF -a pokazali da to neće biti dovoljno jako. Također sam već imao hrpu 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. To modulu daje ljepši izgled i ugodniji osjećaj, a oštri rubovi se nalaze na mjestima gdje vaše ruke prirodno počivaju uz kontrole.

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 zakosila 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 kabelima i Raspberry PI.

Konačno sam izrezao gumb gornje ploče i rupicu upravljačke palice i ponovno 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: Elektronički alati i materijali

Napomena: Ovaj je popis potreban samo ako želite biti potpuno nervozni u vezi s elektronikom. Sve te 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 to jednom učinio "na teži način", definitivno ću krenuti kompletom ako ikada napravim još jedan ormar.

Alati

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

Materijali

  • Arduino Leonardo/Pro Micro sa USB HID profilom upravljačke palice (koristio sam jeftine klonove)
  • USB čvorište
  • Arkadni joystick i gumbi.
  • Utisnite konektore koji odgovaraju odabranoj upravljačkoj palici i gumbima
  • 2x mini ploče
  • Spajanje žica (uglavnom sam koristio Dupont žice za kratkospojnike)
  • Lemljenje elektronike (još sam imao originalnu kolut jezgru s 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 gumbima niske razine

B. Zaista uživajte u lemljenju i prilagođenom ožičenju (tko 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 osobne 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 njih za mikroprekidač u svakom od gumba i četiri u svakom od upravljačkih palica. Zavapite Larryja izvan zakona da iskopa proizvodnu liniju za njih.

Zatim sam koristio ove prilagođene kabele za povezivanje gumba i upravljačkih palica 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 obje flipere na isti mikrokontroler. Pogledajte fotografije na kojima se vidi napredak 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 tipka. Koristio sam 4 upletena para u nekom Cat 5e kabelu za pružanje signala joysticcima tako što sam ih sve lemio zajedno na jednom kraju i spojio Dupont konektorski kabel spojen na signalnu iglu na mikrokontroleru.

Napravio sam mali kabel s tratinčicom za svaku od skupina od 6 gumba i na kraju upotrijebio prilagođene adapterske kabele na gumbima za pokretanje/odabir i flipere, sve ožičeno na signalni pin mikrokontrolera.

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

Korak 6: Kôd kontrolera

Kôd kontrolera
Kôd kontrolera
Kôd kontrolera
Kôd kontrolera
Kôd kontrolera
Kôd 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 borbene palice za 2 igrača pa smo slavili s nekoliko rundi StreetFighter2 na mom prijenosnom računalu!

Prvotno sam planirao spojiti mikrokontrolere izravno na Raspberry PI putem USB-a, ali tijekom testiranja na prijenosnom računalu otkrio sam da je povezivanje i odvajanje mikro USB konektora na mikrokontrolere putem pristupne ploče vrlo nespretno te sam na kraju prekinuo mikro USB priključak s 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, na gornju ploču sam dodao upuštene rupe za vijke i pričvrstio ih.

gamepad.ino

// Jednostavan primjer gamepada koji pokazuje kako čitati pet Arduina
// digitalne pinove i preslikati ih u knjižnicu Arduino Joystick.
//
// Digitalni pinovi se uzemljuju kad se pritisnu.
//
// NAPOMENA: Ova skica se koristi za Arduino Leonardo i
// samo Arduino Micro.
//
// Modificirana verzija izvornog koda Matthewa Heironimusa
// 2018-08-11
//--------------------------------------------------------------------
#uključi
Joystick_ Joystick;
voidsetup () {
// Inicijalizacija pinova gumba
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);
// Pokretanje knjižnice joysticka
Joystick.begin ();
Joystick.setXAxisRange (-1, 1);
Joystick.setYAxisRange (-1, 1);
}
// Posljednje stanje gumba
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);
}
pauza;
case3: // DESNO
if (currentButtonState == 1) {
Joystick.setXAxis (1);
} else {
Joystick.setXAxis (0);
}
pauza;
case4: // DOLJE
if (currentButtonState == 1) {
Joystick.setYAxis (1);
} else {
Joystick.setYAxis (0);
}
pauza;
case5: // LIJEVO
if (currentButtonState == 1) {
Joystick.setXAxis (-1);
} else {
Joystick.setXAxis (0);
}
pauza;
slučaj 6:
Joystick.setButton (0, currentButtonState);
pauza;
slučaj 7:
Joystick.setButton (1, currentButtonState);
pauza;
slučaj 8:
Joystick.setButton (2, currentButtonState);
pauza;
slučaj 9:
Joystick.setButton (3, currentButtonState);
pauza;
slučaj10:
Joystick.setButton (4, currentButtonState);
pauza;
case16:
Joystick.setButton (5, currentButtonState);
pauza;
slučaj20:
Joystick.setButton (8, currentButtonState);
pauza;
case21: {
Joystick.setButton (9, currentButtonState);
pauza;
}
}
lastButtonState [index] = currentButtonState;
}
}
kašnjenje (10);
}

pogledajte rawgamepad.ino hosted with ❤ by GitHub

Korak 7: Postavljanje PI za Raspberry

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 slabije snage 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. Osobno koristim i preporučujem RetroPie i otkrio sam da su ovi - izvrsni - videozapisi s ETA Prime odličan način za brzo pokretanje i rad.

Korak 8: Konstrukcija modula zaslona

Konstrukcija modula zaslona
Konstrukcija modula zaslona
Konstrukcija modula zaslona
Konstrukcija modula zaslona
Konstrukcija modula zaslona
Konstrukcija modula zaslona

Započeo sam izradu modula zaslona sa bočnim pločama, označavajući i izrezujući prve dimenzije izmjerene iz datoteke SketchUp pomoću virtualne trake. Zatim sam prvu ploču koristio kao predložak za označavanje druge.

Zatim sam izrezao donju stražnju ploču, pričvrstio neke kutne zagrade, 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 mjesta.

Zatim sam dodao donju prednju ploču i izrezao rupe na njoj kako bi odgovarao upravljačkom modulu. Kako 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 spajanje ormara. Sada sam mogao vidjeti konačni oblik kombiniranog modula s vrhom!

Sljedeći korak bio je usmjeravanje rubova panela. Zbog toga sam ponovno demontirao jedinicu. Također 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 ponovno sastavio jedinicu lijepeći svaki komad ovaj put. Budući da sam koristio i zagrade, nisam morao koristiti stezaljke za držanje komada zajedno.

Sad kad je jedinica bila u svom konačnom obliku, izrezao sam ploču ekrana i namjestio je, radeći na njoj brusnim papirom dok dobro ne sjedne. Kad sam bio zadovoljan, izvadio sam ga i ubodnom pilom izrezao rupu za zaslon koja odgovara vidljivom području zaslona. Nakon toga uspio sam testirati zaslon 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 neke dodatne komade 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 razrijeđenim PVA lijepljenjem kao prvi brtveni sloj. Zatim sam nanio više slojeva mješavine PVA i bijele boje za drvo/čelik opće namjene koju sam našao u garaži.

Svi ti 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 osušilo, ponovno 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 zaslona. Ova ploča ima rupu u sebi kako bih lakše mogao nositi modul zaslona. 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. Kako bih bio siguran, prvo sam zalijepio neke dodatne potporne dijelove.

Kad je upravljački modul obojen, upotrijebio sam Dremel za čišćenje rupica za gumbe, neprestano ih testirajući na veličinu jednim od gumba. Na kraju sam zalijepio maticu spojnice 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 utrošenog vremena i truda. To nikako nije bilo savršeno i moglo se poboljšati s obzirom na više vremena u ovoj fazi. Doista ovisi o tome koju razinu završetka želite postići o tome koliko će vremena ovaj korak oduzeti.

Korak 10: Komponente modula zaslona

  • 19 -inčni monitor sa širokim ekranom sa zvučnicima
  • Računalo za jedno ploču s malinama PI 2 (SBC)
  • Malina PI 2 kućište
  • 2Amp USB adapter za napajanje
  • Mikro-USB kabel
  • Audio kabel od 3,5 mm
  • HDMI kabel
  • Utičnica za mrežno kućište (tip vodilice za čajnik)
  • Kabel 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. Stražnja je ploča pričvršćena pomoću magnetskih zatvarač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 kabele sa termoskupljajućom cijevi. 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č na 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 za učvršćivanje zaslona na mjestu.

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

Budući da monitor nema HDMI ulaz, koristio sam adapter za HDMI na DVI. Zvuk se isporučivao na ugrađene zvučnike monitora putem audio kabela od 3,5 mm iz PI-ja. S uključenom stražnjom pločom i maksimalnim postavkama zvuka, glasnoća 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 operativnog zaslona.

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. To je prošlo prilično glatko osim što je prekinuta jedna žica koju je trebalo ponovno zalemiti.

Prije kombiniranja upravljačkih i zaslonskih modula izrezao sam nekoliko diskova od prozirne ljepljive kontaktne folije kako bih izbjegao da cijevi konektora namještaja vire iz upravljačkog modula od ogrebotina po laku modula zaslona.

Tada je bio samo jednostavan zadatak postaviti module i spojiti ih zajedno. U ovoj je fazi gornja ploča potpuno dovršena i spremna za radnju. Čini se da će ovo biti željena konfiguracija pa neću morati konstruirati modul postolja barem neko vrijeme. 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 odlaganje s rupama 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 novom stroju. Hvala vam na čitanju i javite nam što mislite o projektu u komentarima!

Preporučeni: