ዝርዝር ሁኔታ:

ለ Raspberry PI ትክክለኛ Wiimote Light Gun: 9 ደረጃዎች (ከስዕሎች ጋር)
ለ Raspberry PI ትክክለኛ Wiimote Light Gun: 9 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ለ Raspberry PI ትክክለኛ Wiimote Light Gun: 9 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ለ Raspberry PI ትክክለኛ Wiimote Light Gun: 9 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: How to install Telegram Desktop on Raspberry pi 3 2024, ሀምሌ
Anonim
ለ Raspberry PI ትክክለኛ Wiimote Light Gun
ለ Raspberry PI ትክክለኛ Wiimote Light Gun
ለ Raspberry PI ትክክለኛ Wiimote Light Gun
ለ Raspberry PI ትክክለኛ Wiimote Light Gun

በመደበኛነት ፣ እንደ ቀላል ሽጉጥ ጥቅም ላይ የዋለው የ Wii ርቀት እንደ NES ዳክዬ አደን ላሉት ሬትሮ ጨዋታዎች በቂ አይደለም ፣ ምክንያቱም Wii ርቀት በእውነቱ በተጠቆመው ቴሌቪዥን ላይ ነጥቡን ስለማይመርጥ። አይችልም! የ Wii የርቀት መቆጣጠሪያ ከፊት ለፊቱ የኢንፍራሬድ ኤልኢኤስ መስመሮችን በአነፍናፊ አሞሌ ውስጥ የሚያይ የኢንፍራሬድ ካሜራ አለው ፣ ግን ቴሌቪዥኑ ከባሩ ወይም ቴሌቪዥኑ ምን ያህል ርቀት እንዳለው (ወይም በምን አቅጣጫ) ማወቅ አይችልም። አስመሳዮች እና ጨዋታዎች ተሻጋሪ ፀጉሮችን ወይም ሌላ ኢላማ አመልካች በማሳየት በዚህ ዙሪያ ይሰራሉ ፣ ግን ያ ትክክለኛ የዒላማ ተኩስ ተሞክሮ አይደለም።

በቴሌቪዥን ላይ ዒላማን ለመምረጥ አብረው ማየት የሚችሉት የ Wii ርቀት እንደ ትክክለኛ የብርሃን ጠመንጃ እንዲሠራ በቴሌቪዥኑ በተመሳሳይ አውሮፕላን ውስጥ በሚታወቀው ባለ አራት ማዕዘን ቅርፅ (ቀጥታ መስመር አይደለም) አራት ኢንፍራሬድ ኤልኢዲዎችን ይፈልጋል። የ Wii ሪሞት ከዚያ አራቱን ኤልኢዲዎች ያያል እና የካሜራው ምስል ካሜራው የት እንደሚጠቁም ለማወቅ የሚያስችለንን ግብረ ሰዶማዊነት ለማስላት ሊያገለግል ይችላል።

የዚህ ፕሮጀክት ሃርድዌር ቀላል ነው። በቴሌቪዥኑ አናት እና ታች ላይ ተጣብቀው በዩኤስቢ ባትሪ መሙያ ውስጥ ሊጣበቁ በሚችሉ በቀላል 3 ዲ የታተሙ ቤቶች ውስጥ አራት የኢንፍራሬድ ኤልኢዲዎች አሉ። በተጨማሪም ፣ የ Wii ጠመንጃ መኖሪያ ከሌለዎት ፣ ወደ Wii ርቀቱ ሊያያይዙት የሚችሉት ቀላል 3 -ል የታተመ እጀታ እና ዕይታዎች አሉኝ (ምንም እንኳን ፕላስቲክን ለማዳን ቢሆንም ፣ የእኔን በእንጨት እና በ 3 ዲ የታተመ ፕላስቲክ መካከል ድቅል አደረግሁ)።

በፓይዘን ላይ የተመሠረተ ሶፍትዌር ከሃርድዌር ይልቅ መሥራት ከባድ ነበር እና በአሁኑ ጊዜ ሊኑክስ ብቻ ነው። እሱ የ LEDs እና የ Wii ርቀትን ያስተካክላል እና ከዚያ በሬስቶርክ fceumm NES emulator (እና ምናልባትም አንዳንድ ሌሎች አስመሳዮች) በእኔ Raspberry PI 3B+ላይ በጥሩ ሁኔታ የሚሰራ ፍጹም አይጥ ለመምሰል የሆሞግራፊ ስሌቶችን ይጠቀማል።

አቅርቦቶች

  • Wii የርቀት መቆጣጠሪያ
  • አራት 940nm 5 ሚሜ የኢንፍራሬድ ኤልኢዲዎች
  • የሚሠራው ዓይነት ኤ መሰኪያ ያለው የድሮ የዩኤስቢ ገመድ
  • Raspberry PI 3 ወይም በብሉቱዝ ድጋፍ ሌላ የሊኑክስ ኮምፒተር
  • 3 ዲ አታሚ እና ክር (አማራጭ)

