Sadržaj:
- Korak 1: Hardver
- Korak 2: Sheme
- Korak 3: Skica/Kod
- Korak 4: Šta je sa ulaznim zaostajanjem?
- Korak 5: Šta je sa Jamma Racing ormarićima?
- Korak 6: Neka slika, ili se to nije dogodilo
Video: Jammarduino DUE - DIY PC to Jamma sučelje za arkadne ormare: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Ova instrukcija će vam pokazati kako stvoriti jednostavan štit za Arduino DUE za povezivanje prave arkadne mašine sa CRT -om niske rezolucije i jamma konektorom na vašem računaru.
Glavne svrhe štita su:
- za pojačavanje video signala koji dolazi s video kartice (preniski napon za originalni Arcade CRT monitor)
- za zaštitu vašeg CRT monitora niske rezolucije od previsokih frekvencija horizontalnih signala sinhronizacije
- da "prevedete" pritisnute tipke na arkadnoj kontrolnoj ploči u nešto što računar može podnijeti
Pokazat ću vam kako proširiti upotrebu sučelja za upravljanje kotačima i spinnerima Arcade Racing.
Obratite pažnju: štit NE prisiljava signal video sinkronizacije na niske frekvencije: za to vam je potreban neki poseban softver. Predlažem vam da koristite CRT emudrivere ili Soft15KHz.
Korak 1: Hardver
Pretpostavit ću da ručno imate stanicu za lemljenje i malo lima i znate ih koristiti. S obzirom da je video pojačalo SMD sa razmakom od 0,65 mm, predlažem vam da kupite malo fluksa za lemljenje koji će pomoći u lemljenju tog mikroba. Koristio sam jeftinu "ne-čistu" Rosing blago aktiviranu (RMA) olovku s odličnim rezultatima.
Interfejs se sastoji od:
- 1x ploča mikrokontrolera Arduino DUE
- 1x THS7374 video pojačalo
- 1x TSSOP14 na DIP14 adapter
- 1x audio pojačalo
- 1x jamma fingerboard
- 1x prototipna ploča 5x7 cm, dvostrana
- 1x 1N4148 dioda
- 7x 1Kohm otpornici
- 1x 820 ohmski otpornik
- 3x 220 ohmski otpornik
- 1x linija traka, razmak 2,54 mm
- 1x VGA kabl
- 1x audio kabl
Korak 2: Sheme
Evo obojene sheme cjelokupnog projekta. Nije tako ortodoksno, ali je lakše pratiti, nadam se.
Ožičenje je jednostavno koliko i izgleda:
- linije u boji dolaze od PC VGA konektora do video pojačala; Otpornik od 1Kohm na masu smanjuje struju na ulaz video pojačala. Na izlaznoj strani serijski otpor smanjuje struju na arkadni CRT.
- linija za sinhronizaciju je nekako "složenija": odvojena sinhronizacija od VGA -a je prvo kompozitna, a zatim je snižena razdjelnikom napona kako bi se poštovale Arduino DUE specifikacije (3,3 V logika). Razdjelnik napona izračunava se pod pretpostavkom 5V sinhronizacijskog signala.
- video pojačalo (THS7374) se može napajati na 3.3V ili 5V; budući da napajanje na 5V dopušta širi raspon ulaznih napona/signala i da se THS7374 može kontrolirati sa 3,3 V čak i ako je istisnut na 5 V, krenuo sam putem 5 V.
- video uzemljenje, uzemljenje arduino DUE, uzemljenje THS7374 i uzemljenje konektora jamma su kratko spojeni.
- Arduino DUE 5V i Jamma 5V vodovi ne smiju biti kratki.
- NE izvlačite audio pojačalo s USB kabela: za to vam je potreban vanjski izvor zbog ograničenja struje (tj. PC ATX PSU). Time ćete oštetiti USB priključak ili čak računalo.
VGA konektor: riječ opreza
Nedavno sam imao priliku ažurirati računar koji se koristi sa mojim jammarduino DUE. Čak i da sam ga ranije testirao na dva različita računara, oba su koristila ATI kartice iste porodice (ATI 9250 i 9550). Novi računar je opremljen HD5750 sa jednim DVI analognim izlazom (bez VGA). To me prisililo da koristim (pasivni) adapter DVI na VGA. Pa, nakon malo napora, primijetio sam da VGA kabel spojen na adapter za rad MORA imati samo uzemljenje spojeno na pin 5 VGA konektora, a ne pinove od 6 do 10 kao što je prijavljeno u većini shema na webu. Imajte ovo na umu u slučaju da ne možete vidjeti nikakav signal za sinkronizaciju iz vaše video kartice.
Korak 3: Skica/Kod
Najprije morate instalirati Arduino IDE; morate instalirati i SAM Cortex M3 Core (nije podrazumevano prisutno). Na kraju, ali ne i najmanje važno, instalirajte Arduino DUE upravljačke programe. Za najnovije informacije pogledajte službeni vodič "Početak rada s Arduino Due".
Skica koju morate postaviti na svoj Arduino DUE nalazi se ovdje u prilogu. Raspakirajte i učitajte "jammarduinoDUE.ino" u Arduino IDE, a zatim otpremite u arduino DUE putem "programskog" porta. Nakon što je skica uspješno učitana, odspojite USB kabel iz "programskog" porta i povežite Arduino DUE preko "Native USB" porta ili ulazni dio koda neće raditi.
U osnovi, Arduino DUE mjeri frekvenciju sinkronizacije i onemogućuje video pojačalo kada je sinkronizacija previsoka za CRT s niskom razlučivošću. Arduino DUE upravlja i ulazima koji dolaze s upravljačke ploče, šaljući zadane MAME tipke pri određenom pritisku tipke. Uključena je i funkcija pomaka (aktivirana držanjem tipke P1 START pritisnutom), poput komercijalnih sučelja.
U tablici zadana mapa tipki. Možete jednostavno promijeniti zadanu mapu ključeva ili lako dodati gumbe izravno na skicu.
Na primjer, ako želite dodijeliti tipke za kontrolu jačine zvuka za vaš emulator, trebali biste definirati te tipke (recimo tipkovnica "+" za pojačavanje glasnoće i tipkovnica "-" za smanjenje glasnoće) u meniju emu tipki, prvo; zatim dodajte pomaknutu tipku tipkama kojima želite dodijeliti povećanje ili smanjenje glasnoće. Recimo da želim povećati glasnoću pritiskom na tipku shift i tipku Player 1. Promijenit ću liniju
{26, HIGH, 0, 180, 180}, // razmak - P1 B3
to
{26, HIGH, 0, 180, 223}, // razmak - P1 B3 (+)
To "223" je ASCII kôd znaka za tastaturu "+".
Dopustit ću vam da shvatite kako dodijeliti "-" (ili što god želite) funkciji "smanjivanja glasnoće" kao vježbu (Savjet: ASCII kod 222):)
Imajte na umu da u MAME -u možete dodijeliti samo volumen načina rada usluge, a ne opći volumen emulacije; to znači da ako emulirana ploča ne dopušta softversku kontrolu glasnoće, to neće utjecati na glasnoću.
Korak 4: Šta je sa ulaznim zaostajanjem?
Napravio sam neke testove da vidim koliko zaostatka kod može unijeti; Pa, slanjem 3 dugmeta istovremeno pritisnite kompletnu petlju potrebno je oko 4 ms da se izvrši, do sada manje od 33 ms okvir traje pri 30 FPS.
Korak 5: Šta je sa Jamma Racing ormarićima?
Potenciometar
Ako je vaš ormar trkački ormar, vrlo je vjerojatno da je kotač zasnovan na potenciometru (na stražnjoj strani upravljačke ploče možete vidjeti potenciometar od 5Kohm).
Prvo, preuzmite i instalirajte Joystick biblioteku (za današnji dan se samo verzija 1 biblioteke kaže da je kompatibilna s arduino DUE, ali je i dalje vrlo dobra biblioteka).
Zatim dodajte nekoliko redaka koji slijede skici u koraku 4 da biste lako rukovali kotačem (gdje postaviti linije, vama ostaje kao vježba …)
#include
int deadZone = 0;
void setup () {
Joystick.begin ();}
void loop () {{100} {101}
int readPot = analogRead (A3);
int wheelPos = mapa (readPot, 0, 1023, -127, 127);
if (wheelPos> deadZone || wheelPos <-deadZone) {Joystick.setXAxis (wheelPos);}
else {Joystick.setXAxis (0);} {101}
}
Kao što vidite, po potrebi možete postaviti mrtvu zonu (u arkadnom kotaču koji dobro radi najbolje je postaviti je na nulu).
Ožičenje potenciometra na Arduino DUE je jednostavno: bočni pinovi potenciometra idu na +3,3 V i GND, igle brisača na analogni priključak arduino DUE (pogledajte sliku za referencu). Ovdje sam definirao analogni pin 3 (A3) kao ulaz za brisač potenciometra kotača, ali možete postaviti analogni pin koji najbolje odgovara vašim potrebama.
PS: znate li da se pedalama u trkačkim ormarićima često upravlja potenciometrom, nego su tehnički točkovi i pedale isti uređaj različitog oblika? To znači da bi se kod ovdje mogao koristiti i za kontrolu originalnih arkadnih pedala;)
Optički točak
Ako je vaš kotač optički, njime se također može lako rukovati, opet, s malom izmjenom početne skice.
Vrlo uobičajen ispis za optičke arkadne kodere (Taito centrifugalice, koderi Atari kotača itd.) Je:
1. OptoA OUT
2. +5V
3. GND
4. OptoB OUT
Spojite 2. i 3. na Arduino DUE 5V i GND i 1. i 4. na bilo koji digitalni pin koji volite pazeći da je razdjelnik napona potreban za snižavanje 5V izlaza optičkog kodera na 3.3V arduino DUE koji može podnijeti. Ne šaljite OptoA i/ili OptoB 5V izlaze izravno na vaše arduino DUE ulaze ili ćete vjerojatno ispržiti te ulaze ili čak cijelu ploču. Upozoreni ste.
U primjeru skice ovdje ću koristiti digitalni pin 2 i digitalni pin 3 kao optički izlaz A i optički izlaz B.
#include
logički optA_state = HIGH;
int xAxisMov = 2;
void setup () {
pinMode (2, INPUT_PULLUP); // OptA
pinMode (3, INPUT_PULLUP); // OptB
Mouse.begin ();
}
void loop () {{100} {101}
if (optA_state == HIGH && digitalRead (2) == LOW) {
optA_state =! optA_state;
if (digitalRead (3) == HIGH) {Mouse.move (xAxisMov, 0, 0);} else {Mouse.move (-xAxisMov, 0, 0);}}} // kraj petlje
Ovo je 1X optičko kodiranje niske rezolucije. To je više nego dovoljno za arkadne aplikacije, ali možete lako povećati rezoluciju dodavanjem neke linije koda.
PS: znate li da su optički arkadni kotači i arkadni spineri tehnički isti uređaj različitog oblika? Znate li da su trackball -ovi tehnički dvoosni spinner? To znači da bi se ovaj kôd mogao koristiti za kontrolu originalnih arkadnih okretača, a uz nekoliko lakih izmjena i za promjenu;)
Korak 6: Neka slika, ili se to nije dogodilo
Evo nekoliko slika štita koji sam napravio. To nije posao na visokom nivou (kladim se, nisam profesionalac), ali 100% se ljulja u mom jamma Arkadnom ormaru!
Preporučuje se:
ESP32 VGA Arkadne igre i joystick: 6 koraka (sa slikama)
ESP32 VGA arkadne igre i joystick: U ovom uputstvu pokazat ću kako reproducirati četiri arkadne igre - Tetris - Zmija - Proboj - Bombaš - koristeći ESP32, s izlazom za VGA monitor. Rezolucija je 320 x 200 piksela, u 8 boja. Ranije sam radio verziju sa
Dodajte LED diode na svoje arkadne štapiće Sanwa tipke!: 6 koraka (sa slikama)
Dodajte LED diode na svoje arkadne štapiće Sanwa tipke !: Postoji mnogo LED rješenja dostupnih za vašu borbenu palicu ili arkadni ormar, ali verzije bez lemljenja ili kupljene u trgovini mogu koštati prilično. Budući da nisam na posebno dobro plaćenom poslu, ali i dalje želim neki LED štih na svojoj borbenoj palici, pretražio sam
ITTT Rolando Ritzen - Arkadne rukavice za kontrolu kretanja: 5 koraka
ITTT Rolando Ritzen - Arkadna rukavica za upravljanje pokretom: Ručne ruke su vam potrebne za upravljanje pokretima za pucače na šini. Ovaj trik je zasnovan na kontroli kretanja, uključujući i njegovo kretanje. (Je li tiho otvorio " prst udario ")
Modularno kućište arkadne konzole MAME - MMACE: 9 koraka (sa slikama)
Modularno kućište arkadne konzole MAME - MMACE: Danas gradimo vlastitu MAME konzolu za 4 igrača koristeći modularno kućište arkadne konzole Mame (ili MMACE). Ovo je drveni komplet koji se može proširiti sa 2 na 3, 4, 5 ili više igrača pomoću isprepletenih sekcija. Fokusirat ćemo se na 4 predstave
Arduino Arkadne lego kutije za igre: 19 koraka (sa slikama)
Arduino Arkadne lego kutije za igre: Ako imate djecu, vjerojatno ćete se suočiti s istim problemima kao i mi s Lego setovima koje ste im kupili. Sastavljaju se i igraju s njima, ali se nakon nekog vremena kompleti pretvaraju u jednu hrpu cigli. Djeca odrastaju i ne znate šta biste