Obsah:
- Krok 1: Hardvér
- Krok 2: Schémy
- Krok 3: Skica/kód
- Krok 4: Ako je to s oneskorením vstupu?
- Krok 5: A čo závodné skrinky Jamma?
- Krok 6: Nejaký obrázok, alebo sa to nestalo
Video: Jammarduino DUE - Rozhranie PC - Jamma pre arkádové skrine: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
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
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
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?
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
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:
Arkádové hry a joystick ESP32 VGA: 6 krokov (s obrázkami)
Arkádové hry a joystick ESP32 VGA: V tomto návode ukážem, ako reprodukovať štyri arkádové hry - Tetris - Had - Breakout - Bomber - pomocou systému ESP32 s výstupom pre monitor VGA. Rozlíšenie je 320 x 200 pixelov, v 8 farbách. Predtým som urobil verziu s
Víly: prenosné arkádové a mediálne centrum: 5 krokov
Fairies: Portable Arcade and Media Center: Mojím cieľom bolo postaviť prenosnú konzolu & mediálne centrum pre moju dcéru. Hrateľnosť v malých prevedeniach, ako sú klony PSP alebo Nintendo, sa zdá byť príliš vzdialená myšlienke starých arkádových skriniek. Chcel som sa pripojiť k nostalgii tlačidiel
Retro arkádové hodiny - Arduino: 6 krokov (s obrázkami)
Retro arkádové hodiny - Arduino: Postavte si interaktívne arkádové nočné hodiny s dotykovým displejom a animovanými arkádovými figúrkami, pomocou ktorých môžete zaznamenať zvuk budíka podľa vlastného výberu. Ide o aktualizáciu predchádzajúceho projektu, ktorý teraz obsahuje 3D tlačené puzdro a štyri samostatné programy
Lego arkádové puzdro na stroj pre GBA SP: 3 kroky
Lego Arcade Machine Case for GBA SP: This is a Game Boy Advance SP in a Lego Arcade Machine. Budete potrebovať GBA SP a dobré množstvo kociek Lego
Arkádové tlačidlá Plug and Play: 7 krokov (s obrázkami)
Arkádové tlačidlá Plug and Play: Nedávno som začal používať Arduino na vytváranie svojich projektov. Ako dizajnér milujem vytváranie vlastných rozhraní pre svoje hry/interaktívne projekty. Problém, na ktorý som narazil, je, že používanie sériovej komunikácie je dosť komplikované a náchylné na problémy a