ደረጃ 1: ኢንፍራሬድ የ LED ሰንሰለት

ኢንፍራሬድ የ LED ሰንሰለት
ኢንፍራሬድ የ LED ሰንሰለት
ኢንፍራሬድ የ LED ሰንሰለት
ኢንፍራሬድ የ LED ሰንሰለት

የሥራ ዓይነት የወንድ ሶኬት ያለው አሮጌ የዩኤስቢ ገመድ ያግኙ (ብዙውን ጊዜ ስልኬ ኃይል መሙያ ኬብሎች በማይክሮ ዩኤስቢ መጨረሻ ላይ ይሰበራሉ ፣ ስለዚህ የሥራ ዓይነት ሀ የወንድ ሶኬት ያላቸው የተረፉ ኬብሎች አሉኝ).. በእውነቱ ፣ የውሂብ ኬብሎች ቢሆኑ እንኳን ደህና ነው የኤሌክትሪክ መስመሮቹ እስከሰሩ ድረስ ተሰብሯል። ሌላኛውን ጫፍ ይቁረጡ። በንድፈ ሀሳብ ቀይ ገመድ +5 ቮ መሆን አለበት እና ጥቁሩ መሬት መሆን አለበት ፣ ነገር ግን ከአንድ ባለ ብዙ ማይሜተር ጋር ይፈትሹ (ወደ ባትሪ መሙያ ይሰኩት እና ከዚያ በቀይ እና ጥቁር ሽቦዎች መካከል ያለውን ቮልቴጅ ይመልከቱ)።

የኢንፍራሬድ ኤልኢዲዎች ከ1-1-1.3 ቪ የቮልቴጅ ጠብታ ስላላቸው እኔ አራቱን ብቻ በተከታታይ ዑደት ወደ ዩኤስቢ ገመድ ሸጥኳቸው። በቴሌቪዥኑ ግርጌ ላይ ኤልኢዲዎችን (LEDs) እና በ LED (በ 10 ኢንች ገደማ) መካከል ጥሩ መጠን ያለው አግድም ቦታ እንዲኖርዎት የተሸጡባቸው ገመዶች በቂ መሆናቸውን ያረጋግጡ።

የ LED loop ን ለመሥራት የበለጠ በትክክል-

  • የመጀመሪያውን LED ወደ +5V የዩኤስቢ ሽቦ የመቀነስ ጎን (ካቶድ ፣ አጭር እግር ፣ ከጠፍጣፋ ጠርዝ ጋር) ይሸጡ
  • ከሁለተኛው የ LED መቀነስ ጎን የመጀመሪያውን LED (አኖድ ፣ ረዣዥም እግር ፣ ክብ ጠርዝ ያለው) የመደመር ጎን ይቀላቀሉ
  • ሁለተኛውን ኤልኢዲ ወደ ሦስተኛው እና ሦስተኛው ወደ አራተኛው ለመቀላቀል ይድገሙት
  • ከዚያ የአራተኛው ኤልኢዲውን የመደመር ጎን ከሽቦ ጋር ወደ መሬቱ የዩኤስቢ ሽቦ ያገናኙ።

ነገሮችን ይበልጥ ምቹ ለማድረግ ፣ ግንኙነቶቹን በሚያደርጉበት ጊዜ የሙቀት መቀነስ ቱቦን መጠቀም ይችላሉ። አለበለዚያ አጫጭር ልብሶችን ለማስወገድ የኤሌክትሪክ ቴፕ ይጠቀሙ።

አጭር ወረዳዎች እንደሌሉዎት ያረጋግጡ። ከዚያ በዩኤስቢ ኃይል መሙያ ውስጥ ይሰኩት እና በስልኩ ካሜራ ኤልዲዎቹን በማየት የኢንፍራሬድ ብርሃንን እያመነጨ መሆኑን ያረጋግጡ። (ብዙ የስልክ ካሜራዎች ኢንፍራሬድ ስሱ ናቸው።)

ደረጃ 2 - ከቴሌቪዥን ጋር ያያይዙ

ከቴሌቪዥን ጋር ያያይዙ
ከቴሌቪዥን ጋር ያያይዙ
ከቴሌቪዥን ጋር ያያይዙ
ከቴሌቪዥን ጋር ያያይዙ
ከቴሌቪዥን ጋር ያያይዙ
ከቴሌቪዥን ጋር ያያይዙ

አሁን ፣ ከኤልዲዎቹ ሁለቱ በቴሌቪዥኑ የታችኛው ክፍል እና ሁለት ወደ ላይኛው ጎን ያያይዙ። አግድም ክፍተቱ አሥር ሴንቲሜትር መሆን አለበት። በጣም ብዙ ከሆነ ፣ ሁሉንም በያዙት የ Wii ርቀት ካሜራ የእይታ መስክ ላይ ችግሮች ሊኖሩዎት ይችላሉ። እነሱ በጣም ቅርብ ከሆኑ ፣ ከዚያ የእኔ ጂኦሜትሪክ ውስጣዊ ግንዛቤ ዝቅተኛ ትክክለኛነት ይኖርዎታል ይላል።

ለሙከራ ፣ ኤልዲዎቹን በኤሌክትሪክ ቴፕ እቀዳለሁ ፣ ከዚያ ለቋሚ ግንኙነት ፣ እኔ በቴሌቪዥኑ ላይ የተጣበቅኩትን አራት ጥርት ያሉ ትንሽ የ LED ክሊፖችን (ፋይሎች እዚህ አሉ) አዘጋጅቼ አተምኩ። ጥይት ከሚተኩሱበት ቦታ ላይ ጥቁሩ ሳይደብቃቸው ኤልዲዎቹ በተቻለ መጠን ከቴሌቪዥን ማሳያ አውሮፕላን ጋር ቅርብ እንዲሆኑ ማድረግ አለብዎት።

ደረጃ 3: ሶፍትዌር ይጫኑ

በአሁኑ ጊዜ ሶፍትዌሩ ሊኑክስ-ብቻ ነው። የሚከተለው ቅንብር ለ Raspberry PI 3 ከ Raspbian Stretch ጋር የተነደፈ ነው። ሌሎች የሊኑክስ ስርዓቶች አንዳንድ ለውጦችን ይፈልጋሉ። በቀደሙት ሞዴሎች ላይ የብሉቱዝ ዶንግል ያስፈልግዎታል እና ይህንን ከትዕዛዝ መስመር እንዲሁ ማሄድ ያስፈልግዎታል

sudo get-apt bluetooth ን ይጫኑ

ደረጃ ሀ: udev

በመቀጠል ነጠላ መስመሩን የያዘ /etc/udev/rules.d/wiimote.rules ውስጥ ፋይል ይፍጠሩ

ከርነል == "uinput" ፣ MODE = "0666"

ለምሳሌ ፣ በጽሑፍ አርታኢ ወይም በትእዛዝ መስመሩ ላይ የሚከተለውን በመተየብ ያንን ማድረግ ይችላሉ-

sudo sh -c 'echo KERNEL == / "uinput \", MODE = / "0666 \"> /etc/udev/rules.d/wiimote.rules'

እና ከዚያ udev ን እንደገና ያስጀምሩ:

sudo /etc/init.d/udev ዳግም አስጀምር

ደረጃ ለ: cwiid

በመቀጠል ፣ የእኔ የተቀየረ የሲዊይድ ጥቅል ያስፈልግዎታል። በእርስዎ Raspberry PI ላይ መገንባት እንደሚፈልጉት እዚህ ትንሽ ፀጉር ያገኛል ፣ ግን እንዲሠራ ለማድረግ ምን ዓይነት ፓኬጆች መጫን እንዳለብዎ መናዘዝ አለብኝ። ይህንን ለማድረግ ሦስት አማራጮች አሉ።

አማራጭ B1 - እራስዎን ይገንቡ

ሲዲ ~

git clone https://github.com/arpruss/cwiid-1 autoconf./configure make -C libcwiid sudo make -C libcwiid install make -C Python sudo make -C Python install

እንደ አለመታደል ሆኖ ይህንን ለመገንባት የሚያስፈልጉ ብዙ ነገሮችን የሚያጡበት ጥሩ ዕድል አለ ፣ እና./configure ያጉረመርማል። እሱ የሚያማርራቸውን ሁሉንም ነገሮች ማየት እና በሁሉም ላይ sudo apt install ን ማሄድ ይችላሉ።

አማራጭ B2: የእኔን ሁለትዮሽ ይጠቀሙ

ሲዲ ~

wget https://github.com/arpruss/cwiid-1/releases/download/0.0.1/cwiid-rpi.tar.gz tar zxvf cwiid-rpi.tar.gz cd cwiid sudo ጫን ጫን

ደረጃ ሐ - የፓይዘን ቤተ -መጻሕፍት

በመጨረሻ ፣ ለኔ ጠመንጃ ፓይዘን ስክሪፕት የድጋፍ ነገሮችን ያግኙ-

sudo pip3 uinput numpy pygame opencv-python ን ይጫኑ

sudo apt-get install libatlas-base-dev sudo apt-get install libjasper-dev sudo apt-get install libqtgui4 sudo apt-get install python3-pyqt5

ደረጃ D: lightgun.py

በመጨረሻ ፣ የእኔን የጠመንጃ ፓይዘን ስክሪፕት ያግኙ -

ሲዲ ~

git clone

ሁሉም በጥሩ ሁኔታ ከሄደ ፣ አሁን የመብረቅ ጠመንጃውን ለማስተካከል ሊጠቀሙበት የሚችሉት ~/lightgun.py አለዎት።

ደረጃ 4 የካሊብሬሽን ክፍል 1 ካሜራውን ማዕከል ማድረግ

የካሊብሬሽን ክፍል 1 ካሜራውን ማዕከል ማድረግ
የካሊብሬሽን ክፍል 1 ካሜራውን ማዕከል ማድረግ
የካሊብሬሽን ክፍል 1 ካሜራውን ማዕከል ማድረግ
የካሊብሬሽን ክፍል 1 ካሜራውን ማዕከል ማድረግ
የካሊብሬሽን ክፍል 1 ካሜራውን ማዕከል ማድረግ
የካሊብሬሽን ክፍል 1 ካሜራውን ማዕከል ማድረግ

ለመለካት ሁለት ገጽታዎች አሉ። የመጀመሪያው የካሜራውን መሃል በእያንዳንዱ Wiimote ላይ ማመጣጠን ነው። ይህ በካሜራዎ በመጠቀም በቴሌቪዥን ማያ ገጽዎ ዙሪያ ያሉትን የኤልዲዎች ሁለት ምስሎችን ለማንሳት ይጠይቃል ፣ አንደኛው ከርቀት በስተቀኝ በኩል ሌላኛው ደግሞ ከላይ ወደታች።

የ Wii ርቀቱን ከፊት ለፊቱ ሲያስቀምጡ ቁልፎቹን ከመጫን ለመቆጠብ እና የ Wii ርቀቱ ወጥነት ያለው ከፍታ እንዲኖረው ለማድረግ እኔ እዚህ ያካተትኩትን የመለኪያ መሣሪያ 3 ዲ ማተም ይችላሉ። በመሠረቱ ከፊት ለፊቱ በሚተኛበት ጊዜ በ Wii ርቀት መቆጣጠሪያ ስር ሊያስቀምጧቸው የሚችሏቸው 10.5 ሚሜ ውፍረት ያላቸው ነገሮች ያስፈልግዎታል። በእውነቱ በፕላስቲክ ላይ ለማዳን አንዳንድ የቆሻሻ መጣያ ጣውላዎችን እጠቀም ነበር።

ኤልኢዲዎችዎን ያብሩ እና የእርስዎ Raspberry PI ወይም ሌላ ኮምፒተር በቴሌቪዥኑ ላይ እየታየ መሆኑን ያረጋግጡ። የቁልፍ ሰሌዳ ያገናኙ (ይህ በ ssh ላይ አይሰራም) ወይም VNC ን ይጠቀሙ። ከዚያ ያሂዱ:

python3 ~/lightgun/lightgun.py -M

ሁሉም ነገር ደህና ከሆነ በ Wii ርቀት ላይ 1+2 ን እንዲጭኑ የሚጠይቅዎት ሙሉ ማያ ገጽ ያገኛሉ። ያንን ያድርጉ። በ Wii ርቀት ላይ መብራቶች ያበራሉ ፣ ከዚያ መብራቶች 1 እና 4 ይቆያሉ። እንዲሁም ከ Wii የርቀት ካሜራ እይታ በማያ ገጹ አናት ላይ ትንሽ አረንጓዴ አራት ማእዘን ያያሉ። የ Wii ርቀትን በኤልዲዎች ላይ ያመልክቱ እና ሁሉም መልካም ከሆነ ፣ ከ 1 እስከ 4 ቁጥር ያላቸው አራቱን ኤልኢዲዎች ያያሉ።

አሁን በቴሌቪዥኑ ማያ ገጽ ላይ ሊያመለክቱ የሚችሉ እና የ Wii ርቀቱ ከዊንዶው የርቀት ጠርዝ ጋር የተጣጣሙትን ሁሉንም ኤልኢዲዎች ለማየት እንዲችል እንደ የቡና ጠረጴዛ ባለ ሹል ጠርዝ ያለው ጠንካራ ገጽ ማግኘት ያስፈልግዎታል። አራቱ ኤልኢዲዎች መታየታቸውን በማረጋገጥ የርቀት መቆጣጠሪያውን ጎን ከጎን ጠርዝ ጋር በማስተካከል የ Wii ርቀትን በቀኝ በኩል ወደ ላይ በማስተካከል ይጀምሩ። ከዚያ በቁልፍ ሰሌዳዎ ላይ SPACE ን ይጫኑ (ወይም Nunchuck ን ያያይዙ እና ያ የበለጠ ምቹ ከሆነ C ን ይጫኑ)። ከዚያ የ Wii ርቀትን ለማዞር ይጠየቃሉ። አሁን ፣ የመለኪያ መሣሪያውን ወይም ሌላ ነገርን በመጠቀም ፣ እና ልክ እንደበፊቱ ተመሳሳይ ቦታ ቅርብ (ለምሳሌ ፣ በእርስዎ ወለል ላይ ካለው ተመሳሳይ ጠርዝ ጋር የተጣጣመ) ከመሬትዎ 10.5 ሚሊ ሜትር ከፍ ማለቱን ያረጋግጡ። SPACE ን እንደገና ይጫኑ።

ሁሉም ነገር ደህና ከሆነ ፣ አሁን ወደ የ LED የመለኪያ ደረጃ ይሂዱ። አዎ ፣ ይህ የተወሳሰበ ነው! ግን በጣም ትክክለኛ የሆነ ጠመንጃ ይኖርዎታል። ያ ዋጋው ብቻ ነው።

ማሳሰቢያ - እንደ እኔ በቴሌቪዥኑ ስር Wii ካለዎት ፣ Wii በሁለት ምክንያቶች ማጥፋት አለበት - በመጀመሪያ ፣ Wii ከበራ ከ Wiimote ጋር ይገናኛል ፣ ሁለተኛ ፣ የአነፍናፊ አሞሌው የኢንፍራሬድ LED ዎች ጣልቃ ይገባሉ። ይህ ፕሮጀክት። በተመሳሳዩ ምክንያቶች ፣ Wii በሚጠቀሙበት ጊዜ በቴሌቪዥኑ ዙሪያ ያሉትን ኤልዲዎች መንቀል ጥሩ ሀሳብ ነው።

ደረጃ 5: የመለኪያ ደረጃ II: LEDs

የመለኪያ ደረጃ II - ኤልኢዲዎች
የመለኪያ ደረጃ II - ኤልኢዲዎች
የመለኪያ ደረጃ II - ኤልኢዲዎች
የመለኪያ ደረጃ II - ኤልኢዲዎች

አሁን በቴሌቪዥኑ ጠርዝ ዙሪያ ኤልኢዲዎቹ የሚገኙበትን ሶፍትዌሩ መንገር አለብዎት። በቴሌቪዥኑ ጠርዝ ዙሪያ አራት ቀስቶችን የሚያሳዩ የመለኪያ ማያ ገጽ ያያሉ ፣ አንደኛው የተመረጠ (ብሩህ) እና ሦስቱ ግራጫማ ሆነዋል። የትኛውን ቀስት እያስተካከሉ እንደሆነ ለመለወጥ ለመቀየር +/- ን ይጠቀማሉ።

በጠርዙ ዙሪያ ላሉት ለእያንዳንዱ አራት ቀስቶች ይህንን ያድርጉ

  1. በተቻለ መጠን ወደ ተጓዳኝ ኤልኢዲ በትክክል እስኪያመለክቱ ድረስ ፍላጻዎቹን ለማንቀሳቀስ በ Wiimote ላይ ግራ/ቀኝን ይጫኑ።
  2. የቀስት ርዝመት በ LED እና በቴሌቪዥን ማሳያ ጠርዝ መካከል ካለው ርቀት ጋር እስኪመሳሰል ድረስ የቀስት ርዝመቱን ለመቀየር በ Wiimote ላይ ወደ ላይ/ወደ ታች ይጫኑ። በሌላ አነጋገር ፣ የቀስቱ ርዝመት ከቀስት ጫፍ እስከ ኤልዲኤ ካለው ርቀት ጋር እኩል መሆን አለበት።

አንዴ አራቱ ቀስቶችዎ ትክክል ከሆኑ (እና ምናልባትም ቀደም ብሎ) Wiimote ን በማያ ገጹ ላይ ሲያመለክቱ ቀይ መስቀልን ያያሉ። ይህ መሆን ያለበት ቦታ መሆኑን ማረጋገጥ ይችላሉ። (ቪሞሞቱ ሁሉንም ኤልኢዲዎች ማየት እንዲችል ከሩቅ መሆን እንዳለብዎ ያስታውሱ። እንዲሁም በእይታ መስክ ውስጥ ሌሎች የኢንፍራሬድ ምንጮች አለመኖራቸው አስፈላጊ ነው። አንድ ጊዜ በፀሐይ ብርሃን ምክንያት የጭረት ጭንቅላቱን በማንፀባረቁ ችግር አጋጥሞኝ ነበር። የቴሌቪዥን ማቆሚያ።)

በመጨረሻ ፣ ከአራተኛው የ LED ቀስት + ሲጫኑ ወይም ብቻ የሚታየው አምስተኛው ቀስት አለ - ከመጀመሪያው (እና እሱ በነባሪ ዜሮ ርዝመት አለው ፣ ስለዚህ እሱ ፒክሴል ብቻ ነው)። ይህ ቀስት ከ Wii የርቀት ካሜራ ምን ያህል ርቀት እንደሚመዘገብ ያስተካክላል። ጉዳዩ ይህ ነው -በ Wii የርቀት የላይኛው ገጽ ላይ ይመለከታሉ። ነገር ግን ካሜራው በእውነቱ ከዙያ ወለል በታች ፣ በ Wii Remote ፊት ባለው ጥቁር ሬክታንግል መሃል ላይ ይገኛል። ካሜራውን የሚያመለክትበትን ጥይቶች ከተመዘገብን ፣ ከ Wii Remote የላይኛው ወለል በታች 8 ሚሊ ሜትር ያህል ይመዘገባሉ። በላይኛው ወለል ላይ ሲመለከቱ ፣ የመስቀለኛ ፀጉሮች መሃል በካሜራው እንደተደበቀ በመገንዘብ ይህንን ማረጋገጥ ይችላሉ።

በዚህ መኖር ይችላሉ ፣ ወይም ይህንን አምስተኛ ቀስት ማሳደግ ይችላሉ የሶፍትዌር ጥይቶችን ከ Wii የርቀት አናት ጋር ለማስተካከል ፣ ወይም ይህንን ለማካካስ የ 3 ዲ ታታሚ ፋይሎችን ለብረት ዕይታዎች ማስተካከል ይችላሉ (ግን ማካካሻው ለ ለቴሌቪዥኑ አንድ የተወሰነ ርቀት)። እኔ እራሴ ለሶፍትዌር አሰላለፍ ሄጄ ነበር።

ከካሊብሬሽን ለመውጣት እና ሁሉንም ውሂብ ወደ ~/.wiilightgun ማውጫ ለማስቀመጥ በ Wii የርቀት መቆጣጠሪያ ላይ HOME ን ይጫኑ።

ደረጃ 6: ሙከራ እና አጠቃቀም

ሙከራ እና አጠቃቀም
ሙከራ እና አጠቃቀም
ሙከራ እና አጠቃቀም
ሙከራ እና አጠቃቀም
ሙከራ እና አጠቃቀም
ሙከራ እና አጠቃቀም

ምናልባት አሁን የእርስዎን ቀላል ሽጉጥ ለመሞከር ይፈልጉ ይሆናል። በተርሚናል አምሳያ (ወይም በስክሪፕት) ውስጥ ብቻ ያሂዱ

python3 ~/lightgun/lightgun.py -t

የ 1+2 አዝራሮችን በተመሳሳይ ጊዜ መጫን ያስፈልግዎታል ፣ እና ከዚያ በኋላ ሁሉም ነገር መልካም ከሆነ ፣ lightgun.py እስከተሠራ ድረስ ፣ የመብራት ጠመንጃው የሁለት-ቁልፍ ፍፁም መዳፊትን ይከተላል። ቀስቅሴው አዝራር የመዳፊት ቁልፍ 1 ነው ፣ እና የ A አዝራር የመዳፊት ቁልፍ ነው 2. ለመውጣት ctrl-c ን ይጫኑ።

በፍፁም መዳፊት ለመስራት አሁን የእርስዎን አስመሳይ እና/ወይም ጨዋታዎችዎን ማዋቀር ብቻ ያስፈልግዎታል። እንደ አለመታደል ሆኖ ያ ሁልጊዜ ቀላል አይሆንም።

እርስዎ ሊሞክሩት የሚችሉት አንድ አስደሳች ነገር የኢሜርናሜዝ ዳክዬ-ዳክዬ ተኩስ የእኔ ሞድ ነው።

ሲዲ ~

git clone https://github.com/arpruss/duck-duck-shoot cd duck-duck-shoot python play_game.py

ለኤንአይኤስ ጨዋታዎች ፣ በሬቶሮክ ውስጥ የ libretro fceumm core ን እጠቀማለሁ። ወደ አማራጮች ምናሌ ይሂዱ እና Zapper ን እንደ ማያ ገጽ እንዲሆን ያዋቅሩት። (እንደ አይጥ ማዋቀር በእውነቱ አይሰራም ፣ ምክንያቱም fceumm ፍፁም አቀማመጥ ካለው መዳፊት ይልቅ አንጻራዊ እንቅስቃሴን እንደሚጠብቅ)።

ጨዋታዎችዎን በስክሪፕት ከጀመሩ ጨዋታውን ወይም አስመሳይውን የሚጀምረውን ክፍል ማርትዕ ይችላሉ-

python3 ~/lightgun/lightgun.py -t -B 30 "ጨዋታ ለመጀመር ትዕዛዝ"

ከዚያ በጨዋታው አፈጻጸም የመጀመሪያዎቹ 30 ሰከንዶች (ስለዚህ -B 30 አማራጭ) 1+2 ን በመያዝ የመብራት መሳሪያዎን ማገናኘት ይችላሉ።

በነገራችን ላይ የ lightgun.py ስክሪፕት እንዲሁ ለአጠቃላይ Wii የርቀት ጨዋታ ከ Retroarch ጋር ሊያገለግል ይችላል። የ -o አማራጩን ብቻ ያክሉ እና የመብራት መሣሪያው ተግባራት ይጠፋሉ ፣ ይልቁንም Wii ርቀት በአግድም ይሠራል ፣ ሦስቱ አዝራሮች 1 ፣ 2 እና ለ በቅደም ተከተል ሆነው። ኮዱን በማንበብ የሚያገ lightቸው በ lightgun.py ካርታዎች ውስጥ ከ Retroarch ጋር የተዛመዱ ሌሎች ተግባራት አሉ። ለምሳሌ ፣ የመቀነስ ቁልፍ እንደ ፈረቃ ይሠራል ፣ እና ከ dpad ጋር የቁጠባ እና የመጫን (ወደ ላይ/ታች = የቁጠባ ቁጥርን ይቀይሩ ፣ ግራ = ወደነበረበት ፣ ቀኝ = አስቀምጥ) ይቆጣጠራል።

ደረጃ 7 - የጠመንጃ አያያዝ እና ዓላማ

የጠመንጃ አያያዝ እና ዓላማ
የጠመንጃ አያያዝ እና ዓላማ
የጠመንጃ አያያዝ እና ዓላማ
የጠመንጃ አያያዝ እና ዓላማ
የጠመንጃ አያያዝ እና ዓላማ
የጠመንጃ አያያዝ እና ዓላማ

ከላይ ያለውን ማየት የ Wii ርቀት መቆጣጠሪያን እንደ ጠመንጃ መጠቀም ይችላሉ። እንዲሁም ለእሱ ከንግድ ሽጉጥ መያዣዎች አንዱን መግዛት ይችላሉ። ነገር ግን የመጀመሪያው Wii Remote እንደ የሚታይ ጠመንጃ ለመጠቀም ስላልቻለ መያዣዎቹ ከብረት እይታዎች ጋር አይመጡም ፣ እና የብረት ዕይታዎች ትክክለኛነትን በእጅጉ ያሻሽላሉ።

እኔ ቀለል ያለ ባለ ሶስት ክፍል 3 ዲ-ታታሚ ስርዓትን ንድፍ አወጣሁ-ከመቀስቀሻው በስተጀርባ የተቀመጠ ተንሸራታች ላይ እጀታ (ስለዚህ እሱ ትንሽ እንደ ኮከብ ጉዞ የመጀመሪያ ኦሪጅናል ተከታታይ ፈዛዛ ይመስላል) ፣ እና ተንሸራታች እይታዎች። ሊታተሙ የሚችሉ ፋይሎች እዚህ አሉ። በተቆራረጠ እንጨት ወጪ በፕላስቲክ ላይ ለመቆጠብ ከፈለጉ እኔ ያደረግሁትን ማድረግ ይችላሉ እና መላውን እጀታ ከማተም ይልቅ ዊሞቴትን የያዘውን ክፍል ብቻ ያትሙ እና ከእንጨት የተሠራ ቁራጭ ይቁረጡ እና ይከርክሙት።

ለማየት ፣ ዓይኖችዎን በእይታዎች ላይ ያተኩሩ። በሁለቱም ላይ ያለው የአየር ቦታ እኩል እንዲሆን እና ሦስቱም ጉብታዎች እኩል ከፍ ብለው እንዲጣበቁ ከፊት ለፊቱ ባሉት ጉብታዎች መካከል የፊት እይታውን ጉብታ አሰልፍ። ከዚያ የዒላማውን መሃል ከጉልበቶቹ አናት ጋር ያስተካክሉት።

ማሳሰቢያ -በ 2.5 ሜትር ርቀት (ከቴሌቪዥን ርቀቴ) ጋር አብራችሁ ስትመለከቱ የእይታ ግፊቶችን ቁመት ለማካካስ የኋላዎቹ ቁመት በትንሹ እኩል አይደለም ፣ የፊት እይታ ጉብታ በትንሹ ዝቅ ይላል። ለቴሌቪዥኑ በጣም የተለየ ርቀት ካለዎት ያንን በ OpenSCAD ፋይሎች ውስጥ ማስገባት ይችላሉ። ምንም እንኳን ይህ ማስተካከያ ከአታሚ መቻቻል በታች ሊሆን ይችላል። እንዲሁም ፣ በሶፍትዌሩ ውስጥ ቀጥ ያለ ማስተካከያ ካላደረጉ ፣ በ ‹8› (በ ሚሊሜትር) ዙሪያ የሆነ ነገርን ተጨማሪSightAdjust ን በማስተካከል በሶፍትዌሩ ውስጥ ለታዩት ነገሮች አንዳንድ ተጨማሪ ማስተካከያዎችን ማከል ይችላሉ።

ደረጃ 8 - መለካት III (ከተፈለገ) - ጥሩ ማስተካከያ

የበለጠ ትክክለኛነት ከፈለጉ ፣ መሮጥ ይችላሉ-

python3 ~/lightgun/lightgun.py -d

(ለ demo) እና ዕይታዎቹ ከተሻጋሪ ፀጉር ጋር ይጣጣሙ እንደሆነ በጥንቃቄ ይመልከቱ። እነሱ ከሌሉ ይውጡ እና በእጅ ~/.wiilightgun/wiimotecalibration ን ያርትዑ እና የእይታን ለማስተካከል የካሜራ ማዕከሉን የ x እና y መጋጠሚያዎችን በትንሹ ያስተካክሉ። ለምሳሌ ፣ ጠመንጃዬ ወደ ቀኝ በትንሹ ተኩሶ ነበር ፣ ስለዚህ የ x አስተባባሪውን ከ 529 ወደ 525 ቀይሬ ነበር። የእያንዳንዱ ሰው ቁጥሮች ምናልባት የተለዩ ሊሆኑ ይችላሉ።

ደረጃ 9 - አባሪ - ስልተ ቀመር

አባሪ - ስልተ ቀመር
አባሪ - ስልተ ቀመር

የመዳፊት ማስመሰል ኮድ በግምት እንደሚከተለው ይሠራል።

  • የሂደት አዝራር ይጫኑ።
  • ከካሜራ መረጃ ያግኙ እና ለካሜራ ማእከል መለኪያ ማስተካከል።
  • በካሜራው ውስጥ ከሶስት ኤልኢዲ ያነሰ ከታየ ፦

    የመጨረሻውን የመዳፊት ቦታ ይያዙ።

  • ሶስት ወይም አራት ኤልኢዲዎች ከታዩ -

    • የ Wiimote አቅጣጫን ለማግኘት እና የትኛው የ LED ካሜራ ምስል ከየትኛው አካላዊ LED ጋር እንደሚዛመድ ለመለየት የ Wiimote የፍጥነት መለኪያ መረጃን ይጠቀሙ።
    • አራት ኤልኢዲዎች ከታዩ -

      • በ LED ካሜራ ምስሎች እና በ LED ሥፍራዎች (በማያ ገጽ መጋጠሚያዎች) መካከል ግብረ ሰዶማዊነትን ያስሉ።
      • ከካሜራ የእይታ መስክ መሃል ጋር የሚስማማውን የማያ ገጽ ሥፍራ ለማስላት ሆሞግራፊን ይጠቀሙ።
      • ከእይታ መስመሩ በታች ለምናባዊው የጠመንጃ በርሜል መሃል ለማስተካከል Y- ማስተካከያ ያድርጉ። ይህ በመጠኑ የተዝረከረከ ስልተ ቀመር ነው ግን ይሠራል።
      • የመዳፊት ቦታውን ወደ የተስተካከለ ማያ ቦታ ያዋቅሩት።
    • ሶስት ኤልኢዲዎች ከታዩ -

      • በ LED ካሜራ ምስሎች እና በአካላዊ የ LED ሥፍራዎች መካከል የ P3P ችግርን ለመፍታት OpenCV ን ይጠቀሙ። ይህ እስከ አራት መፍትሄዎችን ያመነጫል።
      • ከተሳካ -

        • እኛ ቀደም ሲል የተሳካ የመገኛ ቦታ ስሌት ካለን ፣ የጠፋውን ኤልዲ (LED) ወደዚያ ኤልኢዲ ለመጨረሻው የታየው ወይም የተሰላው ቦታ ቅርብ እንዲሆን የሚያደርገውን መፍትሄ ይምረጡ።
        • እኛ ቀደም ያለ የተሳካ የቦታ ስሌት ከሌለን ፣ የፍጥነት መለኪያ አርእስት በተሻለ የሚገመትበትን መፍትሄ ይምረጡ።
        • አራተኛው ኤልኢዲ የት መሄድ እንዳለበት ለማስላት በጣም ጥሩውን መፍትሄ ይጠቀሙ።
        • በአራቱ የ LED መያዣ ውስጥ እንዳለ ቀሪውን ያድርጉ።
      • ካልተሳካ -

        የመጨረሻውን የመዳፊት ቦታ ይያዙ።

የሚመከር: