Агуулгын хүснэгт:
- Алхам 1: Шаардлага
- Алхам 2: ТОНОГ ТӨХӨӨРӨМЖ
- Алхам 3: ПРОГРАММ
- Алхам 4: Үндсэн код
- Алхам 5: КОДУУД ТЕСТ
- Алхам 6: Тоглоомын хяналт
- Алхам 7: Тохируулах
Видео: Arduino ашиглан виртуал бодит байдлын костюм: 7 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Би энэ төслийг ердийн компьютер тоглоомыг бүрэн VR хэлбэрээр тоглохоор бүтээсэн. Энэхүү төсөл нь таны хөдөлгөөнийг дууриаж, гарныхаа товчлуурыг дарж эсвэл барьж байх болно
Жишээ: урагшлахад 'w' товчлуурыг дарах үйлдэл дууриадаг.
Би Call of Duty 4: Modern Warfare тоглоомыг дуурайсан боловч буудаж байхдаа ухрах тоглоомыг бүү сонгоорой, учир нь энэ нь хулганы үндсэн байрлалыг өөрчлөх болно.
Алхам 1: Шаардлага
Шаардлага нь-
Энэ костюм хийхэд танд хэрэгтэй зүйлсийн жагсаалт дүүрэн байна
Мэдрэгч мэдрэгч-5
Хүч мэдрэгч-1
GPU 6050-4
(эсвэл)
GPU 6050 - 2 ба хурдасгуур - 2
Vr шил
Vr идэвхжүүлсэн утас
PC
WiFi сүлжээний цэг
Тоглоомын буу
Компьютер тоглоом (би Call of Duty- Modern Warfare 1-ийг ашигласан)
Талхны хавтангийн утас (Эрэгтэй, эмэгтэй)
Ардуино Леонардо-2
Автоны бүрхүүл - 2
Эрчим хүчний эх үүсвэр (lipo)
Солонго утас
Алхам 2: ТОНОГ ТӨХӨӨРӨМЖ
*reload_pin, shoot_pin, шөнийн харааны_зүү, гранат_зүү, зэвсэг солих_зүү нь мэдрэгчтэй мэдрэгч юм. aim_pin бол хүч мэдрэгч бөгөөд хулганыг MPU6050 -ээр дуурайдаг бол бусад мэдрэгчийг акселерометр (байрлал, хөдөлгөөн1 & 2)
1.1) Гагнах
SOLDER MPU 6050, акселерометр, мэдрэгч ба утастай хүч мэдрэгч
1.2) УТАС
MPU 6050-ийн хувьд
Зүү 2- SDA
Зүү 3- SCL
GND - GND
5V - PWR/VCC
Хөдөлгөөний_зүү1-
Зүү A1- x тэнхлэг
GND-GND
5V - PWR/VCC
Хөдөлгөөний_пин2-
Зүү A2- x тэнхлэг
GND-GND
5V - PWR/VCC
Биений_тээгчийн хувьд-
Зүү 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
Shoot_pin -
Pin7 - 5v
GND-GND
5V - PWR/VCC
Зорилго_тээгчийн хувьд -
Зүү 8 - 5в
5V - PWR/VCC
1.3) Гагнуурын утас
Талхны хавтангийн утсыг солонгын утсаар гагнана
1.4) ДУЛААХ
Богино холболтоос зайлсхийхийн тулд утсыг тусгаарлагч соронзон хальсны хамт гагнасан газарт нь наа
Алхам 3: ПРОГРАММ
Би зөөврийн компьютерээс гар утас руу видео дамжуулахын тулд Play store -оос 'Remotr' нэртэй апп ашигласан
2.1) REMOTR-
REMOTR програмыг компьютер дээрээ суулгаад бүртгэл үүсгээрэй
Энд линк байна-
remotrapp.com/#download
REMOTR програмыг ухаалаг гар утсандаа суулгаарай
2.2) Видео дамжуулах
Эхлээд компьютер болон ижил WiFi сүлжээ хоёуланг нь холбоод REMOTR дансаа хоёр төхөөрөмжид оруулна уу
одоо програм дээр дамжуулахыг хүсч буй тоглоомоо гараар нэмж оруулаарай
одоо апп нь компьютерийг админаар дарж цацаж эхлэх болно
VR -ээр дамжуулахын тулд ухаалаг гар утсан дээрээ vr горимыг идэвхжүүлнэ үү
Хэрэв та ойлгохгүй байгаа бол энэ линкээр орж дэлгэрэнгүй мэдээлэл аваарай
remotrapp.com/en/howto
Алхам 4: Үндсэн код
Энэ төслийн код нь хатуу эсвэл төвөгтэй биш боловч урт юм
Энд код байгаа бөгөөд үүнийг хуулж аваад arduino файлдаа буулгаарай
ARDUINO
Леонардо хулгана
Би Gabry295 -ийг дахин бичсэн. Энэхүү хулганы код нь түүний толгой дээр суурилсан бөгөөд хулганыг зааварлах боломжтой юм
#оруулах
#оруулах
#оруулах
#оруулах
int aim_pin;
int shoot_pin;
MPU6050 мегапиксел;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
хүчингүй тохиргоо () {
Цуваа эхлэх (9600);
Хулгана.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
байхад (1);
}
pinMode (7, INPUT);
pinMode (8, INPUT);
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // Миний mpu6050 нь чекийг хөдөлгөхгүй байхад эдгээр утгыг харуулдаг тул би -300 ба +490 -ийг оруулсан
vy = -(gz+490)/200; // эдгээр утгын талаар дэлгэрэнгүй мэдээллийг Gabry295 -ийн толгойн хулганы кодыг шалгана уу
Хулгана.move (vx, vy);
саатал (20);
while (shoot_pin == HIGH);
{
Хулгана дарна уу ();
}
while (aim_pin == HIGH);
{
Хулгана дарна уу ();
}
}
Леонардо гар
#оруулах
int гранат;
int зэвсгийн_зүү;
int reload_pin;
int хөдөлгөөн1_pin;
int хөдөлгөөн2_pin;
int posture_pin;
char nightvision_pin;
хүчингүй тохиргоо ()
{
pinMode (7, INPUT);
pinMode (8, INPUT);
pinMode (9, INPUT);
pinMode (10, INPUT);
pinMode (11, INPUT);
pinMode (12, INPUT);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Keyboard.begin ();
}
хоосон давталт ()
{
Grenade_pin = digitalRead (8);
зэвсгийн_тээгч = digitalRead (9);
motion1_pin = analogRead (A1);
motion2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
хэрэв (гранат == ӨНДӨР)
{
Keyboard.press ('g');
}
байхад (зэвсгийн_зүү == ӨНДӨР)
{
Keyboard.press ('q');
}
байхад (reload_pin == HIGH)
{
Keyboard.press ('r');
}
байхад (motion1_pin> 340 && motion1_pin <420)
{
Keyboard.press ('w');
}
байхад (motion1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
байхад (motion2_pin> 340 && motion2_pin <420)
{
Keyboard.press ('w');
}
байхад (motion2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
байхад (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
байхад (posture_pin> 420)
{
Keyboard.press ('l');
}
байхад (байрлал_зүү <340)
{
Keyboard.press ('z');
}
байхад (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Алхам 5: КОДУУД ТЕСТ
Функцийн дагуу үндсэн кодоос хуваасан цөөн хэдэн кодыг энд оруулав
БУУДЛАГА-
#оруулах
int x;
хүчингүй тохиргоо () {
pinMode (8, INPUT);
Хулгана.begin ();
}
void loop () {
x = digitalRead (8);
хэрэв (x == HIGH)
{
Хулгана. дарна уу ('g');
}
}
ЗОРИЛГО-
#оруулах
#оруулах
#оруулах
#оруулах
MPU6050 мегапиксел;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
хүчингүй тохиргоо () {
Цуваа эхлэх (9600);
Хулгана.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
байхад (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300", учир нь гироскопын x тэнхлэг нь хөдөлж чадахгүй байхад -350 орчим утгыг өгдөг. Хэрэв та TEST кодыг ашиглан өөр зүйл олж авбал энэ утгыг өөрчил, тэгээс хол утгууд байгаа бол chacking хийгээрэй.
vy = -(gz_ -100)/200; // "-100" -ын тухай энд мөн адил
Дахин ачаалах-
#оруулах
int x;
хүчингүй тохиргоо () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
хэрэв (x == HIGH)
{
Keyboard.press ('r');
}
өөр
{
Keyboard.release ('r');
}
}
NIGHT VISIO #оруулах
int x;
хүчингүй тохиргоо () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
хэрэв (x == HIGH)
{
Keyboard.press ('g');
}
өөр
{
Keyboard.release ('g');
}
}
CROUCH, PRONE-
#оруулах
int y;
хүчингүй тохиргоо () {
pinMode (A0, INPUT);
Цуваа эхлэх (9600);
}
void loop () {
y = analogRead (A0);
хэрэв (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
өөр бол (y> 260 && y <310)
{
Keyboard.press ('c');
}
өөр бол (y> 310)
{
Keyboard.press ('p');
}
}
Алхам 6: Тоглоомын хяналт
Тоглоомын хяналтыг дараах байдлаар өөрчилнө үү
бөхийх - x
хандлагатай - л
зэвсгийн өөрчлөлт - q
спринт - х
зогсож/үсрэх - z
шөнийн хараа - n
урагшлах хөдөлгөөн - w
гранат - г
Алхам 7: Тохируулах
Эцэст нь бид arduino -г тавих сүүлчийн алхам руу орлоо
самбарыг хайрцагт хийж уутанд хийнэ
Одоо arduino -ийн микро USB -ийг зөөврийн компьютерын USB порт руу холбож, мэдрэгчийг дээр дурдсанчлан холбоно уу
*Дээрх зурган дээрх сумны тэмдэг нь мэдрэгчийн тулгарах ёстой чиглэлийг илэрхийлнэ
Хэрэв танд эргэлзэж байвал сэтгэгдлээ үлдээхээс бүү эргэлзээрэй, туршлагаа хуваалцахаа бүү мартаарай
Үүнд л баярлалаа
BYE.
Зөвлөмж болгож буй:
Виртуал бодит байдлын хяналттай RC машин: 9 алхам
Виртуал бодит байдлыг хянадаг RC машин: Та хэзээ нэгэн цагт цомхотгож, Дотоод орон зай эсвэл Гайхамшигт аялал гэх мэт гар урлалын нисгэгч болохыг хүсч байсан уу? Миний бодлоор энэ нь танд ойрхон байгаа шиг ойрхон байна! Энэ бол Виртуал Бодит байдлын удирдагчийн жолоодож буй бодит амьдрал дахь алсын удирдлагатай машин юм
Буцаж ойх ! Arduino & Acclerometer ашиглан виртуал бодит байдлын тоглоом: 9 алхам
Буцаж ойх ! Arduino & Acclerometer ашиглан виртуал бодит байдлын тоглоом: Энэхүү гарын авлагад бид Arduino болон Acclerometer ашиглан Virtual Reality тоглоомыг бүтээх болно
Виртуал бодит байдлын төлөө эв нэгдэлтэй муруй интерфэйсийг бий болгох: 4 алхам
Виртуал бодит байдлын төлөө эв нэгдэлтэй муруй интерфэйс үүсгэх: Хэрэв та виртуал бодит байдлын програм эсвэл VR тоглоомын муруй хэрэглэгчийн интерфэйсийг бий болгох үнэгүй, хялбар шийдлийг хайж байгаа бол зөв газартаа байгаа болно. Энэ блогт та Unity UI өргөтгөлүүдийг ашиглан эв нэгдэлтэй муруй ui элемент үүсгэхийг сурах болно
Виртуал бодит байдлын чихэвч-Google картон: 4 алхам
Виртуал Бодит Чихэвч-Google Картон: Сайн байна уу залуусаа, гар хийцийн Виртуал Бодит Чихэвч болох Google Cardboard-ийг хэрхэн хийх тухай энгийн заавар энд байна. Энэхүү чихэвчээр аймшгийн кино үзэх нь үнэхээр хэцүү байх болно, мөн галзуу хулгана Ride видео нь мартагдашгүй туршлага болно
Виртуал ба холимог бодит байдлын шил: 15 алхам (зурагтай)
Виртуал ба холимог бодит байдлын нүдний шил: Танилцуулга: Концепт дизайны технологийн мастер курсын үеэр бид үндсэн төсөлдөө тохирсон шинэ технологийг судалж, загварыг нь туршиж үзэхийг санал болгов. Бидний сонгосон технологи бол хоёулаа виртуал бодит байдал юм