Агуулгын хүснэгт:

Jammarduino DUE - Зоосон машин шүүгээнд зориулсан Жамма интерфэйс рүү DIY компьютер: 6 алхам
Jammarduino DUE - Зоосон машин шүүгээнд зориулсан Жамма интерфэйс рүү DIY компьютер: 6 алхам

Видео: Jammarduino DUE - Зоосон машин шүүгээнд зориулсан Жамма интерфэйс рүү DIY компьютер: 6 алхам

Видео: Jammarduino DUE - Зоосон машин шүүгээнд зориулсан Жамма интерфэйс рүү DIY компьютер: 6 алхам
Видео: 【太平洋フェリー きそ 1等和洋室】名古屋→苫小牧 日本最長航路40時間 2024, Арваннэгдүгээр
Anonim
Jammarduino DUE - Зоосон машин шүүгээнд зориулсан Жамма интерфэйс рүү DIY компьютер
Jammarduino DUE - Зоосон машин шүүгээнд зориулсан Жамма интерфэйс рүү DIY компьютер

Энэхүү зааварчилгаа нь Arduino DUE -ийг компьютер дээрээ бага нягтралтай CRT, jamma холбогчтой жинхэнэ аркад машинтай хэрхэн холбох талаар энгийн бамбай үүсгэхийг танд үзүүлэх болно.

Бамбайны гол цутгах цэгүүд нь:

- видео картаас гарах видео дохиог нэмэгдүүлэхийн тулд (жинхэнэ Зоосон машин CRT дэлгэцийн хувьд хэт бага хүчдэлтэй)

- Бага нягтралтай CRT дэлгэцээ хэт өндөр давтамжийн хэвтээ синхрончлолын дохионоос хамгаалах

- Зоосон машины удирдлагын самбар дээрх товчлуурыг компьютерын зохицуулж чадах зүйл рүү "орчуулах"

Arcade Racing дугуй болон ээрэх машиныг удирдах интерфэйсийн хэрэглээг хэрхэн өргөжүүлэхийг би танд үзүүлэх болно.

Анхаарна уу: бамбай нь видео синхрончлолын дохиог бага давтамжтайгаар албадахгүй: танд тусгай програм хангамж хэрэгтэй болно. Би танд CRT эмудривер эсвэл Soft15KHz ашиглахыг санал болгож байна.

Алхам 1: Техник хангамж

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

Интерфэйс нь дараахь зүйлээс бүрдэнэ.

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

- 1х THS7374 видео өсгөгч

- 1 удаа TSSOP14 -аас DIP14 адаптер

- 1х аудио өсгөгч

- 1 ширхэг jamma хурууны самбар

- 1х 5х7 см хэмжээтэй загвар самбар, хоёр талтай

- 1x 1N4148 диод

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

- 1х820 ом эсэргүүцэл

- 3x 220 ом эсэргүүцэл

- 1х зурвас шугам, 2.54 мм -ийн зайтай

- 1х VGA кабель

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

Алхам 2: Схем

Схем
Схем

Бүхэл бүтэн төслийн өнгөт схемийг энд харуулав. Ортодокс биш, гэхдээ дагахад илүү хялбар байдаг гэж найдаж байна.

Утас холбох нь тэдний харж байгаа шиг хялбар байдаг.

- өнгөт шугамууд нь PC VGA холбогчоос видео өсгөгч рүү ирдэг; газардуулгын 1Км эсэргүүцэл нь видео өсгөгчийн оролтын гүйдлийг бууруулдаг. Гаралтын тал дээр цуврал эсэргүүцэл нь CRT аркадын гүйдлийг бууруулдаг.

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

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

- видео газардуулга, arduino DUE газардуулга, THS7374 газардуулга ба jamma холбогчийн газардуулга богино холболттой байна.

- Arduino DUE 5V ба Jamma 5V шугамыг Богино хугацаанд хэлхээнд оруулах ёсгүй.

- Аудио өсгөгчийг USB кабелиас бүү шахаарай: одоогийн хязгаараас шалтгаалан танд гадаад эх үүсвэр хэрэгтэй болно (өөрөөр хэлбэл PC ATX PSU). Үүнийг хийснээр та USB порт эсвэл компьютерээ гэмтээх болно.

VGA холбогч: анхааруулах үг

Саяхан би jammarduino DUE -д ашигладаг компьютераа шинэчлэх боломж олдсон. Өмнө нь би үүнийг хоёр өөр PC -ээр туршиж үзсэн байсан ч хоёулаа нэг гэр бүлийн ATI картуудыг ашигладаг байсан (ATI 9250 ба 9550). Шинэ компьютер нь нэг DVI аналог гаралт бүхий HD5750 төхөөрөмжөөр тоноглогдсон (VGA байхгүй). Энэ нь намайг (идэвхгүй) DVI -ээс VGA адаптер ашиглахад хүргэсэн. Уучлаарай, адаптерт холбогдсон 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 -ийг "уугуул USB" портоор холбоно уу, эс тэгвээс кодын оролтын хэсэг ажиллахгүй болно.

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

Хүснэгтэнд товчлуурын үндсэн зураг байна. Та үндсэн товчлуурын газрын зургийг өөрчлөх эсвэл өөрийн хүссэнээр товчлуурыг шууд ноорог дээр нэмж болно.

Жишээлбэл, хэрэв та эмуляторынхаа дууны түвшинг хянах товчлуурыг оноохыг хүсч байвал эхлээд эдгээр товчлууруудыг (дууны түвшинг дээшлүүлэхийн тулд "+" товчлуур, дууг багасгахын тулд "-" товчлуурыг хэлнэ үү) emu товчлуурын цэсэнд оруулах ёстой. дараа нь дууны хэмжээг нэмэгдүүлэх эсвэл багасгахыг хүссэн товчлуурууд дээр шилжүүлсэн түлхүүрийг нэмнэ үү. Би ээлжийн товчлуур болон Тоглогч 1 товчлуурыг дарж дууны хэмжээг нэмэгдүүлэхийг хүсч байна гэж хэлье. Би мөрийг өөрчлөх болно

{26, HIGH, 0, 180, 180}, // зай - P1 B3

руу

{26, HIGH, 0, 180, 223}, // зай - P1 B3 (+)

Энэ "223" бол "+" товчлуурын ASCII тэмдэгтийн код юм.

"Дууг бууруулах" функцэд дасгал хийх зорилгоор "-" (эсвэл таны хүссэн зүйлийг) хэрхэн яаж хуваарилахыг танд хэлэх болно (Зөвлөгөө: ASCII код 222):)

MAME дээр та зөвхөн эмуляцийн ерөнхий эзлэхүүнийг бус зөвхөн үйлчилгээний горимын хэмжээг зааж өгч болно гэдгийг санаарай. хэрэв эмуляцлагдсан самбар нь програм хангамжийн хэмжээг хянахыг зөвшөөрөөгүй бол эзлэхүүн нөлөөлөхгүй гэсэн үг юм.

Алхам 4: Оролтын хоцролтын талаар юу хэлэх вэ?

Код нь хэр их хоцрогдол авчрахыг харахын тулд би хэдэн туршилт хийсэн. За, 3 товчлуурыг дарж нэгэн зэрэг бүтэн давталт хийхэд 4 мс орчим хугацаа шаардагдах бөгөөд 33 мс -ээс бага хүрээ нь 30 FPS хурдтай үргэлжилнэ.

Алхам 5: Жамма уралдааны кабинетуудын талаар юу хэлэх вэ?

Жамма уралдааны кабинетуудын талаар юу хэлэх вэ?
Жамма уралдааны кабинетуудын талаар юу хэлэх вэ?

Потенциометрийн дугуй

Хэрэв таны кабинет нь уралдааны шүүгээ бол дугуй нь потенциометр дээр суурилсан байх магадлалтай (хяналтын самбарын ар талд 5 кохм потенциометрийг харж болно).

Нэгдүгээрт, 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) -ийг дугуйны потенциометрийн арчигчийн оролт гэж тодорхойлсон боловч та өөрийн хэрэгцээнд тохирсон аналог зүүг тохируулж болно.

Жич: Унадаг дугуйнуудын дөрөө нь ихэвчлэн потенциометрээр хянагддаг, техникийн хувьд дугуй, дөрөө нь өөр өөр хэлбэртэй төхөөрөмж байдгийг та мэдэх үү? Энэ нь энд байгаа кодыг жинхэнэ аркад дөрөө удирдахад ашиглаж болно гэсэн үг юм;)

Оптик дугуй

Хэрэв таны дугуй оптик бол түүнийг анхны схемийн дагуу хялбархан өөрчилж болно.

Оптик аркад кодлогч (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 -ийг оптик гаралтын А ба оптик гаралтын В болгон ашиглах болно.

#оруулах

boolean optA_state = HIGH;

int xAxisMov = 2;

хүчингүй тохиргоо () {

pinMode (2, INPUT_PULLUP); // OptA

pinMode (3, INPUT_PULLUP); // OptB

Хулгана.begin ();

}

void loop () {

хэрэв (optA_state == HIGH && digitalRead (2) == LOW) {

optA_state =! optA_state;

if (digitalRead (3) == HIGH) {Mouse.move (xAxisMov, 0, 0);} өөр {Mouse.move (-xAxisMov, 0, 0);}}} // давталтын төгсгөл

Энэ бол бага нарийвчлалтай 1X тоолох оптик кодчилол юм. Энэ нь аркад програмуудын хувьд хангалттай биш боловч зарим мөрийн код нэмснээр нарийвчлалыг хялбархан нэмэгдүүлэх боломжтой.

Жич: Оптик аркад дугуй болон аркад ээрэх төхөөрөмж нь техникийн хувьд өөр хэлбэртэй ижил төхөөрөмж гэдгийг та мэдэх үү? Трекбол нь техникийн хувьд 2 тэнхлэгтэй ээрэх хэрэгсэл гэдгийг та мэдэх үү? Энэ нь энд байгаа кодыг жинхэнэ аркад ээрэгчдийг хянахад ашиглаж болох бөгөөд цөөн тооны трекболыг хялбархан өөрчилж болно гэсэн үг юм.)

Алхам 6: Зарим зураг, эсвэл ийм зүйл болоогүй

Зарим зураг, эсвэл ийм зүйл болоогүй!
Зарим зураг, эсвэл ийм зүйл болоогүй!
Зарим зураг, эсвэл ийм зүйл болоогүй!
Зарим зураг, эсвэл ийм зүйл болоогүй!
Зарим зураг, эсвэл ийм зүйл болоогүй!
Зарим зураг, эсвэл ийм зүйл болоогүй!
Зарим зураг, эсвэл ийм зүйл болоогүй!
Зарим зураг, эсвэл ийм зүйл болоогүй!

Энд миний хийсэн бамбайны зарим зургууд байна. Энэ бол өндөр түвшний ажил биш (бооцоо тавиарай, би мэргэжлийн хүн биш), гэхдээ энэ нь миний jamma аркад кабинетэд 100% эргэлдэж байна!

Зөвлөмж болгож буй: