![Jammarduino DUE - DIY PC to Jamma интерфейс за аркадни шкафове: 6 стъпки Jammarduino DUE - DIY PC to Jamma интерфейс за аркадни шкафове: 6 стъпки](https://i.howwhatproduce.com/images/001/image-1462-2-j.webp)
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57
![Jammarduino DUE - Направи си сам компютър към Jamma интерфейс за аркадни шкафове Jammarduino DUE - Направи си сам компютър към Jamma интерфейс за аркадни шкафове](https://i.howwhatproduce.com/images/001/image-1462-3-j.webp)
Тази инструкция ще ви покаже как да създадете прост щит за Arduino DUE, за да взаимодейства с вашия компютър с истинска аркадна машина с CRT с ниска резолюция и Jamma конектор.
Основните условия на щита са:
- за усилване на видео сигнала, идващ от видеокартата (твърде ниско напрежение за оригинален Arcade CRT монитор)
- за да защитите вашия CRT монитор с ниска резолюция от твърде високочестотни сигнали за хоризонтална синхронизация
- за "превод" на натискане на бутони на аркадния контролен панел към нещо, с което компютърът може да се справи
Ще ви покажа как да разширите използването на интерфейса за управление на колела и спинери на Arcade Racing.
Забележка: щитът НЕ принуждава видеосинхронизиращия сигнал към ниски честоти: имате нужда от някакъв специфичен софтуер за това. Предлагам ви да използвате CRT емулатори или Soft15KHz.
Стъпка 1: Хардуер
Предполагам, че имате станция за запояване и малко калай на ръка и знаете как да ги използвате. Тъй като видео усилвателят е SMD с стъпка от 0,65 мм, предлагам ви да закупите малко флюс за запояване, за да спойкате този микроб. Използвах евтина писалка "не почистваща" Rosing Mildly Activated (RMA) с отлични резултати.
Интерфейсът се състои от:
- 1x платка за микроконтролер Arduino DUE
- 1x видео усилвател THS7374
- 1x адаптер TSSOP14 към DIP14
- 1x аудио усилвател
- 1x джамба гриф
- 1x 5x7 cm прототипна дъска, двойна страна
- 1x 1N4148 диод
- 7x 1Kohm резистори
- 1x 820 ома резистор
- 3x 220 ома резистор
- 1x лентова линия, разстояние 2,54 мм
- 1x VGA кабел
- 1x аудио кабел
Стъпка 2: Схеми
![Схеми Схеми](https://i.howwhatproduce.com/images/001/image-1462-4-j.webp)
Ето цветна схема на целия проект. Не е толкова православен, но по -лесен за следване, надявам се.
Кабелите са толкова лесни, колкото изглеждат:
- цветните линии идват от VGA конектора на компютъра към видео усилвателя; 1Kohm резистор към земята намалява тока към входа на видео усилвателя. От изходната страна последователното съпротивление намалява тока към аркадната CRT.
- линията за синхронизация е някак по -"сложна": отделната синхронизация от VGA се прави композитна, първо, след това се понижава с делител на напрежение, за да се спазват спецификациите на Arduino DUE (3.3V логика). Делителят на напрежението се изчислява, приемайки 5V синхронизиращ сигнал.
- видео усилвател (THS7374) може да се захранва при 3.3V или 5V; тъй като захранването при 5V позволява по -широк диапазон от входни напрежения/сигнали и тъй като THS7374 може да се управлява от 3.3V, дори ако е изцеден на 5V, аз тръгнах по 5V.
- заземяване на видео, заземяване arduino DUE, земя THS7374 и земя на съединителя Jamma са късо съединение.
- Линиите Arduino DUE 5V и Jamma 5V НЕ ТРЯБВА ДА БЪДАТ КЪС КРЪГ.
- НЕ извличайте аудио усилвателя от USB кабела: имате нужда от външен източник за това поради ограниченията на тока (т.е. PC ATX PSU). По този начин ще повредите USB порта или дори компютъра си.
VGA конектор: предупреждение
Наскоро имах възможност да актуализирам компютъра, използван с моя jammarduino DUE. Дори и преди да съм го тествал с два различни компютъра, и двамата използваха ATI карти от едно и също семейство (ATI 9250 и 9550). Новият компютър беше оборудван с HD5750 с един DVI аналогов изход (без VGA). Това ме принуди да използвам (пасивен) DVI към VGA адаптер. Е, след известно затруднение забелязах, че VGA кабелът, свързан към адаптера, ТРЯБВА да работи само земята, свързана към пин 5 на VGA конектора, за да работи, а не щифтове от 6 до 10, както се съобщава в повечето схеми в мрежата. Имайте това предвид, в случай че не виждате никакъв синхронизиращ сигнал от вашата видеокарта.
Стъпка 3: Скица/Код
![Скица/Код Скица/Код](https://i.howwhatproduce.com/images/001/image-1462-5-j.webp)
Първо трябва да инсталирате 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), подобно на търговските интерфейси.
В таблицата клавишна карта по подразбиране. Можете лесно да промените ключовата карта по подразбиране или да добавите бутони по ваше желание директно върху скицата.
Например, ако искате да зададете клавиши за контрол на силата на звука за вашия емулатор, първо трябва да дефинирате тези клавиши (да речем клавиатурата "+" за увеличаване на силата на звука и клавиатурата "-" за намаляване на звука) в менюто на вашите клавиши за ему, първо; след това добавете изместения клавиш към бутоните, на които искате да се присвои увеличаването или намаляването на силата на звука. Да речем, че искам да увелича силата на звука, като натискам клавиша Shift и бутона Player 1. Ще променя реда
{26, HIGH, 0, 180, 180}, // интервал - P1 B3
да се
{26, HIGH, 0, 180, 223}, // интервал - P1 B3 (+)
Това "223" е кодът на ASCII символ за клавиатурата "+".
Ще ви позволя да разберете как да присвоите "-" (или каквото предпочитате) на функцията "намаляване на звука" като упражнение (Съвет: ASCII код 222):)
Моля, имайте предвид, че в MAME можете да зададете само силата на звука на режима на обслужване, а не общия том на емулация; това означава, че ако емулираната платка не позволява софтуерно управление на силата на звука, силата на звука няма да бъде засегната.
Стъпка 4: Какво ще кажете за Input Lag?
Направих някои тестове, за да видя колко изоставане може да въведе кодът; Е, чрез изпращане на 3 бутона едновременно натискане на пълен цикъл отнема около 4 ms, за да се изпълни, досега по -малко от 33 ms един кадър трае при 30 FPS.
Стъпка 5: Какво ще кажете за състезателни шкафове Jamma?
![Какво ще кажете за състезателни шкафове Jamma? Какво ще кажете за състезателни шкафове Jamma?](https://i.howwhatproduce.com/images/001/image-1462-6-j.webp)
Колело за потенциометър
Ако вашият шкаф е състезателен шкаф, много е вероятно колелото да се основава на потенциометър (можете да видите потенциометър 5Kohm в задната страна на контролния панел).
Първо първо изтеглете и инсталирайте библиотеката на джойстика (към днешна дата се казва, че само версия 1 на библиотеката е съвместима с arduino DUE, но все още е много добра библиотека).
След това добавете няколко реда, които следва към скицата в Стъпка 4, за да се справите лесно с колелото (къде да поставите линиите са оставени на вас като упражнение …)
#включва
int deadZone = 0;
void setup () {
Joystick.begin ();}
void loop () {
int readPot = analogRead (A3);
int wheelPos = map (readPot, 0, 1023, -127, 127);
if (wheelPos> deadZone || wheelPos <-deadZone) {Joystick.setXAxis (wheelPos);}
else {Джойстик.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. към всеки цифров щифт, който харесвате, като обърнете внимание, че е необходим делител на напрежение за понижаване на 5V изхода от оптичния енкодер до 3.3V arduino DUE, който може да се справи. Не изпращайте изходи OptoA и/или OptoB 5V директно към вашите входни щифтове arduino DUE, или вероятно ще изпържите тези входове или дори цялата платка. Предупреден си.
В примерната скица тук ще използвам цифров щифт 2 и цифров щифт 3 като оптичен изход A и оптичен изход B.
#включва
логическо optA_state = ВИСОКО;
int xAxisMov = 2;
void setup () {
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);}}} // край на цикъла
Това е оптично кодиране с ниска разделителна способност 1X. Това е повече от достатъчно за Arcade приложения, но можете лесно да увеличите разделителната способност, като добавите някакъв ред код.
PS: знаете ли, че оптичните аркадни колела и аркадни въртящи устройства са технически едно и също устройство с различна форма? Знаете ли, че тракболите са технически двуосен въртящ механизъм? Това означава, че кодът тук може да се използва за управление на оригинални аркадни въртящи се устройства и с малко лесни модификации на тракболи;)
Стъпка 6: Някаква снимка или не се е случило
![Някаква снимка, или не се случи! Някаква снимка, или не се случи!](https://i.howwhatproduce.com/images/001/image-1462-7-j.webp)
![Някаква снимка, или не се случи! Някаква снимка, или не се случи!](https://i.howwhatproduce.com/images/001/image-1462-8-j.webp)
![Някаква снимка, или не се случи! Някаква снимка, или не се случи!](https://i.howwhatproduce.com/images/001/image-1462-9-j.webp)
![Някаква снимка, или не се случи! Някаква снимка, или не се случи!](https://i.howwhatproduce.com/images/001/image-1462-10-j.webp)
Ето няколко снимки на щита, който направих. Това не е работа на високо ниво (обзалагам се, че не съм професионалист), но е 100% люлееща се в моя джамма Аркаден кабинет!
Препоръчано:
Адаптер за сила на звука на аркадни високоговорители: 3 стъпки
![Адаптер за сила на звука на аркадни високоговорители: 3 стъпки Адаптер за сила на звука на аркадни високоговорители: 3 стъпки](https://i.howwhatproduce.com/images/001/image-2232-j.webp)
Адаптер за сила на звука на Arcade Speaker: Това е кратка инструкция за това как да адаптирате отвора за монтаж на Arcade Button, за да побере контрол на силата на звука за Arcade Speaker. Ако изграждате Bartop Arcade машина като мен, няма да имате нужда от нищо повече от средствата за получаване на един от
Персонализиран шкаф за аркадни бартони: 32 стъпки (със снимки)
![Персонализиран шкаф за аркадни бартони: 32 стъпки (със снимки) Персонализиран шкаф за аркадни бартони: 32 стъпки (със снимки)](https://i.howwhatproduce.com/images/005/image-13694-j.webp)
Персонализиран аркаден шкаф Bartop: Здравейте и благодаря, че проверихте първия ми Instructable за това как да изградите персонализиран шкаф за баркод! Аркадите наистина започнаха да се завръщат, когато остареем и искаме да се насладим на носталгични ретро игри. Това прави чудесна възможност
ESP32 VGA Аркадни игри и джойстик: 6 стъпки (със снимки)
![ESP32 VGA Аркадни игри и джойстик: 6 стъпки (със снимки) ESP32 VGA Аркадни игри и джойстик: 6 стъпки (със снимки)](https://i.howwhatproduce.com/images/006/image-17949-j.webp)
ESP32 VGA Аркадни игри и джойстик: В тази инструкция ще ви покажа как да възпроизвеждате четири аркадни игри - Tetris - Snake - Breakout - Bomber - с помощта на ESP32, с изход за VGA монитор. Резолюцията е 320 х 200 пиксела, в 8 цвята. Преди това направих версия с
Машина за аркадни игри с Raspberry Pi: 7 стъпки (със снимки)
![Машина за аркадни игри с Raspberry Pi: 7 стъпки (със снимки) Машина за аркадни игри с Raspberry Pi: 7 стъпки (със снимки)](https://i.howwhatproduce.com/images/002/image-5064-63-j.webp)
Машина за аркадни игри с Raspberry Pi: Създаване на история: Машина за аркадни игри с ретро пи (raspberry pi3)
Аркадни бутони Plug and Play: 7 стъпки (със снимки)
![Аркадни бутони Plug and Play: 7 стъпки (със снимки) Аркадни бутони Plug and Play: 7 стъпки (със снимки)](https://i.howwhatproduce.com/images/002/image-5837-61-j.webp)
Plug and Play Аркадни бутони: Наскоро започнах да използвам Arduino, за да правя своите проекти. Като дизайнер обичам да правя персонализирани интерфейси за моите игри/интерактивни проекти. Единственият проблем, на който се натъкнах, че използването на серийна комуникация е доста сложен и предразположен към проблеми и