ዝርዝር ሁኔታ:

Jammarduino DUE - DIY ፒሲ ወደ ጃማ በይነገጽ ለ Arcade ካቢኔቶች 6 ደረጃዎች
Jammarduino DUE - DIY ፒሲ ወደ ጃማ በይነገጽ ለ Arcade ካቢኔቶች 6 ደረጃዎች

ቪዲዮ: Jammarduino DUE - DIY ፒሲ ወደ ጃማ በይነገጽ ለ Arcade ካቢኔቶች 6 ደረጃዎች

ቪዲዮ: Jammarduino DUE - DIY ፒሲ ወደ ጃማ በይነገጽ ለ Arcade ካቢኔቶች 6 ደረጃዎች
ቪዲዮ: BTT - Manta M8P - TMC2208 2024, ህዳር
Anonim
Jammarduino DUE - DIY ፒሲ ወደ ጃማ በይነገጽ ለ Arcade ካቢኔቶች
Jammarduino DUE - DIY ፒሲ ወደ ጃማ በይነገጽ ለ Arcade ካቢኔቶች

ይህ አስተማሪ ለፒዲሲዎ ዝቅተኛ ጥራት ያለው CRT እና የጃማ አገናኝ ያለው እውነተኛ የመጫወቻ ማሽንን ለማገናኘት ለአርዱዲኖ DUE ቀለል ያለ ጋሻ እንዴት እንደሚፈጥሩ ያሳየዎታል።

የመከለያው ዋና አፈሰሶች የሚከተሉት ናቸው

- ከቪዲዮ ካርዱ ላይ የሚወጣውን የቪዲዮ ምልክት ለማጉላት (ለእውነተኛ የመጫወቻ ማዕከል CRT መቆጣጠሪያ በቮልቴጅ በጣም ዝቅተኛ)

- ዝቅተኛ ጥራት ያለው የ CRT መቆጣጠሪያዎን ከከፍተኛ ድግግሞሽ አግድም የማመሳሰል ምልክቶች ለመጠበቅ

- በመጫወቻ ማዕከል የቁጥጥር ፓነል ላይ “ለመተርጎም” አዝራሮች ፒሲው ሊይዘው ወደሚችለው ነገር

የመጫወቻ ማዕከል እሽቅድምድም ጎማዎችን እና ሽክርክሪቶችን ለመቆጣጠር የበይነገጽ አጠቃቀምን እንዴት ማራዘም እንደሚችሉ አሳያችኋለሁ።

ማሳሰቢያ -ጋሻው የቪዲዮ ማመሳሰል ምልክትን ወደ ዝቅተኛ ድግግሞሽ አያስገድድም - ለዚያ የተወሰነ የተወሰነ ሶፍትዌር ያስፈልግዎታል። እኔ CRT emudrivers ወይም Soft15KHz ን እንዲጠቀሙ ሀሳብ አቀርባለሁ።

ደረጃ 1 - ሃርድዌር

የመሸጫ ጣቢያ እና አንዳንድ ቆርቆሮ በእጅዎ እንዳለዎት እገምታለሁ እና እነሱን እንዴት እንደሚጠቀሙ ያውቃሉ። የቪዲዮ ማጉያው ከ 0.65 ሚሜ ቅጥነት ጋር SMD እንደመሆኑ ፣ ያንን ማይክሮባን ለመሸጥ የሚያግዝ አንዳንድ የሽያጭ ፍሰት እንዲገዙ እመክርዎታለሁ። እጅግ በጣም ጥሩ ውጤት ባለው ርካሽ “ንፁህ” ያልሆነ ሮዚንግ መለስተኛ ገቢር (አርኤምኤ) ብዕር እጠቀም ነበር።

በይነገጹ የተሠራው ከ -

- 1x Arduino DUE ማይክሮ መቆጣጠሪያ ቦርድ

- 1x THS7374 ቪዲዮ ማጉያ

- 1x TSSOP14 ወደ DIP14 አስማሚ

- 1x የድምጽ ማጉያ

- 1x የጃማ ጣት ሰሌዳ

- 1x 5x7 ሴ.ሜ የፕሮቶታይፕ ቦርድ ፣ ድርብ ጎን

- 1x 1N4148 diode

- 7x 1Kohm resistors

- 1x 820 ohm resistor

- 3x 220 ohm resistor

- 1x የጭረት መስመር ፣ 2.54 ሚሜ ርቀት

- 1x ቪጂኤ ገመድ

- 1x የድምጽ ገመድ

ደረጃ 2: መርሃግብሮች

መርሃግብሮች
መርሃግብሮች

የጠቅላላው ፕሮጀክት ባለቀለም መርሃ ግብር እዚህ አለ። በእኔ እምነት ኦርቶዶክሳዊ አይደለም ፣ ግን ለመከተል ቀላል ነው።

ሽቦዎች እንደሚመስሉ ቀላል ናቸው-

- የቀለም መስመሮች ከፒሲ ቪጂኤ አያያዥ ወደ ቪዲዮ ማጉያው ይመጣሉ። 1Kohm resistor ወደ መሬት የአሁኑን ወደ ቪዲዮ ማጉያው ግብዓት ዝቅ ያደርገዋል። በውጤቱ ጎን ተከታታይ ተቃውሞ የአሁኑን ወደ የመጫወቻ ማዕከል CRT ዝቅ ያደርገዋል።

- የማመሳሰል መስመር በሆነ መንገድ የበለጠ “የተወሳሰበ” ነው - ከቪጂኤው የተለየ ማመሳሰል የተቀናጀ ነው ፣ በመጀመሪያ ፣ ከዚያ የአርዲኖ DUE ዝርዝር መግለጫዎችን (3.3 ቪ አመክንዮ) ለማክበር በቮልቴጅ አከፋፋይ ዝቅ ብሏል። የቮልቴጅ መከፋፈያው 5V የማመሳሰል ምልክት በመገመት ይሰላል።

- የቪዲዮ ማጉያ (THS7374) በ 3.3V ወይም 5V ላይ ሊሠራ ይችላል። በ 5 ቮ ኃይል ማብራት ሰፋ ያለ የግብዓት ውጥረቶች/ምልክቶች እንዲኖሩ እና THS7374 በ 5 ቮ ቢጠጣ እንኳን በ 3.3 ቪ ቁጥጥር ሊደረግበት ይችላል ፣ እኔ በ 5 ቮ መንገድ ሄጄ ነበር።

- የቪዲዮ መሬት ፣ አርዱዲኖ DUE መሬት ፣ THS7374 መሬት እና የጃማ አያያዥ መሬት አጭር ወረዳዎች ናቸው።

- አርዱዲኖ DUE 5V እና Jamma 5V መስመሮች አጭር መሆን የለባቸውም።

- የድምፅ ማጉያውን ከዩኤስቢ ገመድ አያጨሱ - አሁን ባለው ገደቦች (ማለትም ፒሲ ATX PSU) ለዚያ የውጭ ምንጭ ያስፈልግዎታል። ያንን በማድረግ የዩኤስቢ ወደብዎን ወይም ፒሲዎን እንኳን ያበላሻሉ።

ቪጂኤ አያያዥ - የጥንቃቄ ቃል

ከ Jammarduino DUE ጋር ያገለገለውን ፒሲ ለማዘመን በቅርቡ እድሉን አግኝቻለሁ። ከዚህ በፊት በሁለት የተለያዩ ፒሲዎች ብሞክረውም ፣ ሁለቱም ሁለቱም የአንድ ቤተሰብ (ATI 9250 እና 9550) የ ATI ካርዶችን ተጠቅመዋል። አዲሱ ፒሲ አንድ ዲቪዲ አናሎግ ውፅዓት (ቪጂኤ የለም) ያለው ኤችዲ 57750 የተገጠመለት ነበር። ይህ (ተገብሮ) DVI ን ወደ ቪጂኤ አስማሚ ለመጠቀም አስገደደኝ። ደህና ፣ አንዳንድ ከተጋደሉ በኋላ ከአስማሚው ጋር የተገናኘው የ VGA ገመድ ከቪጂኤ ማያያዣው ፒን 5 ጋር የተገናኘው መሬት ብቻ ነው ፣ በድር ላይ በአብዛኛዎቹ መርሃግብሮች ውስጥ እንደተዘገበው ከ 6 እስከ 10 ያሉት ፒኖች አይደሉም። ከቪዲዮ ካርድዎ ውስጥ ምንም የማመሳሰል ምልክት ማየት ካልቻሉ ይህንን ያስታውሱ።

ደረጃ 3 ንድፍ/ኮድ

ንድፍ/ኮድ
ንድፍ/ኮድ

መጀመሪያ አርዱዲኖ አይዲኢን መጫን አለብዎት ፤ የ SAM Cortex M3 ኮርንም መጫን አለብዎት (በነባሪ አይገኝም)። በመጨረሻ ግን ቢያንስ የአርዱዲኖ DUE ነጂዎችን ይጫኑ። ለአብዛኛው ወቅታዊ መረጃ “በአርዱዲኖ ምክንያት መጀመር” የሚለውን መማሪያ ይመልከቱ።

ወደ የእርስዎ አርዱዲኖ DUE መስቀል የሚፈልጉት ንድፍ እዚህ ተያይ attachedል። “JammarduinoDUE.ino” ን ይንቀሉ እና አርዱዲኖ አይዲኢን ይጫኑ ፣ ከዚያ በ “ፕሮግራም” ወደብ በኩል ወደ አርዱዲኖ DUE ይስቀሉ። ንድፉ በተሳካ ሁኔታ ከተሰቀለ በኋላ የዩኤስቢ ገመዱን ከ ‹ፕሮግራሚንግ› ወደብ ያላቅቁ እና አርዱዲኖ DUE ን በ ‹ቤተኛ ዩኤስቢ› ወደብ በኩል ያገናኙ ፣ ወይም የኮዱ የግቤት ክፍል አይሰራም።

በመሠረቱ ፣ Arduino DUE የማመሳሰል ድግግሞሹን ይለካል እና ማመሳሰል ለዝቅተኛ CRT ሲመሳሰል የቪዲዮ ማጉያውን ያሰናክላል። አርዱዲኖ DUE ከመቆጣጠሪያ ፓነል የሚመጡትን ግብዓቶችም ያስተናግዳል ፣ በአንድ የተወሰነ የአዝራር ቁልፍ ላይ ነባሪ የ MAME ቁልፎችን ይልካል። የመሸጋገሪያ ተግባር (የ P1 START አዝራርን ተጭኖ በማቆየት የሚንቀሳቀስ) እንደ የንግድ በይነገጾችም ተካትቷል።

በሰንጠረ In ውስጥ ነባሪ የቁልፍ ካርታ። በቀላሉ በስዕሉ ላይ ነባሪውን ቁልፍ ካርታ መለወጥ ወይም በፍላጎትዎ ላይ አዝራሮችን ማከል ይችላሉ።

ለምሳሌ ፣ ለአምሳያዎ የድምፅ መቆጣጠሪያ ቁልፎችን ለመመደብ ከፈለጉ ፣ በኢምዩ ቁልፎች ምናሌዎ ውስጥ እነዚያን ቁልፎች መግለፅ አለብዎት (የቁልፍ ሰሌዳው “+” ለድምጽ ማጉያ እና ለቁልፍ ሰሌዳ”-“ለድምጽ ዝቅ”ይበሉ) ፣ ከዚያ የድምጽ መጠን መጨመር ወይም መቀነስ እንዲመደብላቸው በሚፈልጉት አዝራሮች ላይ የተቀየረውን ቁልፍ ያክሉ። የመቀየሪያ ቁልፉን እና የተጫዋች 1 ቁልፍን በመጫን ድምጹን ከፍ ማድረግ እፈልጋለሁ እንበል 3. መስመሩን አስተካክለውዋለሁ

{26 ፣ HIGH ፣ 0 ፣ 180 ፣ 180} ፣ // ቦታ - P1 B3

ወደ

{26 ፣ HIGH ፣ 0 ፣ 180 ፣ 223} ፣ // ቦታ - P1 B3 (+)

ያ “223” ለቁልፍ ሰሌዳ “+” የ ASCII የቁምፊ ኮድ ነው።

እኔ "-" (ወይም የምትመርጠውን ማንኛውንም) ለ "ድምጽ ወደ ታች" ተግባር እንደ ልምምድ (ፍንጭ-ASCII ኮድ 222):)

በ MAME ውስጥ የአጠቃላይ የማስመሰል መጠንን ብቻ ሳይሆን የአገልግሎት ሁነታን መጠን ብቻ መመደብ እንደሚችሉ ያስታውሱ። ይህ ማለት የተኮረጀው ቦርድ ለሶፍትዌር የድምፅ ቁጥጥር የማይፈቅድ ከሆነ ፣ መጠኑ አይጎዳውም ማለት ነው።

ደረጃ 4 - ስለ ግቤት ላግ?

ኮዱ ምን ያህል መዘግየትን ሊያስተውል እንደሚችል አንዳንድ ሙከራዎችን አደረግሁ። ደህና ፣ 3 አዝራሮችን በመላክ በተመሳሳይ ጊዜ አንድ ሙሉ ዙር ወደ 4 ሚ.ሜ ገደማ ይወስዳል ፣ ስለሆነም ክፈፉ በ 30 ኤፍፒኤስ ከሚቆይበት ከ 33 ሚሴ ያነሰ ነው።

ደረጃ 5 - ስለ ጃማ እሽቅድምድም ካቢኔዎችስ?

ስለ ጃማ እሽቅድምድም ካቢኔዎችስ?
ስለ ጃማ እሽቅድምድም ካቢኔዎችስ?

ፖታቲሞሜትር ጎማ

የእርስዎ ካቢኔ የእሽቅድምድም ካቢኔ ከሆነ ፣ መንኮራኩሩ በ potentiometer ላይ የተመሠረተ ሊሆን ይችላል (በመቆጣጠሪያ ፓነል የኋላ በኩል 5Kohm potentiometer ን ማየት ይችላሉ)።

በመጀመሪያ መጀመሪያ የጆይስቲክ ቤተ -መጽሐፍትን ያውርዱ እና ይጫኑ (ዛሬ ባለው ቀን የቤተ -መጽሐፍት ስሪት 1 ከአርዲኖ DUE ጋር ተኳሃኝ ነው ይባላል ፣ ግን አሁንም በጣም ጥሩ ቤተ -መጽሐፍት ነው)።

ከዚያ መንኮራኩሩን በቀላሉ ለመያዝ በደረጃ 4 ላይ ወደ ስዕሉ የተከተሉትን ጥቂት መስመሮችን ያክሉ (መስመሮቹን እንደ መልመጃ ለእርስዎ የሚተውበት…)

#ያካትቱ

int deadZone = 0;

ባዶነት ማዋቀር () {

Joystick.begin ();}

ባዶነት loop () {

int readPot = analogRead (A3);

int wheelPos = ካርታ (readPot ፣ 0 ፣ 1023 ፣ -127 ፣ 127);

ከሆነ (wheelPos> deadZone || wheelPos <-deadZone) {Joystick.setXAxis (wheelPos);}

ሌላ {Joystick.setXAxis (0);}

}

እንደሚመለከቱት ፣ አስፈላጊ ከሆነ የሞተ ቀጠና ማዘጋጀት ይችላሉ (በጥሩ የሥራ የመጫወቻ ማዕከል መንኮራኩር ውስጥ ወደ ዜሮ ማቀናበሩ የተሻለ ነው)።

ፖታቲሞሜትር ወደ አርዱዲኖ DUE ማገናኘት ቀጥተኛ ነው - የ potentiometer ጎን ፒኖች ወደ +3.3V እና GND ይሂዱ ፣ የመጥረጊያ ፒን ወደ አርዱዲኖ DUE አናሎግ ወደብ (ለማጣቀሻ ስዕሉን ይመልከቱ)። እዚህ የአናሎግ ፒን 3 (A3) ለጎማ ፖታቲሞሜትር መጥረጊያ ግብዓት አድርጌ ገልጫለሁ ፣ ግን ለፍላጎቶችዎ በጣም የሚስማማውን የአናሎግ ፒን ማዘጋጀት ይችላሉ።

PS: ከቴክኒካዊ መንኮራኩሮች እና ፔዳሎች የተለየ ቅርፅ ካለው መሣሪያ ይልቅ በእሽቅድምድም ካቢኔዎች ውስጥ ብዙውን ጊዜ በፖታቲሞሜትር እንደሚቆጣጠሩ ያውቃሉ? ይህ ማለት እዚህ ያለው ኮድ እውነተኛ የመጫወቻ ማዕከል ፔዳሎችን ለመቆጣጠር ሊያገለግል ይችላል።)

የኦፕቲካል ጎማ

መንኮራኩርዎ ኦፕቲካል ከሆነ ፣ እሱ በቀላሉ እንደገና ሊታከም ይችላል ፣ እንደገናም ፣ በመነሻ ንድፍ ላይ በሊቲ ማሻሻያ።

ለኦፕቲካል የመጫወቻ ማዕከል መቀየሪያዎች (የታይቶ አከርካሪዎች ፣ የአታሪ መንኮራኩሮች እና የመሳሰሉት) በጣም የተለመደው ፒኖት-

1. OptoA ውጣ

2. +5V

3. GND

4. OptoB OUT

2. እና 3. ከ Arduino DUE 5V እና GND ፣ እና 1. እና 4. ጋር ያገናኙት 5 ዲ ቮት ከኦፕቲካል ኢንኮደር ወደ 3.3V አርዱዲኖ DUE ማስተናገድ ይችላል. የ OptoA ን እና/ወይም የ OptoB 5V ውጤቶችን በቀጥታ ወደ arduino DUE የግብዓት ፒኖችዎ አይላኩ ወይም ምናልባት እነዚያን ግብዓቶች ወይም መላውን ሰሌዳ እንኳን ያበስላሉ። ማስጠንቀቂያ ተሰጥቶዎታል።

በምሳሌው ንድፍ ውስጥ እኔ ዲጂታል ፒን 2 እና ዲጂታል ፒን 3 እንደ ኦፕቲካል ኤ እና ኦፕቲካል መውጫ ለ እጠቀማለሁ።

#ያካትቱ

ቡሊያን optA_state = ከፍተኛ;

int xAxisMov = 2;

ባዶነት ማዋቀር () {

pinMode (2 ፣ INPUT_PULLUP); // ኦፕቲኤ

pinMode (3 ፣ INPUT_PULLUP); // OptB

Mouse.begin ();

}

ባዶነት loop () {

ከሆነ (optA_state == HIGH && digitalRead (2) == LOW) {

optA_state =! optA_state;

ከሆነ (digitalRead (3) == ከፍተኛ) {Mouse.move (xAxisMov, 0, 0);} ሌላ {Mouse.move (-xAxisMov, 0, 0) ፤}}} // // loop end

ይህ ዝቅተኛ ጥራት 1X ቆጠራ የኦፕቲካል ኢንኮዲንግ ነው። ለ Arcade ትግበራዎች ከበቂ በላይ ነው ፣ ግን አንዳንድ የኮድ መስመርን በማከል በቀላሉ መፍትሄውን ከፍ ማድረግ ይችላሉ።

PS: የኦፕቲካል የመጫወቻ ማዕከል መንኮራኩሮች እና የመጫወቻ ማዕከል አከርካሪዎች በቴክኒካዊ ሁኔታ የተለየ ቅርፅ ያለው ተመሳሳይ መሣሪያ እንደሆኑ ያውቃሉ? የትራክ ኳሶች በቴክኒካዊ የ 2 ዘንግ ሽክርክሪት እንደሆኑ ያውቃሉ? ይህ ማለት እዚህ ያለው ኮድ እውነተኛ የመጫወቻ ማዕከል ሽክርክሪቶችን ለመቆጣጠር እና በጥቂት ቀላል የማሻሻያ ትራክ ኳሶችን ለመቆጣጠር ሊያገለግል ይችላል።)

ደረጃ 6: አንዳንድ ስዕል ፣ ወይም አልሆነም

አንዳንድ ስዕል ፣ ወይም አልሆነም!
አንዳንድ ስዕል ፣ ወይም አልሆነም!
አንዳንድ ስዕል ፣ ወይም አልሆነም!
አንዳንድ ስዕል ፣ ወይም አልሆነም!
አንዳንድ ስዕል ፣ ወይም አልሆነም!
አንዳንድ ስዕል ፣ ወይም አልሆነም!
አንዳንድ ስዕል ፣ ወይም አልሆነም!
አንዳንድ ስዕል ፣ ወይም አልሆነም!

እኔ የሠራሁት ጋሻ አንዳንድ ስዕሎች እዚህ አሉ። እሱ ከፍተኛ ደረጃ ሥራ አይደለም (ውርርድ ፣ እኔ ፕሮፌሽናል አይደለሁም) ፣ ግን በጄማ አርኬድ ካቢኔዬ ውስጥ 100% እየተንቀጠቀጠ ነው!

የሚመከር: