Obsah:

Jammarduino DUE - Rozhranie PC - Jamma pre arkádové skrine: 6 krokov
Jammarduino DUE - Rozhranie PC - Jamma pre arkádové skrine: 6 krokov

Video: Jammarduino DUE - Rozhranie PC - Jamma pre arkádové skrine: 6 krokov

Video: Jammarduino DUE - Rozhranie PC - Jamma pre arkádové skrine: 6 krokov
Video: Watch some ACTUAL Dakar Desert Rally GAMEPLAY 2024, November
Anonim
Jammarduino DUE - Rozhranie PC - Jamma pre arkádové skrine
Jammarduino DUE - Rozhranie PC - Jamma pre arkádové skrine

Tento návod vám ukáže, ako vytvoriť jednoduchý štít pre Arduino DUE na prepojenie skutočného arkádového stroja s CRT s nízkym rozlíšením a konektorom jamma s vašim počítačom.

Hlavnými ochrannými štítmi štítu sú:

- na zosilnenie video signálu vychádzajúceho z grafickej karty (príliš nízke napätie pre skutočný monitor Arcade CRT)

- chrániť váš monitor CRT s nízkym rozlíšením pred príliš vysokofrekvenčnými signálmi horizontálnej synchronizácie

- „preložiť“stlačenia tlačidiel na arkádovom ovládacom paneli na niečo, čo počítač zvládne

Ukážem vám, ako rozšíriť používanie rozhrania na ovládanie kolies a rozmetačov Arcade Racing.

Upozornenie: štít NEVYVÁDZA synchronizačný signál videa na nízke frekvencie: na to potrebujete nejaký konkrétny softvér. Odporúčam vám použiť emulátory CRT alebo Soft15KHz.

Krok 1: Hardvér

Budem predpokladať, že máte spájkovaciu stanicu a nejaký cín ručne a viete, ako ich používať. Pretože je video zosilňovač SMD s rozstupom 0,65 mm, navrhujem, aby ste si kúpili spájkovací tok, ktorý pomôže spájkovať tohto mikróba. Použil som lacné „nečisté“pero Rosing Mildly Activated (RMA) s vynikajúcimi výsledkami.

Rozhranie pozostáva z:

- 1x doska mikrokontroléra Arduino DUE

- 1x video zosilňovač THS7374

- 1x adaptér TSSOP14 na DIP14

- 1x audio zosilňovač

- 1x hmatník jamma

- 1x prototypová doska 5x7 cm, obojstranná

- 1x dióda 1N4148

- 7x 1Kohm odpory

- 1x odpor 820 ohmov

- 3x odpor 220 ohmov

- 1x pásová linka, rozstup 2,54 mm

- 1x kábel VGA

- 1x zvukový kábel

Krok 2: Schémy

Schémy
Schémy

Tu je farebná schéma celého projektu. Nie je to tak ortodoxné, ale v mojich nádejach sa to dá jednoduchšie sledovať.

Zapojenie je tak jednoduché, ako vyzerá:

- farebné čiary pochádzajú z konektora PC VGA do zosilňovača videa; 1Kohm odpor k zemi znižuje prúd na vstup zosilňovača videa. Na výstupnej strane sériový odpor znižuje prúd na arkádový CRT.

- synchronizačná linka je akosi „komplexnejšia“: oddelená synchronizácia od VGA sa najskôr vykoná kompozitne a potom sa zníži deličom napätia tak, aby rešpektoval špecifikácie Arduino DUE (logika 3,3 V). Delič napätia je vypočítaný za predpokladu synchronizačného signálu 5V.

- video zosilňovač (THS7374) mohol byť napájaný 3,3 V alebo 5 V; pretože napájanie 5 V umožňuje širší rozsah vstupných napätí/signálov a keďže THS7374 je možné ovládať 3,3 V, aj keď je napájaný napätím 5 V, vybral som sa cestou 5 V.

- skratovanie videa, uzemnenia arduino DUE, uzemnenia THS7374 a jamma konektora.

- Riadky Arduino DUE 5V a Jamma 5V NESMÚ BYŤ KRÁTKYCH OKRUHOV.

- NEODSTRAŇUJTE zvukový zosilňovač z kábla USB: na to potrebujete externý zdroj z dôvodu aktuálnych obmedzení (t. J. PC ATX PSU). Poškodíte tým svoj port USB alebo dokonca počítač.

Konektor VGA: upozornenie

Nedávno som mal príležitosť aktualizovať počítač používaný s mojím jammarduino DUE. Aj keď som to predtým testoval na dvoch rôznych počítačoch, obaja používali karty ATI tej istej rodiny (ATI 9250 a 9550). Nový počítač bol vybavený HD5750 s jediným analógovým výstupom DVI (bez VGA). To ma prinútilo použiť (pasívny) adaptér DVI na VGA. Po nejakých ťažkostiach som si všimol, že VGA kábel pripojený k adaptéru MUSÍ mať funkčnú iba zem pripojenú k pinu 5 konektora VGA, nie piny od 6 do 10, ako sú uvedené vo väčšine schém na webe. Majte to na pamäti, ak z vašej grafickej karty nevidíte žiadny synchronizačný signál.

Krok 3: Skica/kód

Skica/kód
Skica/kód

Najprv musíte nainštalovať Arduino IDE; musíte tiež nainštalovať jadro SAM Cortex M3 (v predvolenom nastavení nie je k dispozícii). V neposlednom rade si nainštalujte ovládače Arduino DUE. Najaktuálnejšie informácie nájdete v oficiálnom návode „Začíname so splatnosťou Arduino“.

Náčrt, ktorý musíte nahrať do svojho Arduino DUE, je priložený tu. Rozbaľte a načítajte „jammarduinoDUE.ino“do svojho Arduino IDE a potom nahrajte na arduino DUE cez „programovací“port. Po úspešnom nahraní náčrtu odpojte USB kábel z „programovacieho“portu a pripojte Arduino DUE cez port „Native USB“, inak vstupná časť kódu nebude fungovať.

Arduino DUE v zásade meria synchronizačnú frekvenciu a deaktivuje video zosilňovač, ak je synchronizácia príliš vysoká pre CRT s nízkym rozlíšením. Arduino DUE zvláda aj vstupy prichádzajúce z ovládacieho panela a pri konkrétnom stlačení tlačidla odosiela predvolené klávesy MAME. Rovnako ako komerčné rozhrania je k dispozícii aj funkcia radenia (aktivuje sa podržaním stlačeného tlačidla P1 START).

V tabuľke je predvolená mapa klávesov. Môžete jednoducho zmeniť predvolenú mapu kľúčov alebo pridať tlačidlá podľa vlastného uváženia priamo na skicu.

Ak napríklad chcete svojmu emulátoru priradiť klávesy ovládania hlasitosti, mali by ste ich najskôr definovať (napríklad klávesnica „+“na zvýšenie hlasitosti a klávesnica „-“na zníženie hlasitosti) v ponuke klávesov emu; potom pridajte posunutý kláves k tlačidlám, ku ktorým chcete priradiť zvýšenie alebo zníženie hlasitosti. Povedzme, že chcem zvýšiť hlasitosť stlačením klávesu Shift a tlačidla Player 1. Upravím riadok

{26, HIGH, 0, 180, 180}, // medzera - P1 B3

do

{26, HIGH, 0, 180, 223}, // medzera - P1 B3 (+)

Že „223“je kód znaku ASCII pre klávesnicu „+“.

Nechám vás zistiť, ako priradiť funkciu „-“(alebo čokoľvek, čo chcete) funkcii „zníženia hlasitosti“ako cvičenie (Tip: ASCII kód 222):)

Majte na pamäti, že v MAME môžete priradiť iba zväzok servisného režimu, nie všeobecný objem emulácie; to znamená, že ak emulovaná doska neumožňuje softvérové ovládanie hlasitosti, hlasitosť nebude ovplyvnená.

Krok 4: Ako je to s oneskorením vstupu?

Urobil som niekoľko testov, aby som zistil, aké veľké oneskorenie môže kód zaviesť; Odoslaním troch tlačidiel súčasne trvá vykonanie úplnej slučky asi 4 ms, zatiaľ čo 30 snímok za sekundu trvá menej ako 33 ms a snímka trvá.

Krok 5: A čo závodné skrinky Jamma?

A čo závodné skrinky Jamma?
A čo závodné skrinky Jamma?

Koliesko potenciometra

Ak je vaša skrinka závodná, je veľmi pravdepodobné, že koleso je založené na potenciometri (na zadnej strane ovládacieho panela môžete vidieť 5Kohm potenciometer).

Najprv si stiahnite a nainštalujte knižnicu Joystick (k dnešnému dňu je údajne iba verzia 1 knižnice kompatibilná s arduino DUE, ale stále je to veľmi dobrá knižnica).

Potom do skice v kroku 4 pridajte niekoľko riadkov, ktoré nasledujú, aby ste s kolesom ľahko manipulovali (kde umiestniť čiary ponecháte na vás ako cvičenie …)

#zahrnúť

int deadZone = 0;

neplatné nastavenie () {

Joystick.begin ();}

prázdna slučka () {

int readPot = analogRead (A3);

int wheelPos = mapa (readPot, 0, 1023, -127, 127);

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

else {Joystick.setXAxis (0);}

}

Ako vidíte, v prípade potreby môžete nastaviť mŕtvu zónu (v dobre fungujúcom arkádovom kolese je najlepšie nastaviť ju na nulu).

Pripojenie potenciometra k Arduino DUE je jednoduché: bočné kolíky potenciometra idú na +3,3 V a GND, stierací kolík k analógovému portu arduino DUE (referenčné informácie nájdete na obrázku). Tu som definoval analógový kolík 3 (A3) ako vstup stierača potenciometra kolies, ale môžete nastaviť analógový kolík, ktorý najlepšie vyhovuje vašim potrebám.

PS: Viete, že pedále v závodných skriniach sú často ovládané potenciometrom, pretože technicky sú kolesá a pedále rovnaké zariadenie s iným tvarom? To znamená, že kód tu možno použiť aj na ovládanie originálnych arkádových pedálov;)

Optické koliesko

Ak je vaše koleso optické, dá sa s ním tiež ľahko manipulovať, opäť pomocou drobnej úpravy počiatočného náčrtu.

Veľmi častým výstupom pre optické arkádové kodéry (rozmetače Taito, enkodéry kolies Atari a tak ďalej) je:

1. OptoA OUT

2. +5V

3. GND

4. OptoB OUT

Pripojte 2. a 3. k Arduino DUE 5V a GND a 1. a 4. k akémukoľvek digitálnemu pinu, ktorý chcete, pričom dávajte pozor, aby bol delič napätia potrebný na zníženie výstupu 5 V z optického snímača na 3,3 V arduino DUE, ktorý zvládne. Neposielajte výstupy OptoA a/alebo OptoB 5V priamo na vaše vstupné piny arduino DUE, inak pravdepodobne tieto vstupy alebo dokonca celú dosku usmažíte. Bol si varovaný.

V príklade tu použijem digitálny pin 2 a digitálny pin 3 ako optický výstup A a optický výstup B.

#zahrnúť

boolean optA_state = VYSOKY;

int xAxisMov = 2;

neplatné nastavenie () {

pinMode (2, INPUT_PULLUP); // OptA

pinMode (3, INPUT_PULLUP); // OptB

Mouse.begin ();

}

prázdna slučka () {

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);}}} // koniec slučky

Jedná sa o optické kódovanie s 1 -násobným počítaním v nízkom rozlíšení. Je to viac ako dostačujúce pre aplikácie Arcade, ale rozlíšenie môžete ľahko zvýšiť pridaním riadka kódu.

PS: viete, že optické arkádové kolieska a arkádové rozmetače sú technicky rovnaké zariadenie s iným tvarom? Viete o tom, že trackball je technicky dvojosový číselník? To znamená, že kód by sa tu dal použiť na ovládanie skutočných arkádových rozmetačov a s niekoľkými jednoduchými úpravami aj guľôčkové gule;)

Krok 6: Nejaký obrázok, alebo sa to nestalo

Nejaký obrázok, alebo sa to nestalo!
Nejaký obrázok, alebo sa to nestalo!
Nejaký obrázok, alebo sa to nestalo!
Nejaký obrázok, alebo sa to nestalo!
Nejaký obrázok, alebo sa to nestalo!
Nejaký obrázok, alebo sa to nestalo!
Nejaký obrázok, alebo sa to nestalo!
Nejaký obrázok, alebo sa to nestalo!

Tu je niekoľko fotografií štítu, ktorý som vyrobil. Nie je to práca na vysokej úrovni (stavte sa, nie som profesionál), ale je to 100% hojdanie v mojom jamma Arcade Cabinete!

Odporúča: