Mündəricat:
- Addım 1: Tələblər
- Addım 2: DONANIM
- Addım 3: YAZILIM
- Adım 4: ANA KOD
- Addım 5: KODLARI TEST EDİN
- Addım 6: OYUN NƏZARƏTLƏRİ
- Addım 7: AYARLANMA
Video: Arduino istifadə edərək virtual reallıq kostyumu: 7 addım (şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Bu layihəni normal kompüter oyunlarını tam VR rejimində oynamaq üçün yaratdım. Bu layihə, hərəkətlərinizi klaviaturanın düymələrini basıb saxlamağa bənzəyir
Misal- irəlilədikdə 'w' düyməsinə basma hərəkəti təqlid edilir.
Call of Duty 4: Modern Warfare oyununu təqlid etdim, ancaq çəkərkən geri çəkilən oyunları seçməyin, çünki bu, siçanın standart mövqeyini dəyişəcək.
Addım 1: Tələblər
Tələblər-
Bu paltarı hazırlamaq üçün lazım olan şeylərin siyahısı var
Toxunma sensorları-5
Güc sensoru-1
GPU 6050-4
(və ya)
GPU 6050 - 2 və Akselerometr - 2
Vr eynək
Vr effektiv telefon
PC
WiFi qaynar nöqtəsi
Oyuncaq silahı
Bir kompüter oyunu (Call of Duty- Modern Warfare 1 istifadə etdim)
Çörək taxtası telləri (Kişi-Qadın)
ARDUINO LEONARDO-2
Avtomatik qabıq - 2
Güc mənbəyi (lipo)
Göy qurşağı telləri
Addım 2: DONANIM
*reload_pin, shoot_pin, gecə görmə_pin, qumbara_pin, silah dəyişmə_pini toxunma sensorlarıdır. aim_pin güc sensoru və siçan MPU6050 tərəfindən təqlid edilir, digər sensorlar akselerometrdir (duruş, hərəkət1 və 2)
1.1) Lehimləmə
SOLDER MPU 6050, akselerometr, toxunma sensoru və telləri olan güc sensoru
1.2) KABLOLAMA
MPU 6050 üçün
Pin 2- SDA
Pin 3- SCL
GND - GND
5V - PWR/VCC
Hərəkət_pin1 üçün-
Pin A1- x ox
GND-GND
5V - PWR/VCC
Hərəkət_pin2-
Pin A2- x ox
GND-GND
5V - PWR/VCC
Duruş_pin üçün-
Pin A0- x ox
GND-GND
5V - PWR/VCC
silah_pin üçün -
sig-5v
GND-GND
5V - PWR/VCC
Reload_pin üçün -
pin12 - 5v
GND-GND
5V - PWR/VCC
Nightvision_pin üçün -
pin 10 - 5v
GND-GND
5V - PWR/VCC
Shoot_pin üçün -
Pin7 - 5v
GND-GND
5V - PWR/VCC
Aim_pin üçün -
Pin 8 - 5v
5V - PWR/VCC
1.3) Lehim telləri
Çörək taxtası tellərini göy qurşağı telləri ilə lehimləyin
1.4) İZOLASİYA
Qısa qapanmalardan qaçmaq üçün telləri lehim etdiyiniz yerə izolyasiya lenti ilə yapışdırın
Addım 3: YAZILIM
Videonu noutbukdan telefona yaymaq üçün Play mağazasından 'Remotr' adlı bir tətbiqdən istifadə etdim
2.1) REMOTR-
REMOTR tətbiqini kompüterinizə quraşdırın və hesab yaradın
İşdə link-
remotrapp.com/# endir
Smartfonunuza REMOTR tətbiqini quraşdırın
2.2) VİDEO AKIŞI
Əvvəlcə həm kompüterə, həm də eyni WiFi şəbəkəsinə qoşulun və hər iki cihazda REMOTR hesabınızı daxil edin
İndi proqramda yayımlamaq istədiyiniz oyunu əl ilə əlavə edin
İndi tətbiq kompüteri idarəçi olaraq göstərəcək və axına başlamaq üçün onu vurun
VR rejimində yayımlamaq üçün smartfonunuzda vr rejimini aktiv edin
Anlaya bilmirsinizsə ətraflı məlumat üçün bu linki yoxlayın
remotrapp.com/az/howto
Adım 4: ANA KOD
Bu layihənin kodu çətin və ya mürəkkəb deyil, uzun bir koddur
Budur, kodu kopyalayın və arduino sənədinizə yapışdırın
ARDUINO
LEONARDO siçanı-
Gabry295 -ə yenidən baxdım. Bu siçan kodu təlimatlandırılan Mouse başına əsaslanır
#daxil edin
#daxil edin
#daxil edin
#daxil edin
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
boş quraşdırma () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
isə (1);
}
pinMode (7, GİRİŞ);
pinMode (8, GİRİŞ);
}
boşluq döngəsi () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // Mpu6050 -in çeki hərəkət etdirməyəndə bu dəyərləri göstərdiyi üçün -300 və +490 qoydum
vy = -(gz+490)/200; // bu dəyərlər haqqında daha ətraflı məlumat üçün Gabry295 tərəfindən baş siçan kodunu yoxlayın
Mouse.move (vx, vy);
gecikmə (20);
while (shoot_pin == HIGH);
{
Mouse.click ();
}
while (aim_pin == HIGH);
{
Mouse.click ();
}
}
Leonardo klaviatura
#daxil edin
int Qumbara;
int silah_pin;
int reload_pin;
int hərəkəti1_pin;
int hərəkəti2_pin;
int duruş_pin;
char nightvision_pin;
boş quraşdırma ()
{
pinMode (7, GİRİŞ);
pinMode (8, GİRİŞ);
pinMode (9, GİRİŞ);
pinMode (10, GİRİŞ);
pinMode (11, GİRİŞ);
pinMode (12, GİRİŞ);
pinMode (A0, GİRİŞ);
pinMode (A1, GİRİŞ);
Keyboard.begin ();
}
boşluq döngəsi ()
{
Grenade_pin = digitalRead (8);
silah_pin = digitalRead (9);
motion1_pin = analogRead (A1);
motion2_pin = analogRead (A2);
posture_pin = analogOxu (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
əgər (qumbara == YÜKSƏK)
{
Keyboard.press ('g');
}
isə (silah_pin == YÜKSƏK)
{
Keyboard.press ('q');
}
isə (reload_pin == YÜKSƏK)
{
Keyboard.press ('r');
}
while (motion1_pin> 340 && motion1_pin <420)
{
Keyboard.press ('w');
}
isə (motion1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
isə (motion2_pin> 340 && motion2_pin <420)
{
Keyboard.press ('w');
}
isə (motion2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
isə (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
isə (posture_pin> 420)
{
Keyboard.press ('l');
}
isə (duruş_pin <340)
{
Keyboard.press ('z');
}
isə (nightvision_pin == YÜKSƏK)
{
Keyboard.press ('n');
}
}
}
Addım 5: KODLARI TEST EDİN
İşdə əsas koddan funksiyaya görə bölünən bir neçə kod
Çəkiliş-
#daxil edin
int x;
boş quraşdırma () {
pinMode (8, GİRİŞ);
Mouse.begin ();
}
boşluq döngəsi () {
x = digitalRead (8);
əgər (x == YÜKSEK)
{
Mouse.click ('g');
}
}
MƏQSƏD-
#daxil edin
#daxil edin
#daxil edin
#daxil edin
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
boş quraşdırma () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
isə (1);
}
}
boşluq döngəsi () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300" çünki jiroskopun x oxu hərəkət etmədikdə təxminən -350 dəyər verir. TEST kodundan istifadə edərək fərqli bir şey əldə etsəniz, sıfırdan çox dəyərlər varsa, bu dəyəri dəyişdirin.
vy = -(gz_ -100)/200; // "-100" haqqında eyni
YENİDƏN
#daxil edin
int x;
boş quraşdırma () {
pinMode (8, GİRİŞ);
Keyboard.begin ();
}
boşluq döngəsi () {
x = digitalRead (8);
əgər (x == YÜKSEK)
{
Keyboard.press ('r');
}
başqa
{
Keyboard.release ('r');
}
}
GECƏ VİZYO #daxil edin
int x;
boş quraşdırma () {
pinMode (8, GİRİŞ);
Keyboard.begin ();
}
boşluq döngəsi () {
x = digitalRead (8);
əgər (x == YÜKSEK)
{
Keyboard.press ('g');
}
başqa
{
Keyboard.release ('g');
}
}
BAĞÇA VƏ PRONE-
#daxil edin
int y;
boş quraşdırma () {
pinMode (A0, GİRİŞ);
Serial.begin (9600);
}
boşluq döngəsi () {
y = analogOxu (A0);
əgər (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
başqa halda (y> 260 && y <310)
{
Keyboard.press ('c');
}
başqa halda (y> 310)
{
Keyboard.press ('p');
}
}
Addım 6: OYUN NƏZARƏTLƏRİ
oyun nəzarətini aşağıdakı kimi dəyişdirin
əyilmək - x
meylli - l
silah dəyişikliyi - q
qaçış - s
dur/atla - z
gecə görmə - n
irəli hərəkət - w
qumbara - g
Addım 7: AYARLANMA
Nəhayət, arduino'yu qoyduğumuz son addıma gəldik
lövhələri bir qutuya qoyun və çantaya qoyun
İndi arduino mikro USB -ni dizüstü kompüterin USB portlarına qoşun, indi sensorları yuxarıda göstərildiyi kimi bağlayın
*Yuxarıdakı şəkillərdəki ox işarələri sensorun üz tutmalı olduğu istiqaməti əks etdirir
Şübhəniz varsa, şərh yazmaqdan çəkinməyin və təcrübənizi bölüşməyi unutmayın
Budur təşəkkür edirəm və
BAYE.
Tövsiyə:
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClər
Geriyə atlamaq ! Arduino və Acclerometer istifadə edərək Virtual Reallıq Oyunu: 9 addım
Geriyə atlamaq ! Arduino və Acclerometer istifadə edərək Virtual Reallıq Oyunu: Bu dərslikdə Arduino və Acclerometer istifadə edərək Virtual Reallıq oyunu yaradacağıq
Arduino istifadə edərək DIY Ağıllı Artırılmış Reallıq Eynəkləri: 7 addım
Arduino istifadə edərək DIY Ağıllı Artırılmış Reallıq Eynəkləri: Texnologiya sürətlə böyüdükcə və insanların həyatının bütün sahələrinə inteqrasiya olunduqca, dizaynerlər və inkişaf etdiricilər insanlara daha xoş bir texnologiya təcrübəsi verməyə çalışdılar. Həyatı asanlaşdırmağı hədəfləyən texnologiya meyllərindən biri də geyinməkdir
Virtual və Qarışıq Reallıq Eynəkləri: 15 Addım (Şəkillərlə birlikdə)
Virtual və Qarışıq Reallıq Eynəkləri: Giriş: Konsepsiya Dizaynı Texnologiyası magistr kursunda bizdən əsas layihəmizə uyğun yeni yaranan texnologiyanı kəşf etməyimizi və bu texnologiyanı prototip hazırlayaraq sınamağımızı istədilər. Seçdiyimiz texnologiyalar həm Virtual reallıqdır
Android üçün İşlənmədən (TfCD) istifadə edərək Mobil Virtual Reallıq: 7 Adım (Şəkillərlə)
Android üçün İşlənmə (TfCD) istifadə edərək Mobil Virtual Reallıq: Virtual Reallıq (VR) gələcək məhsulların maraqlı ola biləcəyi yeni texnologiyalardan biridir. Çox imkanları var və hətta bahalı VR eynəklərə (Oculus Rift) ehtiyacınız yoxdur. Özünüz etmək çox çətin görünə bilər, amma əsasları