ዝርዝር ሁኔታ:

አርዱዲኖን በመጠቀም ምናባዊ የእውነት ልብስ -7 ደረጃዎች (ከስዕሎች ጋር)
አርዱዲኖን በመጠቀም ምናባዊ የእውነት ልብስ -7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አርዱዲኖን በመጠቀም ምናባዊ የእውነት ልብስ -7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አርዱዲኖን በመጠቀም ምናባዊ የእውነት ልብስ -7 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: የአርዱዪኖ ሶፍትዌርን እንዴት ማውረድ እና መጫን እንደሚቻል 2024, ሀምሌ
Anonim
አርዱዲኖን በመጠቀም ምናባዊ የእውነት ልብስ
አርዱዲኖን በመጠቀም ምናባዊ የእውነት ልብስ

እኔ ሙሉ ቪአር ውስጥ የተለመዱ የኮምፒተር ጨዋታዎችን ለመጫወት ይህንን ፕሮጀክት ፈጠርኩ። ይህ ፕሮጀክት የቁልፍ ሰሌዳዎን ቁልፎች በመጫን ወይም በመያዝ እንቅስቃሴዎችዎን ያስመስላል

ምሳሌ- ወደ ፊት ሲሄዱ ‹w› የሚለውን ቁልፍ የመጫን እርምጃ የተከተለ ነው።

የጨዋታውን ጥሪ 4 አስመስያለሁ - ዘመናዊ ጦርነት ግን በመዳፊት ነባሪውን አቀማመጥ ስለሚቀይር ተኳሽ የሆኑ ጨዋታዎችን አይምረጡ።

ደረጃ 1: መስፈርቶች

መስፈርቶች-

ይህንን ልብስ ለመሥራት በሚያስፈልጉዎት ነገሮች የተሞላ ዝርዝር አለ

የንክኪ ዳሳሾች -5

አስገዳጅ ዳሳሽ -1

ጂፒዩ 6050 - 4

(ወይም)

ጂፒዩ 6050 - 2 እና የፍጥነት መለኪያ - 2

ቪ አር ብርጭቆዎች

Vr የነቃ ስልክ

ፒሲ

የ WiFi መገናኛ ነጥብ

መጫወቻ ጠመንጃ

የኮምፒተር ጨዋታ (እኔ የተጠቀምኩበትን ጥሪ- ዘመናዊ ጦርነት 1 ን ተጠቅሜያለሁ)

የዳቦ ሰሌዳ ሽቦዎች (ወንድ-ሴት)

ARDUINO LEONARDO-2

Auton sheild - 2

የኃይል ምንጭ (ሊፖ)

ቀስተ ደመና ሽቦዎች

ደረጃ 2 ሃርድዌር

ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር

*ዳግም ጫን ፣ ተኩስ ፣ የሌሊት ራዕይ_ፒን ፣ የእጅ ቦምብ ፣ የጦር መሣሪያ ለውጥ_ፒን የንክኪ ዳሳሾች ናቸው። aim_pin የኃይል ዳሳሽ ነው እና አይጤ በ MPU6050 ተመስሏል ሌሎች ዳሳሾች የፍጥነት መለኪያ (አቀማመጥ ፣ እንቅስቃሴ 1 እና 2)

1.1) መሸጥ

SOLDER MPU 6050 ፣ የፍጥነት መለኪያ ፣ የንክኪ ዳሳሽ እና የኃይል ዳሳሽ ከሽቦዎቹ ጋር

1.2) ሽቦ

ለ MPU 6050-

ፒን 2- ኤስዲኤ

ፒን 3- SCL

GND - GND

5v - PWR/VCC

ለእንቅስቃሴ_pin1-

መሰኪያ A1- x ዘንግ

GND-GND

5v - PWR/VCC

ለመንቀሳቀስ_pin2-

A2- x ዘንግ ይሰኩ

GND-GND

5v - PWR/VCC

ለ posture_pin-

A0- x ዘንግ ይሰኩ

GND-GND

5v - PWR/VCC

ለጦር መሣሪያ_ፒን -

sig-5v

GND-GND

5v - PWR/VCC

ለ Reload_pin -

ፒን 12 - 5 ቪ

GND-GND

5v - PWR/VCC

ለ Nightvision_pin -

ፒን 10 - 5 ቪ

GND-GND

5v - PWR/VCC

ለተኩስ_ፒን -

ፒን 7 - 5 ቪ

GND-GND

5v - PWR/VCC

ለዒላማ_ፒን -

ፒን 8 - 5 ቪ

5v - PWR/VCC

1.3) የሽያጭ ሽቦዎች

የቀስተ ደመና ገመዶችን በመጠቀም የዳቦ ሰሌዳ ሽቦዎችን ያሽጡ

1.4) ኢንሱሌሽን

አጫጭር ዑደቶችን ለማስወገድ በሚሸጡበት ቦታ ላይ ሽቦዎቹን በማያዣ ቴፕ ይቅዱ

ደረጃ 3 SOFTWARE

SOFTWARE
SOFTWARE
SOFTWARE
SOFTWARE

ቪዲዮውን ከላፕቶ laptop ወደ ስልኩ ለማውረድ ከ “Play store” ‹Remotr› የሚባል መተግበሪያ ተጠቅሜያለሁ

2.1) REMOTR-

የ REMOTR መተግበሪያን ወደ ኮምፒተርዎ ይጫኑ እና መለያ ይፍጠሩ

አገናኙ እዚህ አለ-

remotrapp.com/# ማውረድ

በእርስዎ ዘመናዊ ስልክ ውስጥ የ REMOTR መተግበሪያን ይጫኑ

2.2) የቪዲዮ ዥረት

በመጀመሪያ ሁለቱንም ኮምፒተር እና ተመሳሳይ የ WiFi አውታረ መረብ ያገናኙ እና በሁለቱም መሳሪያዎች ውስጥ የ REMOTR መለያዎን ያስገቡ

አሁን በሶፍትዌሩ ውስጥ ለመልቀቅ የሚፈልጉትን ጨዋታ በእጅ ያክሉ

አሁን መተግበሪያው ኮምፒውተሩን ዥረት ለመጀመር እሱን ጠቅ ሲያደርግ ያሳያል

በቪአር ውስጥ ለመልቀቅ በእርስዎ ዘመናዊ ስልክ ውስጥ የ vr ሁነታን ያንቁ

መረዳት ካልቻሉ ለዝርዝር መረጃ ይህንን አገናኝ ይፈትሹ

remotrapp.com/en/howto

ደረጃ 4 ዋና ኮድ

የዚህ ፕሮጀክት ኮድ ከባድ ወይም ውስብስብ አይደለም ግን ረጅም ነው

ኮዱ እዚህ ብቻ ይቅዱትና በአርዱዲኖ ፋይልዎ ውስጥ ይለጥፉት

አርዱኢኖ

ሊዮናርዶ መዳፊት-

እኔ Gabry295 ን ተመልክቻለሁ። ይህ የመዳፊት ኮድ በጭንቅላቱ ላይ የተመሠረተ ነው የመዳፊት ትምህርት

#ያካትቱ

#ያካትቱ

#ያካትቱ

#ያካትቱ

int aim_pin;

int shoot_pin;

MPU6050 mpu;

int16_t መጥረቢያ ፣ አይ ፣ አዝ ፣ gx ፣ gy ፣ gz;

int vx ፣ vy;

ባዶነት ማዋቀር () {

Serial.begin (9600);

Mouse.begin ();

Wire.begin ();

mpu.initialize ();

ከሆነ (! mpu.testConnection ()) {

ሳለ (1);

}

pinMode (7 ፣ ግቤት);

pinMode (8 ፣ ግቤት);

}

ባዶነት loop () {

shoot_pin = digitalRead (7);

aim_pin = digitalRead (8);

mpu.getMotion6 (& መጥረቢያ ፣ እና አይ ፣ እና አዝ ፣ & gx ፣ & gy ፣ & gz);

vx = (gx-300)/200; // እኔ mpu6050 ቼክ በማይንቀሳቀስበት ጊዜ እነዚህን እሴቶች እንደሚያሳየው -300 እና +490 ን አስቀምጫለሁ

vy = -(gz+490)/200; // በእነዚህ እሴቶች ላይ ተጨማሪ ዝርዝሮችን ለማግኘት የራስ መዳፊት ኮዱን በ Gabry295 ይመልከቱ

Mouse.move (vx, vy);

መዘግየት (20);

ሳለ (shoot_pin == HIGH);

{

መዳፊት.ክሊክ ();

}

ሳለ (aim_pin == HIGH);

{

መዳፊት.ክሊክ ();

}

}

ሊዮናርዶ ቁልፍ ሰሌዳ

#ያካትቱ

int የእጅ ቦምብ;

int weapon_pin;

int reload_pin;

int movement1_pin;

int movement2_pin;

int posture_pin;

ቻር የሌሊት ዕይታ_ፒን;

ባዶነት ማዋቀር ()

{

pinMode (7 ፣ ግቤት);

pinMode (8 ፣ ግቤት);

pinMode (9 ፣ ግቤት);

pinMode (10 ፣ ግቤት);

pinMode (11 ፣ ግቤት);

pinMode (12 ፣ ግቤት);

pinMode (A0 ፣ ግቤት);

pinMode (A1 ፣ ግቤት);

የቁልፍ ሰሌዳ.ጀማሪ ();

}

ባዶነት loop ()

{

Grenade_pin = digitalRead (8);

weapon_pin = digitalRead (9);

እንቅስቃሴ1_pin = analogRead (A1);

movement2_pin = analogRead (A2);

posture_pin = analogRead (A0);

reload_pin = digitalRead (12);

nightvision_pin = digitalRead (10);

ከሆነ (የእጅ ቦምብ == ከፍተኛ)

{

የቁልፍ ሰሌዳ.ፕሬስ ('g');

}

ሳለ (weapon_pin == HIGH)

{

የቁልፍ ሰሌዳ.ፕሬስ ('q');

}

ሳለ (reload_pin == HIGH)

{

የቁልፍ ሰሌዳ.ፕሬስ ('r');

}

ሳለ (እንቅስቃሴ 1_pin> 340 && movement1_pin <420)

{

የቁልፍ ሰሌዳ.ፕሬስ ('w');

}

ሳለ (እንቅስቃሴ 1_pin> 420)

{

የቁልፍ ሰሌዳ.ፕሬስ ('w');

የቁልፍ ሰሌዳ.ፕሬስ ('p');

}

ሳለ (movement2_pin> 340 && movement2_pin <420)

{

የቁልፍ ሰሌዳ.ፕሬስ ('w');

}

(እንቅስቃሴ2_pin> 420)

{

የቁልፍ ሰሌዳ.ፕሬስ ('p');

የቁልፍ ሰሌዳ.ፕሬስ ('w');

}

ሳለ (posture_pin> 340 && posture_pin <420)

{

የቁልፍ ሰሌዳ.ፕሬስ ('ሐ');

}

ሳለ (posture_pin> 420)

{

የቁልፍ ሰሌዳ.ፕሬስ ('l');

}

ሳለ (posture_pin <340)

{

የቁልፍ ሰሌዳ.ፕሬስ ('z');

}

ሳለ (nightvision_pin == HIGH)

{

የቁልፍ ሰሌዳ.ፕሬስ ('n');

}

}

}

ደረጃ 5 የሙከራ ኮዶች

በተግባሩ መሠረት ከዋናው ኮድ የተከፋፈሉ ጥቂት ኮዶች እዚህ አሉ

መተኮስ-

#ያካትቱ

int x;

ባዶነት ማዋቀር () {

pinMode (8 ፣ ግቤት);

Mouse.begin ();

}

ባዶነት loop () {

x = digitalRead (8);

ከሆነ (x == ከፍተኛ)

{

መዳፊት.ክሊክ ('g');

}

}

ዓላማ-

#ያካትቱ

#ያካትቱ

#ያካትቱ

#ያካትቱ

MPU6050 mpu;

int16_t መጥረቢያ ፣ አይ ፣ አዝ ፣ gx ፣ gy ፣ gz;

int vx ፣ vy;

ባዶነት ማዋቀር () {

Serial.begin (9600);

Mouse.begin ();

Wire.begin ();

mpu.initialize ();

ከሆነ (! mpu.testConnection ()) {

ሳለ (1);

}

}

ባዶነት loop () {

shoot_pin = digitalRead (7);

aim_pin = digitalRead (8);

mpu.getMotion6 (& መጥረቢያ ፣ እና አይ ፣ እና አዝ ፣ & gx ፣ & gy ፣ & gz);

vx = (gx+300)/200; // "+300" ምክንያቱም የጊሮስኮፕ ኤክስ ዘንግ በሚንቀሳቀስበት ጊዜ -350 ገደማ እሴቶችን ስለሚሰጥ። የ TEST ኮዱን በመጠቀም የተለየ ነገር ካገኙ ፣ ከዜሮ ርቀው ያሉ እሴቶች ካሉ በመከታተል ይህንን እሴት ይለውጡ።

vy = -(gz_ -100)/200; // እዚህ ስለ “-100” ተመሳሳይ

RELOADING-

#ያካትቱ

int x;

ባዶነት ማዋቀር () {

pinMode (8 ፣ ግቤት);

የቁልፍ ሰሌዳ.ጀማሪ ();

}

ባዶነት loop () {

x = digitalRead (8);

ከሆነ (x == ከፍተኛ)

{

የቁልፍ ሰሌዳ.ፕሬስ ('r');

}

ሌላ

{

የቁልፍ ሰሌዳ። መልቀቅ ('r');

}

}

የሌሊት ቪሲዮ #ያካትቱ

int x;

ባዶነት ማዋቀር () {

pinMode (8 ፣ ግቤት);

የቁልፍ ሰሌዳ.ጀማሪ ();

}

ባዶነት loop () {

x = digitalRead (8);

ከሆነ (x == ከፍተኛ)

{

የቁልፍ ሰሌዳ.ፕሬስ ('g');

}

ሌላ

{

የቁልፍ ሰሌዳ። መልቀቅ ('g');

}

}

ክሩክ እና ፕሮፖን-

#ያካትቱ

int y;

ባዶነት ማዋቀር () {

pinMode (A0 ፣ ግቤት);

Serial.begin (9600);

}

ባዶነት loop () {

y = analogRead (A0);

ከሆነ (y <260)

{

የቁልፍ ሰሌዳ። መልቀቅ ('ሐ');

የቁልፍ ሰሌዳ። መልቀቅ ('p');

}

ሌላ ከሆነ (y> 260 && y <310)

{

የቁልፍ ሰሌዳ.ፕሬስ ('ሐ');

}

ሌላ ከሆነ (y> 310)

{

የቁልፍ ሰሌዳ.ፕሬስ ('p');

}

}

ደረጃ 6 - የጨዋታ መቆጣጠሪያዎች

የጨዋታ መቆጣጠሪያዎችን እንደሚከተለው ይለውጡ

ማጎንበስ - x

ተጋላጭ - l

የጦር መሣሪያ ለውጥ - q

Sprint - ገጽ

መቆም/መዝለል - z

የሌሊት ዕይታ - n

ወደ ፊት እንቅስቃሴ - ወ

የእጅ ቦምብ - ሰ

ደረጃ 7 - ማዋቀር

ማቋቋም
ማቋቋም
ማቋቋም
ማቋቋም
ማቋቋም
ማቋቋም

በመጨረሻም አሁን ወደ አርዱዲኖ አስቀምጠናል

ቦርዶች በሳጥን ውስጥ እና ወደ ቦርሳው ውስጥ ያንሸራትቱ

አሁን የአርዲኖውን ማይክሮ ዩኤስቢ ከላፕቶፕ የዩኤስቢ ወደቦች ጋር ያገናኙት

*ከላይ ባሉት ሥዕሎች ውስጥ የቀስት ምልክቶች አነፍናፊው ሊያጋጥመው የሚገባውን አቅጣጫ ይወክላል

ማንኛውም ጥርጣሬ ካለዎት አስተያየት ከመስጠት ወደኋላ አይበሉ እና ተሞክሮዎን ማጋራትዎን አይርሱ

ያ ነው አመሰግናለሁ እና

ባይ.

የሚመከር: