Satura rādītājs:

Jammarduino DUE - DIY datora un Jamma interfeiss arkādes skapjiem: 6 soļi
Jammarduino DUE - DIY datora un Jamma interfeiss arkādes skapjiem: 6 soļi

Video: Jammarduino DUE - DIY datora un Jamma interfeiss arkādes skapjiem: 6 soļi

Video: Jammarduino DUE - DIY datora un Jamma interfeiss arkādes skapjiem: 6 soļi
Video: LDmicro 12: Arduino Boards without IDE (Microcontroller PLC Ladder Programming with LDmicro) 2024, Jūlijs
Anonim
Jammarduino DUE - DIY datora un Jamma interfeiss arkādes skapjiem
Jammarduino DUE - DIY datora un Jamma interfeiss arkādes skapjiem

Šī pamācība parādīs, kā izveidot vienkāršu Arduino DUE vairogu, lai ar datoru savienotu īstu arkādes mašīnu ar zemas izšķirtspējas CRT un jamma savienotāju.

Galvenie vairoga uzklāšanas veidi ir:

- lai pastiprinātu video signālu, kas nāk no videokartes (pārāk zems spriegums oriģinālam Arcade CRT monitoram)

- lai aizsargātu zemas izšķirtspējas CRT monitoru no pārāk augstas frekvences horizontālās sinhronizācijas signāliem

- lai "tulkotu" pogas nospiešanu arkādes vadības panelī uz kaut ko tādu, ko dators var apstrādāt

Es jums parādīšu, kā paplašināt saskarnes izmantošanu, lai kontrolētu Arcade Racing riteņus un spiningus.

Piezīme: vairogs NAV piespiež video sinhronizācijas signālu uz zemām frekvencēm: jums ir nepieciešama īpaša programmatūra. Es iesaku jums izmantot CRT emudrivers vai Soft15KHz.

1. darbība. Aparatūra

Es pieņemu, ka jums ir lodēšanas stacija un kāda alva ar rokām, un jūs zināt, kā tos izmantot. Tā kā video pastiprinātājs ir SMD ar 0,65 mm piķi, es iesaku jums iegādāties lodēšanas plūsmu, lai palīdzētu pielodēt šo mikrobu. Es izmantoju lētu pildspalvu, kas nav tīra, Rosing Mildly Activated (RMA) ar izciliem rezultātiem.

Interfeisu veido:

- 1x Arduino DUE mikrokontrollera plate

- 1x THS7374 video pastiprinātājs

- 1x TSSOP14 līdz DIP14 adapteris

- 1x audio pastiprinātājs

- 1x jamma grifs

- 1x 5x7 cm prototipa dēlis, dubultā puse

- 1x 1N4148 diode

- 7x 1Kohm rezistori

- 1x 820 omu rezistors

- 3x 220 omu rezistors

- 1x sloksnes līnija, 2,54 mm atstarpe

- 1x VGA kabelis

- 1x audio kabelis

2. darbība. Shēmas

Shēmas
Shēmas

Šeit ir visa projekta krāsainā shēma. Ne tik pareizticīgs, bet vieglāk sekot, manas cerības.

Savienojumi ir tik vienkārši, kā izskatās:

- krāsu līnijas nāk no datora VGA savienotāja uz video pastiprinātāju; 1Kohm rezistors zemē samazina video pastiprinātāja ieejas strāvu. Izejas pusē sērijas pretestība samazina strāvu līdz arkādes CRT.

- sinhronizācijas līnija ir kaut kā sarežģītāka: atsevišķa sinhronizācija no VGA vispirms tiek veidota salikta, pēc tam pazemināta ar sprieguma dalītāju, lai ievērotu Arduino DUE specifikācijas (3.3 V loģika). Sprieguma dalītājs tiek aprēķināts, pieņemot 5V sinhronizācijas signālu.

- video pastiprinātāju (THS7374) var darbināt ar 3,3 V vai 5 V spriegumu; Tā kā barošana pie 5 V pieļauj plašāku ieejas spriegumu/signālu diapazonu un ka THS7374 var kontrolēt ar 3,3 V pat tad, ja tas ir saspiests ar 5 V spriegumu, es devos 5V ceļā.

- video zemei, arduino DUE zemei, THS7374 zemei un jamma savienotāja zemei ir īssavienojums.

- Arduino DUE 5V un Jamma 5V līnijas nedrīkst būt īsas.

- NELIETOJIET audio pastiprinātāju no USB kabeļa: strāvas ierobežojumu dēļ tam ir nepieciešams ārējs avots (piemēram, PC ATX PSU). To darot, jūs sabojāsit USB portu vai pat datoru.

VGA savienotājs: piesardzības vārds

Nesen man bija iespēja atjaunināt ar jammarduino DUE izmantoto datoru. Pat ja es to iepriekš biju pārbaudījis ar diviem dažādiem datoriem, viņi abi izmantoja vienas ģimenes ATI kartes (ATI 9250 un 9550). Jaunais dators bija aprīkots ar HD5750 ar vienu DVI analogo izeju (bez VGA). Tas lika man izmantot (pasīvo) DVI -VGA adapteri. Pēc dažām grūtībām es pamanīju, ka VGA kabelim, kas pievienots adapterim, JĀBŪT tikai zemei, kas savienota ar VGA savienotāja 5. tapu, lai darbotos, nevis tapām no 6 līdz 10, kā norādīts lielākajā daļā tīmekļa shēmu. Paturiet to prātā, ja no videokartes neredzat sinhronizācijas signālu.

3. darbība: skice/kods

Skice/kods
Skice/kods

Vispirms jums jāinstalē Arduino IDE; jāinstalē arī SAM Cortex M3 Core (pēc noklusējuma nav). Visbeidzot, instalējiet Arduino DUE draiverus. Lai iegūtu lielāko daļu jaunākās informācijas, skatiet oficiālo pamācību "Darba sākšana ar Arduino Due".

Skice, kas jums jāaugšupielādē Arduino DUE, ir pievienota šeit. Izsaiņojiet un ielādējiet "jammarduinoDUE.ino" jums Arduino IDE, pēc tam augšupielādējiet arduino DUE, izmantojot "programmēšanas" portu. Pēc tam, kad skice ir veiksmīgi augšupielādēta, atvienojiet USB kabeli no "programmēšanas" porta un pievienojiet Arduino DUE, izmantojot portu "Native USB", pretējā gadījumā koda ievades daļa nedarbosies.

Būtībā Arduino DUE mēra sinhronizācijas biežumu un atspējo video pastiprinātāju, ja sinhronizācija ir pārāk augsta zemas izšķirtspējas CRT. Arduino DUE apstrādā arī ievadi, kas nāk no vadības paneļa, nosūtot noklusējuma MAME taustiņus, nospiežot konkrētu pogu. Ir iekļauta arī pārslēgšanas funkcija (aktivizēta, turot nospiestu pogu P1 START), piemēram, komerciālās saskarnes.

Tabulā noklusējuma taustiņu karte. Jūs varat viegli mainīt noklusējuma atslēgu karti vai pievienot pogas tieši pēc skices.

Piemēram, ja vēlaties emulatoram piešķirt skaļuma regulēšanas taustiņus, tie vispirms ir jādefinē (piemēram, tastatūra "+" skaļuma palielināšanai un tastatūra "-" skaļuma samazināšanai); pēc tam pievienojiet pārvietoto taustiņu pogām, kurām vēlaties piešķirt skaļuma palielināšanu vai samazināšanu. Pieņemsim, ka vēlos palielināt skaļumu, nospiežot taustiņu Shift un atskaņotāja 1 pogu 3. Es mainīšu līniju

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

uz

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

Šis "223" ir tastatūras "+" ASCII rakstzīmju kods.

Es ļaušu jums izdomāt, kā uzdevumam "skaļuma samazināšana" piešķirt "-" (vai visu, ko vēlaties) (padoms: ASCII kods 222):)

Lūdzu, ņemiet vērā, ka programmā MAME varat piešķirt tikai servisa režīma skaļumu, nevis vispārējo emulācijas skaļumu; tas nozīmē, ka, ja emulētā plāksne neļauj kontrolēt programmatūras skaļumu, skaļums netiks ietekmēts.

4. solis: kā ir ar ievades kavēšanos?

Es veicu dažus testus, lai noskaidrotu, cik lielu nobīdi varētu ieviest kods; Nosūtot 3 pogas vienlaicīgi nospiest, pilnīga cikla izpilde aizņem apmēram 4 ms, līdz šim mazāk nekā 33 ms kadrs ilgst 30 kadrus sekundē.

5. solis: Kā ir ar Jamma Racing Cabinets?

Kā ir ar Jamma sacīkšu skapjiem?
Kā ir ar Jamma sacīkšu skapjiem?

Potenciometra ritenis

Ja jūsu skapis ir sacīkšu skapis, ļoti iespējams, ka ritenis ir balstīts uz potenciometru (vadības paneļa aizmugurē varat redzēt 5Kohm potenciometru).

Pirmkārt, lejupielādējiet un instalējiet kursorsviru bibliotēku (šodienas datumā tiek uzskatīts, ka tikai bibliotēkas 1. versija ir saderīga ar arduino DUE, taču tā joprojām ir ļoti laba bibliotēka).

Pēc tam pievienojiet dažas rindiņas, kas seko skicei 4. solī, lai viegli rīkotos ar riteni (kur novietot līnijas, atstājiet to kā uzdevumu …)

#iekļaut

int deadZone = 0;

void setup () {

Kursorsvira.begin ();}

void loop () {

int readPot = analogRead (A3);

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

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

cits {Joystick.setXAxis (0);}

}

Kā redzat, ja nepieciešams, varat iestatīt strupceļu (labā darba arkādes ritenī vislabāk ir iestatīt to uz nulli).

Potenciometra pieslēgšana Arduino DUE ir vienkārša: potenciometra sānu tapas ir uz +3,3 V un GND, tīrītāja tapu uz arduino DUE analogo pieslēgvietu (skatiet attēlu atsaucei). Šeit es definēju analogo tapu 3 (A3) kā riteņu potenciometra tīrītāja ieeju, bet jūs varat iestatīt analogo tapu, kas vislabāk atbilst jūsu vajadzībām.

PS: vai jūs zināt, ka pedāļus sacīkšu skapjos bieži kontrolē potenciometrs, nekā tehniski riteņi un pedāļi ir viena un tā pati ierīce ar atšķirīgu formu? Tas nozīmē, ka kodu šeit var izmantot, lai kontrolētu arī īstos arkādes pedāļus;)

Optiskais ritenis

Ja jūsu ritenis ir optisks, to var arī viegli apstrādāt, vēlreiz mainot sākuma skici.

Ļoti izplatīts optisko arkādes kodētāju (Taito vērpšanas, Atari riteņu kodētāju un tā tālāk) kontakts ir:

1. OptoA OUT

2. +5V

3. GND

4. OptoB OUT

Savienojiet 2. un 3. ar Arduino DUE 5V un GND un 1. un 4. ar jebkuru digitālo tapu, kas jums patīk, pievēršot uzmanību tam, ka ir nepieciešams sprieguma dalītājs, lai samazinātu 5V izeju no optiskā kodētāja uz 3.3V arduino DUE.. Nesūtiet OptoA un/vai OptoB 5V izejas tieši uz jūsu arduino DUE ieejas tapām, pretējā gadījumā jūs, iespējams, cepīsiet šīs ieejas vai pat visu plāksni. Tu esi ticis brīdināts.

Šeit esošajā skices piemērā es izmantošu digitālo tapu 2 un digitālo tapu 3 kā optisko izeju A un optisko izeju B.

#iekļaut

Būla optA_state = HIGH;

int xAxisMov = 2;

void setup () {

pinMode (2, INPUT_PULLUP); // OptA

pinMode (3, INPUT_PULLUP); // OptB

Pele.sākt ();

}

void loop () {

ja (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);}}} // cilpas beigas

Šī ir zemas izšķirtspējas 1X skaitīšanas optiskā kodēšana. Arcade lietojumprogrammām tas ir vairāk nekā pietiekami, taču jūs varat viegli palielināt izšķirtspēju, pievienojot kādu koda rindu.

PS: vai jūs zināt, ka optiskie arkādes riteņi un arkādes vērpēji tehniski ir viena un tā pati ierīce ar atšķirīgu formu? Vai jūs zināt, ka sliedes tehniski ir divu asu vērpējs? Tas nozīmē, ka kodu šeit var izmantot, lai kontrolētu īstus arkādes vērpējus un ar nelielām, vienkāršām izmaiņām arī lodīšu bumbiņas;)

6. solis: kāds attēls vai tas nenotika

Daži attēli, vai arī tas nenotika!
Daži attēli, vai arī tas nenotika!
Daži attēli, vai arī tas nenotika!
Daži attēli, vai arī tas nenotika!
Daži attēli, vai arī tas nenotika!
Daži attēli, vai arī tas nenotika!
Daži attēli, vai arī tas nenotika!
Daži attēli, vai arī tas nenotika!

Šeit ir dažas manis izgatavotā vairoga bildes. Tas nav augsta līmeņa darbs (bet bet es neesmu profesionālis), bet tas ir 100% šūpošanās manā jamma Arcade kabinetā!

Ieteicams: