Мазмұны:
- 1 -қадам: талаптар
- 2 -қадам: ЖАБДЫҚ
- 3 -қадам: БАҒДАРЛАМА
- 4 -қадам: НЕГІЗГІ КОД
- 5 -қадам: КОДТАРДЫ СЫНАУ
- 6 -қадам: ОЙЫНДЫ БАҚЫЛАУ
- 7 -қадам: ОРНАТУ
Бейне: Arduino көмегімен виртуалды шындық костюмі: 7 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Мен бұл жобаны толық компьютерлік ойындарды толық 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
Автоматты қабық - 2
Қуат көзі (lipo)
Радуга сымдары
2 -қадам: ЖАБДЫҚ
*қайта жүктеу, түйреу, түйреуіш, гранатаның түйреуі, қаруды ауыстыру түйреуіші - сенсорлық сенсорлар. aim_pin - бұл күш сенсоры, ал тышқан MPU6050 арқылы эмуляцияланады, басқа датчиктер акселерометр (қалып, қозғалыс1 және 2)
1.1) Дәнекерлеу
SOLDER MPU 6050, акселерометр, сенсор және сымдармен күш сенсоры
1.2) Сымдар
MPU 6050 үшін
2-түйреуіш- SDA
3-түйреуіш- SCL
GND - GND
5в - PWR/VCC
Қозғалыс_тізбегі үшін 1-
A1- x осі
GND-GND
5в - PWR/VCC
Қозғалыс_тізбегі үшін 2-
A2- x осі
GND-GND
5в - PWR/VCC
Поза_қысқасы үшін-
A0- x осі
GND-GND
5в - PWR/VCC
қару_қысқыш үшін -
sig-5v
GND-GND
5в - PWR/VCC
Reload_pin үшін -
pin12 - 5v
GND-GND
5в - PWR/VCC
Nightvision_pin үшін -
түйреуіш 10 - 5в
GND-GND
5в - PWR/VCC
Shoot_pin үшін -
Pin7 - 5v
GND-GND
5в - PWR/VCC
Мақсат_түйреу үшін -
Түйреуіш 8 - 5в
5в - PWR/VCC
1.3) ПАЙДАЛАНУ СЫМДАРЫ
Нан тақтасының сымдарын кемпірқосақ сымымен дәнекерлеңіз
1.4) оқшаулау
Қысқа тұйықталуды болдырмау үшін сымдарды дәнекерленген жерге оқшаулағыш таспамен бекітіңіз
3 -қадам: БАҒДАРЛАМА
Мен ноутбуктен телефонға бейнені трансляциялау үшін Play дүкенінен 'Remotr' атты қосымшаны қолдандым
2.1) REMOTR-
REMOTR қосымшасын компьютерге орнатып, тіркелгі жасаңыз
Міне сілтеме-
remotrapp.com/#download
Смартфонға REMOTR қосымшасын орнатыңыз
2.2) БЕЙНЕЛІК СТРИМИНГ
Алдымен компьютерді де, Wi -Fi желісін де қосып, екі құрылғыға да REMOTR есептік жазбасын енгізіңіз
енді бағдарламалық қамтамасыз етуде ойнағыңыз келетін ойынды қолмен қосыңыз
енді қолданба компьютерді әкімші ретінде көрсетеді, ағынды бастау үшін оны басыңыз
VR режимінде трансляциялау үшін смартфондағы vr режимін қосыңыз
Егер сіз түсінбейтін болсаңыз, толық ақпарат алу үшін мына сілтемені қараңыз
remotrapp.com/kz/howto
4 -қадам: НЕГІЗГІ КОД
Бұл жобаның коды қатал немесе күрделі емес, ұзақ
Міне, кодты көшіріп, оны arduino файлына қойыңыз
ARDUINO
LEONARDO тышқан-
Мен Gabry295 -ті қайталадым. Бұл тышқан коды оның басына негізделген Тышқан нұсқаулы
#қосу
#қосу
#қосу
#қосу
int aim_pin;
int shoot_pin;
MPU6050 мегапиксель;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
жарамсыз орнату () {
Serial.begin (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; // Мен -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 қару_көзі;
int reload_pin;
int motion1_pin;
int motion2_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);
gun_pin = 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');
}
while (reload_pin == HIGH)
{
Keyboard.press ('r');
}
while (motion1_pin> 340 && motion1_pin <420)
{
Keyboard.press ('w');
}
while (motion1_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');
}
уақыт (posture_pin> 420)
{
Keyboard.press ('l');
}
уақыт (қалып_түйрегі <340)
{
Keyboard.press ('z');
}
while (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
5 -қадам: КОДТАРДЫ СЫНАУ
Міне, функцияға сәйкес негізгі кодтан бөлінген бірнеше кодтар
АТУ-
#қосу
int x;
жарамсыз орнату () {
pinMode (8, INPUT);
Тышқан.begin ();
}
void loop () {
x = digitalRead (8);
егер (x == жоғары)
{
Mouse.click ('g');
}
}
БАҒЫТ-
#қосу
#қосу
#қосу
#қосу
MPU6050 мегапиксель;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
жарамсыз орнату () {
Serial.begin (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», себебі гироскоптың х осі қозғалмай тұрғанда шамамен -350 мән береді. Егер сіз TEST кодын қолданып, нөлден алыс мәндер бар болса, басқа нәрсені алсаңыз, бұл мәнді өзгертіңіз.
vy = -(gz_ -100)/200; // дәл осы жерде «-100» туралы
Қайта жүктеу-
#қосу
int x;
жарамсыз орнату () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
егер (x == жоғары)
{
Keyboard.press ('r');
}
басқа
{
Keyboard.release ('r');
}
}
NIGHT VISIO #қосу
int x;
жарамсыз орнату () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
егер (x == жоғары)
{
Keyboard.press ('g');
}
басқа
{
Keyboard.release ('g');
}
}
БАҚША ЖӘНЕ БАС
#қосу
int y;
жарамсыз орнату () {
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 -қадам: ОЙЫНДЫ БАҚЫЛАУ
ойын басқару элементтерін келесідей өзгертіңіз
қисық - x
бейім - л
қаруды ауыстыру - q
спринт - б
тұру/секіру - z
түнгі көру - Н.
алға жылжу - w
граната - г
7 -қадам: ОРНАТУ
Ақырында біз соңғы қадамға жеттік, енді arduino қойыңыз
тақталарды қорапқа салып, сөмкеге салыңыз
Енді arduino микро USB -ін ноутбуктің USB порттарына қосыңыз, енді сенсорларды жоғарыда көрсетілгендей қосыңыз
*жоғарыдағы суреттердегі көрсеткілер сенсорға қарауға тиіс бағытты көрсетеді
Егер сізде күмән болса, пікір қалдырудан тартынбаңыз және тәжірибеңізбен бөлісуді ұмытпаңыз
Міне, рахмет және
BYE.
Ұсынылған:
BeYourHero көмегімен Raspberry Pi -де виртуалды шындық!: 19 қадам (суреттермен)
BeYourHero көмегімен Raspberry Pi -дегі виртуалды шындық! &Quot; Сіздің кейіпкеріңіз болыңыз " Сіз виртуалды шындықтың келесі буынына енуге дайынсыз деп үміттенемін! Бұл жоба сізге ұнайтын кез келген виртуалды кейіпкерді толық қимылмен басқаруға мүмкіндік береді
Виртуалды шындық басқарылатын RC Car: 9 қадам
Виртуалды шындықты басқаратын RC автокөлігі: Сіз кішірейіп, Innerspace немесе Fantastic Voyage сияқты кемені басқарғыңыз келді ме? Менің ойымша, бұл қысқа мерзімде сізге жақын! Бұл жерде: Virtual Reality командамен басқарылатын шынайы өмірдің қашықтан басқару машинасы
Артқа секіру! Arduino мен акклерометрді қолданатын виртуалды шындық ойыны: 9 қадам
Артқа секіру! Ардуино мен аклерометр көмегімен виртуалды шындық ойыны: Бұл оқулықта біз Arduino мен аклерометр көмегімен виртуалды шындық ойынын жасаймыз
Виртуалды және аралас шындық көзілдірігі: 15 қадам (суреттермен)
Виртуалды және аралас шындық көзілдірігі: Кіріспе: Концептуалды дизайн бойынша технология курсы кезінде бізге негізгі жобамызға сәйкес келетін жаңа технологияны зерттеу және осы технологияны прототип жасау арқылы тексеру сұралды. Біз таңдаған технологиялар - бұл виртуалды шындық
Android үшін өңдеуді қолданатын мобильді виртуалды шындық (TfCD): 7 қадам (суреттермен)
Android үшін өңдеуді қолданатын мобильді виртуалды шындық (TfCD): Виртуалды шындық (VR) - бұл болашақ өнімдер қызықты болуы мүмкін жаңа технологиялардың бірі. Оның мүмкіндіктері өте көп және сізге қымбат VR көзілдірігі де қажет емес (Oculus Rift). Өз бетіңізше жасау өте қиын болып көрінуі мүмкін, бірақ негізі