Съдържание:
- Стъпка 1: Изисквания
- Стъпка 2: Хардуер
- Стъпка 3: СОФТУЕР
- Стъпка 4: ОСНОВЕН КОД
- Стъпка 5: ТЕСТОВИ КОДОВЕ
- Стъпка 6: КОНТРОЛ НА ИГРАТА
- Стъпка 7: НАСТРОЙКА
Видео: Костюм за виртуална реалност, използващ Arduino: 7 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Създадох този проект, за да играя нормални компютърни игри в пълна VR. Този проект емулира движенията ви, като натискате или държите клавишите на клавиатурата си
Пример- когато се придвижите напред, действието на натискане на клавиша 'w' се емулира.
Аз съм подражавал на играта Call of Duty 4: Modern Warfare, но не избирайте игри, които отстъпват по време на стрелба, защото това ще промени позицията на мишката по подразбиране
Стъпка 1: Изисквания
Изискванията са-
Има пълен списък с неща, от които се нуждаете, за да направите този костюм
Сензори за докосване-5
Сензор за сила-1
GPU 6050 - 4
(или)
GPU 6050 - 2 и акселерометър - 2
VR очила
Vr -активиран телефон
настолен компютър
WiFi гореща точка
Пистолет за играчки
Компютърна игра (използвал съм Call of Duty- Modern Warfare 1)
Проводници за хляб (мъжки-женски)
ARDUINO LEONARDO-2
Auton sheild - 2
Източник на захранване (lipo)
Дъгови проводници
Стъпка 2: Хардуер
*reload_pin, shoot_pin, pin of night vision, grenade_pin, оръжие change_pin са сензори за докосване. aim_pin е сензор за сила и мишката е емулирана от MPU6050 други сензори са акселерометър (стойка, движение 1 и 2)
1.1) СПАЙКА
SOLDER MPU 6050, акселерометър, сензор за докосване и сензор за сила с проводниците
1.2) СВЪРЗВАНЕ
За MPU 6050-
Пин 2- SDA
ПИН 3- SCL
GND - GND
5v - PWR/VCC
За motion_pin1-
Щифт A1- х ос
GND-GND
5v - PWR/VCC
За motion_pin2-
Щифт A2- х ос
GND-GND
5v - PWR/VCC
За posture_pin-
Щифт A0- x ос
GND-GND
5v - PWR/VCC
за оръжие_пин -
sig-5v
GND-GND
5v - PWR/VCC
За Reload_pin -
pin12 - 5v
GND-GND
5v - PWR/VCC
За Nightvision_pin -
щифт 10 - 5v
GND-GND
5v - PWR/VCC
За shoot_pin -
Pin7 - 5v
GND-GND
5v - PWR/VCC
За aim_pin -
Pin 8 - 5v
5v - PWR/VCC
1.3) ПРОПЪЛНИТЕЛНИ ПРОВОДИ
Запоявайте проводниците на дъската за хляб с кабелите на дъгата
1.4) ИЗОЛАЦИЯ
Залепете проводниците с изолационната лента на мястото, където сте запоени, за да избегнете късо съединение
Стъпка 3: СОФТУЕР
Използвах приложение, наречено „Remotr“от Play Store, за да предавам видеото от лаптопа на телефона
2.1) REMOTR-
Инсталирайте приложението REMOTR на вашия компютър и създайте акаунт
Ето линка-
remotrapp.com/#download
Инсталирайте приложението REMOTR на вашия смартфон
2.2) ВИДЕО ПОТОЧЕНИЕ
Първо свържете компютъра и същата WiFi мрежа и въведете своя REMOTR акаунт и на двете устройства
сега добавете ръчно играта, която искате да предавате в софтуера
сега приложението ще покаже компютъра като администратор, щракнете върху него, за да започнете поточно предаване
За поточно предаване във VR активирайте режима vr във вашия смартфон
Ако не можете да разберете Проверете тази връзка за подробна информация
remotrapp.com/en/howto
Стъпка 4: ОСНОВЕН КОД
Кодът за този проект не е труден или сложен, но е дълъг
Ето кода, просто го копирайте и го поставете във вашия файл arduino
ARDUINO
Мишка LEONARDO-
Посочих Gabry295. Този код на мишката се основава на главата му Мишка инструкции
#включва
#включва
#включва
#включва
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t брадва, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.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; // Поставих -300 и +490, тъй като моят mpu6050 показва тези стойности, когато не се движи проверка
vy = -(gz+490)/200; // проверете кода на главата на мишката от Gabry295 за повече подробности относно тези стойности
Mouse.move (vx, vy);
забавяне (20);
while (shoot_pin == HIGH);
{
Mouse.click ();
}
while (aim_pin == HIGH);
{
Mouse.click ();
}
}
Клавиатура Леонардо
#включва
int граната;
int weapon_pin;
int reload_pin;
int motion1_pin;
int motion2_pin;
int posture_pin;
char nightvision_pin;
void setup ()
{
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 ();
}
void loop ()
{
Grenade_pin = digitalRead (8);
оръжие_пин = digitalRead (9);
move1_pin = analogRead (A1);
move2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
ако (граната == HIGH)
{
Keyboard.press ('g');
}
while (оръжие_пин == ВИСОКО)
{
Keyboard.press ('q');
}
while (reload_pin == HIGH)
{
Keyboard.press ('r');
}
while (motion1_pin> 340 && motion1_pin <420)
{
Keyboard.press ('w');
}
while (move1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
while (motion2_pin> 340 && motion2_pin <420)
{
Keyboard.press ('w');
}
while (motion2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
while (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
while (posture_pin> 420)
{
Keyboard.press ('l');
}
while (posture_pin <340)
{
Keyboard.press ('z');
}
while (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Стъпка 5: ТЕСТОВИ КОДОВЕ
Ето няколко кода, разделени от основния код според функцията
СТРЕЛКА-
#включва
int x;
void setup () {
pinMode (8, INPUT);
Mouse.begin ();
}
void loop () {
x = digitalRead (8);
ако (x == HIGH)
{
Mouse.click ('g');
}
}
НАМЕРЯВАНЕ-
#включва
#включва
#включва
#включва
MPU6050 mpu;
int16_t брадва, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.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 кода, като проверите дали има стойности далеч от нулата.
vy = -(gz_ -100)/200; // същото тук за "-100"
ПЕРЕПАЗВАНЕ-
#включва
int x;
void setup () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
ако (x == HIGH)
{
Keyboard.press ('r');
}
иначе
{
Keyboard.release ('r');
}
}
НОЩНО ВИЗИО #включва
int x;
void setup () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
ако (x == HIGH)
{
Keyboard.press ('g');
}
иначе
{
Keyboard.release ('g');
}
}
ПЕЧАЛКА И ПРОНЕ-
#включва
int y;
void setup () {
pinMode (A0, INPUT);
Serial.begin (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: КОНТРОЛ НА ИГРАТА
променете контролите на играта, както следва
клекна - х
склонен - л
смяна на оръжието - q
спринт - стр
стойка/скок - z
нощно виждане - n
движение напред - w
граната - g
Стъпка 7: НАСТРОЙКА
Най -накрая стигнахме до последната стъпка, сега поставете arduino
дъски в кутия и я пъхнете в торбата
Сега свържете микро USB на arduino към USB портовете на лаптопа, сега свържете сензорите, както е посочено по -горе
*стрелките на горните снимки представляват посоката, към която сензорът трябва да е обърнат
Ако имате някакви съмнения, не се колебайте да оставите коментар и не забравяйте да споделите своя опит
Това е, благодаря и
ЧАО.
Препоръчано:
Виртуална реалност на Raspberry Pi с BeYourHero !: 19 стъпки (със снимки)
Виртуална реалност на Raspberry Pi с BeYourHero !: Добре дошли в " Бъди твоят герой " проект! Надявам се, че сте готови да влезете в следващото поколение потапяне във виртуалната реалност! Този проект ще ви даде пълен контрол с жестове на всеки виртуален герой, който харесвате, с прост набор от евтини устройства, използващи се
Контролиран RC автомобил с виртуална реалност: 9 стъпки
Контролирана RC кола с виртуална реалност: Искали ли сте някога да бъдете намалени и да управлявате плавателен съд като Innerspace или Fantastic Voyage? Е, мисля, че това е толкова близо, колкото ще получите в кратък срок! Ето стъпката: Кола с дистанционно управление в реалния живот, пилотирана от командир на виртуална реалност
Отскачам ! Игра за виртуална реалност с помощта на Arduino и акселерометър: 9 стъпки
Отскачам ! Игра за виртуална реалност, използваща Arduino и Acclerometer: В този урок ще създадем игра за виртуална реалност, използвайки Arduino и Acclerometer
Очила за виртуална и смесена реалност: 15 стъпки (със снимки)
Очила за виртуална и смесена реалност: Въведение: По време на магистърския курс Технология за концептуален дизайн бяхме помолени да проучим нова технология, която отговаря на основния ни проект, и да тестваме тази технология, като направим прототип. Избраните от нас технологии са и двете виртуални
Мобилна виртуална реалност, използваща обработка за Android (TfCD): 7 стъпки (със снимки)
Мобилна виртуална реалност, използваща обработка за Android (TfCD): Виртуалната реалност (VR) е една от новите технологии, които биха могли да бъдат интересни, са бъдещите продукти. Той има много възможности и дори не се нуждаете от скъпи VR очила (Oculus Rift). Може да изглежда много трудно да направите сами, но основите са