Orodha ya maudhui:

Jammarduino DUE - DIY PC kwa Jamma Interface kwa Arcade makabati: 6 Hatua
Jammarduino DUE - DIY PC kwa Jamma Interface kwa Arcade makabati: 6 Hatua

Video: Jammarduino DUE - DIY PC kwa Jamma Interface kwa Arcade makabati: 6 Hatua

Video: Jammarduino DUE - DIY PC kwa Jamma Interface kwa Arcade makabati: 6 Hatua
Video: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Novemba
Anonim
Jammarduino DUE - DIY PC kwa Jamma Interface kwa Arcade makabati
Jammarduino DUE - DIY PC kwa Jamma Interface kwa Arcade makabati

Mafundisho haya yatakuonyesha jinsi ya kuunda ngao rahisi ya Arduino DUE kusanikisha mashine ya kweli ya arcade na azimio la chini CRT na kiunganishi cha jamma kwenye PC yako.

Vipuli kuu vya ngao ni:

- kukuza ishara ya video inayotoka kwenye kadi ya video (chini sana ya voltage kwa mfuatiliaji wa kweli wa Arcade CRT)

- kulinda mfuatiliaji wako wa chini wa azimio la CRT kutoka kwa ishara nyingi sana za usawazishaji wa masafa

- "kutafsiri" vitufe vya vitufe kwenye jopo la kudhibiti Arcade kwa kitu ambacho PC inaweza kushughulikia

Nitaonyesha jinsi ya kupanua matumizi ya kiolesura kudhibiti magurudumu ya Mashindano ya Arcade na visokotaji.

Taarifa: ngao HAILazimishi ishara ya usawazishaji wa video kwa masafa ya chini: uko katika uhitaji wa programu maalum kwa hiyo. Ninakushauri utumie waendeshaji wa CRT au Soft15KHz.

Hatua ya 1: Vifaa

Nitafikiria una kituo cha kuuza na bati kwa mkono na unajua kuzitumia. Kwa kuwa amplifier ya video ni SMD yenye lami ya 0.65 mm, ninakushauri ununue mtiririko wa soldering kusaidia kutengenezea microbe hiyo. Nilitumia kalamu ya bei rahisi ya "hakuna-safi" ya Kupunguza Ulioamilishwa (RMA) yenye matokeo mazuri.

Muunganisho umeundwa kutoka:

- 1x Arduino DUE bodi ndogo ya kudhibiti

- 1x THS7374 amplifier ya video

- 1x TSSOP14 kwa adapta ya DIP14

- kipaza sauti cha sauti cha 1x

- 1x jamma kidole

- 1x 5x7 cm bodi ya mfano, pande mbili

- 1x 1N4148 diode

- 7x 1Kohm wapinzani

- 1x 820 ohm kupinga

- 3x 220 ohm kupinga

- laini ya mstari wa 1x, nafasi ya 2.54 mm

- 1x VGA kebo

- cable ya sauti ya 1x

Hatua ya 2: Skematiki

Skimatiki
Skimatiki

Hapa kuna mpango wa rangi wa mradi huo. Sio ya kawaida, lakini ni rahisi kufuata, kwa matumaini yangu.

Wirings ni rahisi kama wanavyoonekana:

- mistari ya rangi hutoka kwa kiunganishi cha PC VGA kwa kipaza sauti cha video; kipinzani cha 1Kohm chini hupunguza sasa kwa pembejeo ya amplifier ya video. Kwa upande wa pato, safu ya mfululizo hupunguza sasa kwa CRT ya Arcade.

- laini ya usawazishaji kwa namna fulani ni "ngumu" zaidi: utenganishaji tofauti kutoka kwa VGA hufanywa kuwa wa pamoja, kwanza, halafu hupunguzwa na mgawanyiko wa voltage kuheshimu maelezo ya Arduino DUE (mantiki 3.3V). Mgawanyiko wa voltage umehesabiwa kuchukua ishara ya usawazishaji wa 5V.

- amplifier ya video (THS7374) inaweza kuwezeshwa kwa 3.3V au 5V; kuwa kuwa na nguvu kwa 5V inaruhusu anuwai anuwai ya pembejeo / ishara na kuwa THS7374 inaweza kudhibitiwa na 3.3V hata ikiwa imetolewa juisi kwa 5V, nilienda kwa njia ya 5V.

- ardhi ya video, arduino DUE ardhi, ardhi ya THS7374 na kiunganishi cha jamma zimepigwa kwa mzunguko mfupi.

- Arduino DUE 5V na Jamma 5V laini hazipaswi KUZUNGUSWA KWA MFUPI.

- USIMSIKE amp amp audio kutoka kwa kebo ya USB: unahitaji chanzo cha nje kwa sababu ya mipaka ya sasa (i.e. PC ATX PSU). Kufanya hivyo utaharibu bandari yako ya USB au hata PC yako.

Kontakt VGA: neno la tahadhari

Hivi karibuni nimepata fursa ya kusasisha PC iliyotumiwa na Jammarduino DUE yangu. Hata kama nilikuwa nimeijaribu na PC mbili tofauti hapo awali, wote walitumia kadi za ATI za familia moja (ATI 9250 na 9550). PC mpya ilikuwa na HD5750 na pato moja la Analog DVI (hakuna VGA). Hii ilinilazimisha kutumia (passiv) DVI kwa adapta ya VGA. Kweli, baada ya kuhangaika niligundua kuwa kebo ya VGA iliyounganishwa na adapta LAZIMA iwe na ardhi tu iliyounganishwa kubandika 5 ya kiunganishi cha VGA kufanya kazi, sio pini kutoka 6 hadi 10 kama ilivyoripotiwa katika skimu nyingi kwenye wavuti. Kumbuka hili ikiwa huwezi kuona ishara yoyote ya usawazishaji nje ya kadi yako ya video.

Hatua ya 3: Mchoro / Msimbo

Mchoro / Msimbo
Mchoro / Msimbo

Lazima usakinishe Arduino IDE kwanza; lazima usakinishe SAM Cortex M3 Core pia (haipo kwa chaguo-msingi). Mwishowe, sakinisha madereva ya Arduino DUE. Rejelea mafunzo rasmi ya "Anza na Arduino Ngenxa" kwa habari nyingi za kisasa.

Mchoro ambao unahitaji kupakia kwenye Arduino DUE yako umeambatishwa hapa. Unzip na upakie "jammarduinoDUE.ino" kwako IDE Arduino, kisha upakie kwa arduino KUTOKA kupitia bandari ya "programu". Baada ya mchoro kupakiwa vizuri, katisha kebo ya USB kutoka bandari ya "programu" na unganisha Arduino DUE kupitia bandari ya "Native USB", au sehemu ya kuingiza nambari haitafanya kazi.

Kimsingi, Arduino DUE hupima masafa ya usawazishaji na hulemaza kipaza sauti cha video wakati usawazishaji uko juu sana kwa res CRT ya chini. Arduino DUE inashughulikia pembejeo kutoka kwa jopo la kudhibiti pia, ikituma funguo chaguomsingi za MAME kwenye kitufe maalum cha kitufe. Kazi ya kuhama (iliyoamilishwa kwa kuweka kitufe cha P1 START kushinikizwa) pia imejumuishwa, kama njia za biashara.

Katika jedwali keymap chaguo-msingi. Unaweza kubadilisha ramani muhimu ya msingi au kuongeza vifungo kwa mapenzi yako moja kwa moja kwenye mchoro kwa urahisi.

Kwa mfano, ikiwa unataka kupeana funguo za kudhibiti sauti kwa emulator yako, unapaswa kufafanua funguo hizo (wacha sema keypad "+" kwa sauti ya juu na keypad "-" kwa sauti chini) kwenye menyu yako ya vitufe vya emu, kwanza; kisha ongeza kitufe kilichohamishwa kwa vifungo unavyotaka kuongeza au kupungua kwa kiasi kupewa. Acha sema nataka kuongeza sauti kwa kubonyeza kitufe cha kuhama na kitufe cha Mchezaji 1 3. Nitabadilisha laini

{26, JUU, 0, 180, 180}, // nafasi - P1 B3

kwa

{26, JUU, 0, 180, 223}, // nafasi - P1 B3 (+)

Hiyo "223" ni nambari ya herufi ya ASCII ya keypad "+".

Nitakuruhusu ujue jinsi ya kupeana "-" (au chochote unachopendelea) kwa kazi ya "sauti chini" kama zoezi (Kidokezo: nambari ya ASCII 222):)

Tafadhali kumbuka kuwa katika MAME unaweza tu kupeana kiwango cha hali ya huduma, sio ujazo wa kuiga; hii inamaanisha kwamba ikiwa bodi ya kuigwa hairuhusu udhibiti wa sauti ya programu, kiasi hakitaathiriwa.

Hatua ya 4: Je! Kuhusu Ingizo la Lag?

Nilifanya vipimo kadhaa ili kuona ni kiasi gani kificho kinaweza kuanzisha; vizuri, kwa kutuma vitufe 3 bonyeza kwa wakati mmoja kitanzi kamili kinachukua karibu ms 4 kutekelezwa, hadi sasa chini ya 33 ms fremu hudumu katika Ramprogrammen 30.

Hatua ya 5: Je! Kuhusu Kabati za Mashindano ya Jamma?

Je! Je! Kuhusu Kabati za Mashindano ya Jamma?
Je! Je! Kuhusu Kabati za Mashindano ya Jamma?

Potentiometer Gurudumu

Ikiwa baraza lako la mawaziri ni baraza la mawaziri la mbio, kuna uwezekano mkubwa kwamba gurudumu lina potentiometer msingi (unaweza kuona potentiometer ya 5Kohm upande wa nyuma wa jopo la kudhibiti).

Jambo la kwanza kwanza, pakua na usakinishe maktaba ya Joystick (katika tarehe ya leo toleo la 1 tu la maktaba linasemekana kuwa linaambatana na arduino DUE, lakini bado ni maktaba mzuri sana).

Kisha, ongeza mistari michache ifuatayo kwenye mchoro wa Hatua ya 4 kushughulikia gurudumu kwa urahisi (mahali pa kuweka mistari imesalia kwako kama zoezi…)

# pamoja

int deadZone = 0;

usanidi batili () {

Joystick.anza ();}

kitanzi batili () {

int readPot = AnalogRead (A3);

int wheelPos = ramani (somaPot, 0, 1023, -127, 127);

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

mwingine {Joystick.setXAxis (0);}

}

Kama unaweza kuona, unaweza kuweka deadzone ikiwa ni lazima (katika gurudumu nzuri ya kufanya kazi ni bora kuiweka sifuri).

Wiring potentiometer kwa Arduino DUE ni moja kwa moja: pini za upande wa potentiometer huenda + 3.3V na GND, pini ya wiper kwa bandari ya analog ya arduino DUE (angalia picha kwa kumbukumbu). Nilifafanua hapa pini ya analog 3 (A3) kama pembejeo kwa wiper ya potentiometer ya gurudumu, lakini unaweza kuweka pini ya analog inayofaa mahitaji yako.

PS: Je! Unajua kwamba pedals katika makabati ya mbio mara nyingi hudhibitiwa na potentiometer, kuliko kitaalam magurudumu na pedals ni kifaa sawa na sura tofauti? Hii inamaanisha kuwa nambari hapa inaweza kutumiwa kudhibiti pedal halisi za arcade pia;)

Gurudumu la macho

Ikiwa gurudumu lako lina macho, linaweza kushughulikiwa kwa urahisi pia, tena, na marekebisho ya litlle kwenye mchoro wa kuanzia.

Pinout ya kawaida sana ya visimbuzi vya Arcade ya macho (spinner za Taito, encoders za magurudumu ya Atari na kadhalika) ni:

1. OptoA OUT

2. + 5V

3. GND

4. OptoB OUT

Unganisha 2. na 3. kwa Arduino DUE 5V na GND, na 1. na 4. kwa pini yoyote ya dijiti unayopenda kuzingatia kuwa mgawanyiko wa voltage ni muhimu kupunguza pato la 5V kutoka kwa encoder ya macho hadi 3.3V arduino DUE inaweza kushughulikia. Usitume matokeo ya OptoA na / au OptoB 5V moja kwa moja kwenye pini zako za uingizaji za arduino DUE au unaweza kukaanga pembejeo hizo au hata bodi nzima. Umeonywa.

Katika mchoro wa mfano hapa nitatumia pini ya dijiti 2 na pini ya dijiti 3 kama macho nje A na macho nje B.

# pamoja

boolean optA_state = JUU;

int xAxisMov = 2;

usanidi batili () {

pinMode (2, INPUT_PULLUP); // OptA

pinMode (3, INPUT_PULLUP); // OptB

Panya kuanza ();

}

kitanzi batili () {

ikiwa (optA_state == HIGH && digitalRead (2) == LOW) {

optA_state =! optA_state;

ikiwa (digitalRead (3) == HIGH) {Mouse.move (xAxisMov, 0, 0);} mwingine {Mouse.move (-xAxisMov, 0, 0);}}} // mwisho wa kitanzi

Hii ni azimio la chini 1X Kuhesabu usimbuaji wa macho. Inatosha zaidi kwa matumizi ya Arcade, lakini unaweza kuinua azimio kwa urahisi kwa kuongeza laini kadhaa ya nambari.

PS: Je! Unajua kuwa magurudumu ya macho ya Arcade na visokotaji vya arcade kiufundi ni kifaa sawa na sura tofauti? Je! Unajua kwamba mpira wa miguu ni mtaalam wa 2 axis spinner? Hii inamaanisha kuwa nambari hapa inaweza kutumiwa kudhibiti spika za kweli za arcade na, na chache, marekebisho rahisi ya mpira wa miguu pia;)

Hatua ya 6: Baadhi ya Picha, au Haikutokea

Baadhi ya Picha, au Haikutokea!
Baadhi ya Picha, au Haikutokea!
Baadhi ya Picha, au Haikutokea!
Baadhi ya Picha, au Haikutokea!
Picha zingine, au haikutokea!
Picha zingine, au haikutokea!
Picha zingine, au haikutokea!
Picha zingine, au haikutokea!

Hapa kuna picha kadhaa za ngao niliyoifanya. Sio kazi ya kiwango cha juu (bet, mimi sio mtaalam), lakini inatetemeka kwa 100% katika baraza langu la Baraza la Arcade la jamma!

Ilipendekeza: