Tartalomjegyzék:

Jammarduino DUE - DIY PC - Jamma interfész az árkád szekrényekhez: 6 lépés
Jammarduino DUE - DIY PC - Jamma interfész az árkád szekrényekhez: 6 lépés

Videó: Jammarduino DUE - DIY PC - Jamma interfész az árkád szekrényekhez: 6 lépés

Videó: Jammarduino DUE - DIY PC - Jamma interfész az árkád szekrényekhez: 6 lépés
Videó: 3D hologram fan portrait solution. Who wanna date this holographic sexy lady #3dhologramfan 2024, November
Anonim
Jammarduino DUE - DIY PC Jamma interfész árkád szekrényekhez
Jammarduino DUE - DIY PC Jamma interfész árkád szekrényekhez

Ez az oktatóanyag megmutatja, hogyan lehet egyszerű pajzsot létrehozni az Arduino DUE számára, hogy egy valódi arcade gépet illesszen a számítógéphez alacsony felbontású CRT -vel és jamma csatlakozóval.

A pajzs fő öntvényei a következők:

- a videokártyáról érkező videojel erősítésére (túl alacsony feszültség az eredeti Arcade CRT monitorhoz)

- hogy megvédje az alacsony felbontású CRT monitort a túl magas frekvenciájú vízszintes szinkronjelektől

- az arcade vezérlőpult gombnyomásának "lefordításához" a PC képes

Megmutatom, hogyan lehet kiterjeszteni az interfész használatát az Arcade Racing kerekek és fonók vezérlésére.

Megjegyzés: a pajzs NEM erőlteti a videoszinkronizációs jelet alacsony frekvenciákra: ehhez speciális szoftverre van szüksége. Javaslom, hogy CRT emudrivert vagy Soft15KHz -et használjon.

1. lépés: Hardver

Feltételezem, hogy van forrasztóállomása és néhány ón kézzel, és tudja, hogyan kell használni őket. Mivel a videóerősítő 0,65 mm -es SMD -s SMD, javaslom, hogy vásároljon forrasztóáramot a mikroba forrasztásához. Olcsó "nem tiszta" Rózsás enyhén aktivált (RMA) tollat használtam, kiváló eredménnyel.

A felület a következőkből áll:

- 1x Arduino DUE mikrovezérlő kártya

- 1x THS7374 videoerősítő

- 1x TSSOP14 - DIP14 adapter

- 1x audió erősítő

- 1x jamma fogólap

- 1x 5x7 cm -es prototípus tábla, kétoldalas

- 1x 1N4148 dióda

- 7x 1Kohm ellenállás

- 1x 820 ohmos ellenállás

- 3x 220 ohmos ellenállás

- 1x szalagvonal, 2,54 mm távolság

- 1x VGA kábel

- 1x audio kábel

2. lépés: Vázlatok

Vázlatok
Vázlatok

Íme a teljes projekt színes sémája. Nem annyira ortodox, de könnyebben követhető, remélem.

A huzalozás olyan egyszerű, mint amilyennek látszik:

- a színes vonalak a PC VGA csatlakozójától a videóerősítőig érkeznek; 1Kohm ellenállás a földre csökkenti az áramot a videoerősítő bemenetére. A kimeneti oldalon a soros ellenállás csökkenti az áramot az arcade CRT -re.

- a szinkronizálási vonal valahogy "összetettebb": a VGA -tól külön szinkronizálást először kompozitból készítik, majd feszültségosztóval csökkentik, hogy tiszteletben tartsák az Arduino DUE specifikációit (3,3 V -os logika). A feszültségosztót 5V szinkronjelet feltételezve számítják ki.

- a videoerősítő (THS7374) 3,3 V vagy 5 V feszültséggel működhet; lévén, hogy az 5 V -os tápellátás a bemeneti feszültségek/jelek szélesebb tartományát teszi lehetővé, és hogy a THS7374 3,3 V -al vezérelhető, még akkor is, ha 5 V -os gyümölcslé van, én az 5 V -os utat választottam.

- video földelés, arduino DUE földelés, THS7374 földelés és jamma csatlakozó test rövidzárlatos.

- Az Arduino DUE 5V és a Jamma 5V vonalakat NEM KELL RÖVIDEN KÖRÖZNI.

- NE töltse ki az audió erősítőt az USB -kábelből: ehhez külső forrásra van szüksége az áramkorlátok miatt (pl. A PC ATX tápegység). Ezzel megsérül az USB -port vagy akár a számítógép.

VGA csatlakozó: óvatosan

Nemrég volt lehetőségem frissíteni a jammarduino DUE -vel használt PC -t. Még ha korábban két különböző PC -vel is teszteltem, mindketten ugyanazon család ATI kártyáit használták (ATI 9250 és 9550). Az új PC HD5750 -el lett felszerelve, egyetlen DVI analóg kimenettel (nincs VGA). Ez kényszerített egy (passzív) DVI -VGA adapter használatára. Nos, némi küszködés után észrevettem, hogy az adapterhez csatlakoztatott VGA -kábelnek KIZÁRÓLAG csak a földet kell csatlakoztatnia a VGA -csatlakozó 5. tüskéjéhez, és nem a 6–10. Ne feledje ezt, ha nem lát szinkronjelet a videokártyán.

3. lépés: Vázlat/kód

Vázlat/kód
Vázlat/kód

Először telepítenie kell az Arduino IDE -t; telepítenie kell a SAM Cortex M3 Core -t is (alapértelmezés szerint nincs jelen). Végül, de nem utolsó sorban telepítse az Arduino DUE illesztőprogramokat. A legfrissebb információkért tekintse meg a hivatalos „Első lépések az Arduino Due” bemutatóval.

Az Arduino DUE -re feltöltendő vázlat itt található. Csomagolja ki és töltse be a "jammarduinoDUE.ino" fájlt az Arduino IDE -be, majd töltse fel az arduino DUE -ba a "programozási" porton keresztül. A vázlat sikeres feltöltése után húzza ki az USB -kábelt a "programozási" portból, és csatlakoztassa az Arduino DUE -t a "natív USB" porton keresztül, különben a kód beviteli része nem fog működni.

Alapvetően az Arduino DUE méri a szinkronizálás gyakoriságát, és letiltja a videóerősítőt, ha a szinkron túl magas az alacsony felbontású CRT -hez. Az Arduino DUE kezeli a vezérlőpultról érkező bemeneteket is, és az alapértelmezett MAME kulcsokat elküldi a gomb megnyomásakor. A váltó funkció (a P1 START gomb lenyomva tartásával aktiválható) szintén tartalmazza a kereskedelmi interfészeket.

A táblázatban az alapértelmezett kulcskép. Könnyedén megváltoztathatja az alapértelmezett kulcstérképet, vagy tetszés szerint hozzáadhat gombokat közvetlenül a vázlathoz.

Például, ha hangerő-szabályozó gombokat szeretne rendelni az emulátorához, először ezeket a billentyűket kell megadnia (mondjuk a "+" billentyűzetet a hangerő növeléséhez és a billentyűzetet "-" a hangerő csökkentéséhez); majd adja hozzá az eltolt gombot azokhoz a gombokhoz, amelyekhez hozzá szeretné rendelni a hangerő növelését vagy csökkentését. Tegyük fel, hogy növelni akarom a hangerőt a Shift billentyű és a Player 1 gomb 3 megnyomásával. Módosítom a sort

{26, HIGH, 0, 180, 180}, // szóköz - P1 B3

nak nek

{26, HIGH, 0, 180, 223}, // szóköz - P1 B3 (+)

Ez a "223" a "+" billentyűzet ASCII karakterkódja.

Megengedem, hogy kitaláld, hogyan rendelheted hozzá a "-" (vagy bármit, amit jobban szeretnél) a "hangerőcsökkentés" funkcióhoz (tipp: ASCII-kód 222):)

Ne feledje, hogy a MAME -ben csak a szervizmód hangerejét rendelheti hozzá, az általános emulációs hangerőt nem; ez azt jelenti, hogy ha az emulált kártya nem teszi lehetővé a szoftver hangerejének szabályozását, a hangerő nem lesz hatással.

4. lépés: Mi a helyzet a bemeneti késéssel?

Végeztem néhány tesztet, hogy lássam, mekkora késést hozhat be a kód; Nos, 3 gomb egyidejű megnyomásával egy teljes ciklus végrehajtása körülbelül 4 ms -ot vesz igénybe, eddig kevesebb, mint a 33 ms -os képkocka 30 FPS -nél.

5. lépés: Mi a helyzet a Jamma Racing szekrényekkel?

Mi a helyzet a Jamma Racing szekrényekkel?
Mi a helyzet a Jamma Racing szekrényekkel?

Potenciométer kerék

Ha a szekrény versenyszekrény, akkor nagyon valószínű, hogy a kerék potenciométeren alapul (az 5Kohm potenciométert a kezelőpanel hátsó oldalán láthatja).

Először is töltse le és telepítse a Joystick könyvtárat (a mai napig csak a könyvtár 1. verziója kompatibilis az arduino DUE -val, de még mindig nagyon jó könyvtár).

Ezután adja hozzá a következő néhány sort a vázlathoz a 4. lépésben, hogy könnyen kezelje a kereket (hol kell elhelyezni a vonalakat, gyakorlásként hagyja rá magát …)

#befoglalni

int deadZone = 0;

void setup () {

Joystick.begin ();}

void loop () {

int readPot = analógRead (A3);

int wheelPos = térkép (readPot, 0, 1023, -127, 127);

if (wheelPos> deadZone || wheelPos <-deadZone) {Joystick.setXAxis (wheelPos);}

else {Joystick.setXAxis (0);}

}

Amint látja, szükség esetén beállíthat egy holtteret (egy jól működő arcade kerékben a legjobb, ha nullára állítja).

A potenciométer csatlakoztatása az Arduino DUE -hez egyszerű: a potenciométer oldalsó csapjai +3,3 V -ra és GND -re mennek, az ablaktörlő csapja pedig egy arduino DUE analóg portra (lásd a képet a referenciához). Itt az analóg 3 -as csapot (A3) határoztam meg a kerékpotenciométer ablaktörlőjének bemeneteként, de beállíthatja az igényeinek leginkább megfelelő analóg csapot.

PS: Tudja, hogy a versenyszekrényekben a pedálokat gyakran potenciométer vezérli, mint hogy a kerekek és a pedálok ugyanazok a készülékek, más alakúak? Ez azt jelenti, hogy az itt található kód segítségével valódi arcade pedálok is vezérelhetők;)

Optikai kerék

Ha a kereke optikai, akkor az is könnyen kezelhető, a kezdő vázlat litlle módosításával.

Az optikai Arcade kódolók (Taito fonók, Atari kerekek kódolói és így tovább) egy nagyon gyakori érintkezője:

1. OptoA OUT

2. +5V

3. GND

4. OptoB OUT

Csatlakoztassa a 2. és 3. pontot az Arduino DUE 5V és GND, valamint az 1. és 4. pontot bármelyik tetszőleges digitális tűhöz, ügyelve arra, hogy feszültségosztó szükséges az optikai kódoló 5V -os kimenetének a 3.3V -os arduino DUE -hoz való csökkentéséhez.. Ne küldje az OptoA és/vagy az OptoB 5V kimeneteket közvetlenül az arduino DUE bemeneti csapjaira, különben megsütheti ezeket a bemeneteket vagy akár az egész táblát. Figyelmeztetve lettél.

Az itt bemutatott példavázlatban a 2 -es és 3 -as digitális tűt fogom használni A és B optikai kimenetként.

#befoglalni

logikai optA_state = HIGH;

int xAxisMov = 2;

void setup () {

pinMode (2, INPUT_PULLUP); // OptA

pinMode (3, INPUT_PULLUP); // OptB

Egér.kezdet ();

}

void loop () {

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);}}} // ciklus vége

Ez egy alacsony felbontású 1X számláló optikai kódolás. Ez több mint elegendő az Arcade alkalmazásokhoz, de könnyedén növelheti a felbontást néhány kódsor hozzáadásával.

PS: Tudja, hogy az optikai árkád kerekek és az arcade spinners technikailag ugyanaz a készülék, más alakúak? Tudja, hogy a trackballok technikailag két tengelyes pörgetők? Ez azt jelenti, hogy az itt található kód használható valódi arcade spinner -ek és néhány egyszerű módosítással a trackballs vezérlésére is;)

6. lépés: Néhány kép, vagy nem történt meg

Néhány kép, vagy nem történt meg!
Néhány kép, vagy nem történt meg!
Néhány kép, vagy nem történt meg!
Néhány kép, vagy nem történt meg!
Néhány kép, vagy nem történt meg!
Néhány kép, vagy nem történt meg!
Néhány kép, vagy nem történt meg!
Néhány kép, vagy nem történt meg!

Íme néhány kép az általam készített pajzsról. Ez nem magas szintű munka (fogadjunk, nem vagyok profi), de 100% -ban ringatózik a jamma Arcade Cabinetben!

Ajánlott: