Мазмуну:

Jammarduino DUE - Аркада шкафтары үчүн Jamma Interfaceке DIY PC: 6 кадам
Jammarduino DUE - Аркада шкафтары үчүн Jamma Interfaceке DIY PC: 6 кадам

Video: Jammarduino DUE - Аркада шкафтары үчүн Jamma Interfaceке DIY PC: 6 кадам

Video: Jammarduino DUE - Аркада шкафтары үчүн Jamma Interfaceке DIY PC: 6 кадам
Video: Forgotten for 54 YEARS!! Abandoned House of a Big American Family 2024, Ноябрь
Anonim
Jammarduino DUE - аркада шкафтары үчүн Jamma Interfaceке DIY PC
Jammarduino DUE - аркада шкафтары үчүн Jamma Interfaceке DIY PC

Бул көрсөтмө сизге Arduino DUE үчүн жөнөкөй калканчты кантип түзүү керектигин көрсөтөт, бул сиздин компьютериңизге CRT жана джамма туташтыргычы төмөн болгон чыныгы аркада машинасын иштетүү үчүн.

Негизги калканчтар төмөнкүлөр:

- видео картадан чыккан видео сигналды күчөтүү үчүн (чыныгы Arcade CRT монитору үчүн чыңалуу өтө төмөн)

- Сиздин төмөн чечилиштүү CRT мониторуңузду өтө жогорку жыштыктагы горизонталдуу сигналдардан коргоо үчүн

- аркада башкаруу панелиндеги баскычты "которуу" үчүн ЖК иштете ала турган нерсеге

Мен сизге Arcade Racing дөңгөлөктөрүн жана спиннерлерди башкаруу үчүн интерфейстин колдонулушун кантип кеңейтүүнү көрсөтөм.

Эскертүү: калкан видеону синхрондоштуруу сигналын төмөнкү жыштыктарга мажбурлабайт: бул үчүн сизге белгилүү бир программалык камсыздоо керек. Мен сизге CRT emudrivers же Soft15KHz колдонууну сунуштайм.

1 -кадам: Аппараттык

Менимче, сизде ширетүүчү станция жана колуңуз менен калай бар жана сиз аларды кантип колдонууну билесиз. Видео күчөткүч 0.65 мм бийиктиктеги SMD болгондуктан, мен сизге ошол микробду эритүү үчүн кээ бир ширетүү агымын сатып алууну сунуштайм. Мен эң сонун натыйжаларга ээ болгон "таза эмес" Rosing Mildly Activated (RMA) калемин колдондум.

Интерфейс төмөнкүлөрдөн турат:

- 1x Arduino DUE микроконтроллер тактасы

- 1x THS7374 видео күчөткүч

- 1x TSSOP14 DIP14 адаптерине

- 1x аудио күчөткүч

- 1x джемма манжасы

- 1х 5х7 см прототип тактасы, эки жагы

- 1x 1N4148 диод

- 7x 1Kohm резисторлору

- 1х 820 Ом каршылыгы

- 3x 220 ом каршылыгы

- 1x тилке сызыгы, аралыгы 2,54 мм

- 1x VGA кабели

- 1x аудио кабель

2 -кадам: схемалар

Схемалар
Схемалар

Бул жерде бүтүндөй долбоордун түстүү схемасы. Менимче, ортодокс эмес, бирок ээрчүү оңой.

Wirings көрүнгөндөй жеңил:

- түстүү сызыктар PC VGA коннекторунан видео күчөткүчкө келет; жерге 1Kohm каршылыгы видео күчөткүчтүн агымын төмөндөтөт. Чыгыш тарабында бир катар каршылык CRT аркадасына токту төмөндөтөт.

- синхрондоштуруу линиясы кандайдыр бир деңгээлде "татаалыраак": VGAдан өзүнчө синхрондоштуруу алгач жасалат, андан кийин Arduino DUE өзгөчөлүктөрүн урматтоо үчүн чыңалуу бөлүштүргүч менен түшүрүлөт (3.3V логика). Чыңалуу бөлүштүргүч 5V синхрондоштуруу сигналын эске алуу менен эсептелет.

- видео күчөткүч (THS7374) 3.3V же 5V менен иштей алат; 5V кубаттуулугу кирүү чыңалууларынын/сигналдарынын кеңири диапазонуна мүмкүндүк берет жана THS7374 5Vда соктолсо дагы 3.3V менен башкарылышы мүмкүн болгондуктан, мен 5V жолуна түштүм.

- видео жерге, arduino DUE жерге, THS7374 жерге жана джемма туташтыргыч жерге кыска туташуу.

- Arduino DUE 5V жана Jamma 5V линиялары КЫСКА АЙЛАНБАСЫН.

- USB кабелинен аудио күчөткүчтү чыгарбаңыз: бул үчүн учурдагы чектөөлөр үчүн тышкы булак керек (б.а. PC ATX PSU). Муну менен сиз USB портуңузга, ал тургай компьютериңизге зыян келтиресиз.

VGA туташтыргычы: эскертүүчү сөз

Жакында менин jammarduino DUE менен колдонулган компьютерди жаңыртуу мүмкүнчүлүгүнө ээ болдум. Мен аны мурун эки башка компьютер менен сынап көргөн болсом да, экөө тең бир үй -бүлөнүн ATI карталарын колдонушкан (ATI 9250 жана 9550). Жаңы PC бир DVI аналогдук чыгышы бар HD5750 менен жабдылган (VGA жок). Бул мени VGA адаптерине (пассивдүү) DVI колдонууга мажбур кылды. Ооба, бир аз кыйналгандан кийин, адаптерге туташкан VGA кабелинин иштеши үчүн VGA туташтыргычынын 5 -пинине гана туташкан жер болушу керектигин байкадым, Интернеттеги көпчүлүк схемаларда айтылгандай, 6дан 10го чейин төөнөгүчтөр эмес. Видео картадан эч кандай синхрондоштуруу сигналын көрө албасаңыз, муну эске алыңыз.

3 -кадам: эскиз/код

Эскиз/Код
Эскиз/Код

Сиз биринчи Arduino IDE орнотушуңуз керек; сиз дагы SAM Cortex M3 Core орнотушуңуз керек (демейки боюнча жок). Акыркы, бирок жок дегенде, Arduino DUE драйверлерин орнотуңуз. Көбүрөөк маалымат алуу үчүн расмий "Arduino Due менен баштоо" окуу куралын караңыз.

Сиз Arduino DUEге жүктөөңүз керек болгон эскиз бул жерде тиркелет. "JammarduinoDUE.ino" файлын ачыңыз жана Arduino IDEге жүктөңүз, андан кийин "программалоо" порту аркылуу arduino DUEге жүктөңүз. Эскиз ийгиликтүү жүктөлгөндөн кийин, USB кабелин "программалоо" портунан ажыратып, Arduino DUE "Native USB" портуна туташтырыңыз, антпесе коддун киргизүү бөлүгү иштебей калат.

Негизинен, Arduino DUE шайкештирүү жыштыгын өлчөйт жана синхрондоштуруу төмөн CRT үчүн өтө жогору болгондо видео күчөткүчтү өчүрөт. Arduino DUE контролдоо панелинен келген маалыматтарды да башкарат, белгилүү бир баскычты басууда демейки MAME баскычтарын жөнөтөт. Коммерциялык интерфейстер сыяктуу которуштуруу функциясы (P1 START баскычын басып туруу менен активдештирилген).

Таблицада демейки баскыч картасы. Сиз демейки ачкыч картасын өзгөртө аласыз же каалооңуз боюнча баскычтарды эскизге оңой эле кошо аласыз.

Мисалы, эгер сиз эмуляторуңуз үчүн үндү көзөмөлдөө баскычтарын дайындагыңыз келсе, анда эму баскычтарыңыздын менюсунан ошол баскычтарды (үн баскычын "+" жана үн баскычын басуу үчүн "-" дейли) аныктап алышыңыз керек; андан кийин үн баскычын көбөйтүү же азайтууну каалаган баскычтарга кошуңуз. Ыкчам баскычын жана 1 -ойноткучту 3 басуу менен үндү көбөйткүм келет дейли. Мен линияны өзгөртөм

{26, HIGH, 0, 180, 180}, // боштук - P1 B3

чейин

{26, HIGH, 0, 180, 223}, // боштук - P1 B3 (+)

Бул "223" - бул "+" клавиатурасынын ASCII символу коду.

Мен сизге "-" (же каалаганыңызды) "үнүн азайтуу" функциясына көнүгүү катары кантип тапшыруу керектигин түшүндүрүп берейин (Кеңеш: ASCII коду 222):)

Сураныч, MAMEде сиз жалпы эмуляция көлөмүн эмес, кызмат режиминин көлөмүн гана дайындай аласыз; бул эмуляцияланган такта программалык камсыздоонун көлөмүн көзөмөлдөөгө уруксат бербесе, анын көлөмү өзгөрбөй турганын билдирет.

4 -кадам: Input Lag жөнүндө эмне айтууга болот?

Мен кодду киргизүүгө канчалык артта калуу үчүн кээ бир тесттерди жасадым; жакшы, 3 баскычты жөнөтүү менен бир эле учурда толук циклдин аткарылышы болжол менен 4 мс талап кылынат, азырынча 33 мске жетпеген кадр 30 FPSте.

5 -кадам: Jamma Racing Cabinets жөнүндө эмне айтууга болот?

Jamma Racing Cabinets жөнүндө эмне айтууга болот?
Jamma Racing Cabinets жөнүндө эмне айтууга болот?

Потенциометр дөңгөлөгү

Эгерде сиздин кабинет жарыш кабинети болсо, анда дөңгөлөк потенциометрге негизделген болушу мүмкүн (сиз көзөмөл панелинин арт жагында 5Kohm потенциометрди көрө аласыз).

Биринчиден, Joystick китепканасын жүктөп алып, орнотуңуз (бүгүнкү күндө китепкананын 1 гана версиясы arduino DUE менен шайкеш келет, бирок ал дагы деле абдан жакшы китепкана).

Андан кийин, дөңгөлөктү оңой иштетүү үчүн 4 -кадамдагы эскизге кийинки бир нече саптарды кошуңуз (сызыктарды кайда коюу керек, сизге көнүгүү катары калтырылган …)

#кошуу

int deadZone = 0;

жараксыз орнотуу () {

Joystick.begin ();}

void loop () {

int readPot = analogRead (A3);

int wheelPos = карта (readPot, 0, 1023, -127, 127);

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

башка {Joystick.setXAxis (0);}

}

Көрүнүп тургандай, эгер керек болсо, өлүк зонасын орното аласыз (жакшы иштеген аркада дөңгөлөгүндө аны нөлгө коюу эң жакшы).

Потенциометрди Arduino DUEга туташтыруу оңой эле: потенциометрдин каптал казыктары +3.3V жана GNDге, arduino DUE аналогдук портуна өчүрүүчү пинге өтөт (маалымат үчүн сүрөттү караңыз). Мен бул жерде аналогдук пин 3 (A3) дөңгөлөктүн потенциометрин тазалагыч үчүн кириш катары аныктадым, бирок сиз аналогдук пинди керектөөлөрүңүзгө ылайыкташтыра аласыз.

PS: Жарыш шкафтарындагы педальдар көбүнчө потенциометр менен башкарыларын билесизби, техникалык жактан дөңгөлөктөр менен педальдар башка формадагы бир эле түзмөк. Бул жердеги код чыныгы аркада педальдарын көзөмөлдөө үчүн колдонулушу мүмкүн дегенди билдирет;)

Оптикалык дөңгөлөк

Эгерде дөңгөлөгүңүз оптикалык болсо, аны дагы оңой эле иштетүүгө болот, дагы эле баштапкы эскизге кичине өзгөртүү киргизүү менен.

Оптикалык Аркада кодерлери үчүн эң кеңири таралган пинту (Taito спиннерлери, Atari дөңгөлөктөрүнүн коддогучтары жана башкалар):

1. OptoA OUT

2. +5V

3. GND

4. OptoB OUT

2. жана 3. Arduino DUE 5V жана GND жана 1. жана 4. туташтырыңыз, сиз каалаган 5D өндүрүшүн оптикалык коддогучтан 3.3V arduino DUE башкара турган чыңалуу бөлүштүргүчтүн керектүү санарип пинге туташтырыңыз.. OptoA жана/же OptoB 5V чыгууларын arduino DUE кирүү казыгыңызга түз жөнөтпөңүз, антпесе сиз ошол кириштерди, ал тургай, бүт коллегияны кууруп аласыз. Сизге эскертүү берилди.

Мисалдын эскизинде мен санарип пин 2 жана санарип пин 3 оптикалык А жана оптикалык В катары колдоном.

#кошуу

логикалык optA_state = HIGH;

int xAxisMov = 2;

жараксыз орнотуу () {

pinMode (2, INPUT_PULLUP); // OptA

pinMode (3, INPUT_PULLUP); // OptB

Mouse.begin ();

}

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);}}} // loop end

Бул төмөн чечим 1X Counting оптикалык коддоо. Бул Аркада тиркемелери үчүн жетиштүү, бирок сиз коддун бир сабын кошуу менен токтомду оңой көтөрө аласыз.

PS: оптикалык аркада дөңгөлөктөрү жана аркада ийиргичтери техникалык жактан башка формадагы бир түзүлүш экенин билесизби? Сиз трекболдун техникалык жактан 2 огу бар экенин билесизби? Бул бул жердеги код чыныгы аркада ийрүүчүлөрдү көзөмөлдөө үчүн колдонулушу мүмкүн дегенди билдирет, жана трекболлорду оңой эле өзгөртүү мүмкүн эмес;)

6 -кадам: Кээ бир сүрөт, же болгон жок

Кээ бир сүрөт, же болгон жок!
Кээ бир сүрөт, же болгон жок!
Кээ бир сүрөт, же болгон жок!
Кээ бир сүрөт, же болгон жок!
Кээ бир сүрөт, же болгон жок!
Кээ бир сүрөт, же болгон жок!
Кээ бир сүрөт, же болгон жок!
Кээ бир сүрөт, же болгон жок!

Мына мен жасаган калканчтын сүрөттөрү. Бул жогорку деңгээлдеги иш эмес (ставка кой, мен профессионал эмесмин), бирок бул менин жамма Аркада кабинетимде 100% чайпалуу!

Сунушталууда: