Tartalomjegyzék:
- 1. lépés: Hardver
- 2. lépés: Vázlatok
- 3. lépés: Vázlat/kód
- 4. lépés: Mi a helyzet a bemeneti késéssel?
- 5. lépés: Mi a helyzet a Jamma Racing szekrényekkel?
- 6. lépés: Néhány kép, vagy nem történt meg
Videó: Jammarduino DUE - DIY PC - Jamma interfész az árkád szekrényekhez: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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
Í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
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?
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
Í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:
Árkád: 3 lépés (képekkel)
Arcade: 20 évvel ezelőtt játszottam a Run and Gun @ the Arcade játékkal, és most úgy döntöttem, hogy saját Arcade -t építek. Miután megvettem a gombokat és ragaszkodtam a http://www.arcadewinkel.nl/ oldalhoz, és beszereztem az MDF fát, elkezdtük a tervezés
Retro árkád Arduino -val: 5 lépés
Retro árkád Arduino -val: Üdv mindenkinek! Szeretném megosztani veletek egy projektünket, amelyet idén a „Creative Electronics”, a Beng Electronics Engineering modul a Málagai Egyetemen, a Távközlési Iskolában készítettünk. Http://www.uma.es/etsi-de-telecomunicacion/The projekt
Hordozható bőrönd -árkád: 8 lépés (képekkel)
Hordozható bőrönd-árkád: Valamivel több mint egy hónapja, pár munkatársunk a miniatűr árkádgépekről beszéltünk, amelyeket a Walmartnál láttunk, 250–500 dollárért. Arra gondoltam, hogy ez egy szórakoztató projekt lenne egy erősebb, hordozható árkád felépítéséhez, miközben megtartja
Tündérek: hordozható árkád és médiaközpont: 5 lépés
Tündérek: Hordozható árkád és médiaközpont: Célom egy hordozható konzol építése volt. médiaközpont a lányomnak. A játék olyan mini mintákon, mint a PSP vagy a Nintendo klónok, túl távolinak tűnik a régi arcade szekrények ötletétől. Csatlakozni akartam a gombok nosztalgiájához
Felújított árkád: 7 lépés
Upcycled Arcade: Mindig szerettem volna egy függőleges arcade emulátort építeni az otthonomnak. Amióta rátaláltam erre a régi bontott póker árkádra, láttam, hogy valami nagyszerűnek kell lennie