İçindekiler:
- Adım 1: Gereksinimler
- 2. Adım: DONANIM
- 3. Adım: YAZILIM
- Adım 4: ANA KOD
- Adım 5: TEST KODLARI
- 6. Adım: OYUN KONTROLLERİ
- 7. Adım: KURULUM
Video: Arduino Kullanan Sanal Gerçeklik Suiti: 7 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Bu projeyi normal bilgisayar oyunlarını tam VR'de oynamak için oluşturdum. Bu proje, klavyenizin tuşlarına basmak veya basılı tutmak için hareketlerinizi taklit eder.
Örnek- ileriye doğru hareket ettiğinizde 'w' tuşuna basma eylemi taklit edilir.
Call of Duty 4: Modern Warfare oyununu taklit ettim ancak çekim sırasında geri tepme olan oyunları seçmeyin çünkü bu, farenin varsayılan konumunu değiştirecektir.
Adım 1: Gereksinimler
Gereksinimler-
Bu kıyafeti yapmak için ihtiyacınız olan şeylerle dolu bir liste var.
Dokunmatik sensörler-5
Kuvvet sensörü-1
GPU 6050 - 4
(veya)
GPU 6050 - 2 ve İvmeölçer - 2
vr gözlük
VR özellikli telefon
bilgisayar
Kablosuz bağlantı noktası
oyuncak tabanca
Bir bilgisayar oyunu (Call of Duty Modern Warfare 1 kullandım)
Ekmek tahtası telleri (Erkek-Dişi)
ARDUINO LEONARDO-2
Oton kalkanı - 2
Güç kaynağı (lipo)
Gökkuşağı telleri
2. Adım: DONANIM
*reload_pin, shoot_pin, night vision_pin, grenade_pin, silah change_pin dokunmatik sensörlerdir. aim_pin kuvvet sensörüdür ve fare MPU6050 tarafından taklit edilir diğer sensörler ivmeölçerdir(duruş, hareket1&2)
1.1) LEHİM
SOLDER MPU 6050, İvmeölçer, Dokunma Sensörü ve teller ile kuvvet sensörü
1.2) KABLOLAMA
MPU 6050- için
Pin 2- SDA
Pin 3- SCL
GND - GND
5v - PWR/VCC
motion_pin1- için
Pim A1- x ekseni
GND-GND
5v - PWR/VCC
motion_pin2- için
Pim A2- x ekseni
GND-GND
5v - PWR/VCC
Duruş_pin- için
Pin A0- x ekseni
GND-GND
5v - PWR/VCC
silah_pin için -
sig-5v
GND-GND
5v - PWR/VCC
Reload_pin için –
pin12 – 5v
GND-GND
5v - PWR/VCC
Nightvision_pin için –
pin 10 – 5v
GND-GND
5v - PWR/VCC
shoot_pin için –
Pin7 – 5v
GND-GND
5v - PWR/VCC
aim_pin için -
Pin 8 – 5v
5v - PWR/VCC
1.3)LEHİM TELLERİ
Ekmek tahtası tellerini gökkuşağı telleriyle lehimleyin
1.4) YALITIM
Kısa devreleri önlemek için telleri lehimlediğiniz yere yalıtım bandı ile bantlayın.
3. Adım: YAZILIM
Videoyu dizüstü bilgisayardan telefona aktarmak için Play Store'dan 'Remotr' adlı bir uygulama kullandım
2.1) UZAKTAN-
REMOTR uygulamasını bilgisayarınıza kurun ve bir hesap oluşturun
Bağlantı burada-
remottrap.com/#download
Akıllı telefonunuza REMOTR uygulamasını yükleyin
2.2) VİDEO AKIŞI
Önce hem bilgisayarı hem de aynı WiFi ağını bağlayın ve her iki cihaza da REMOTR hesabınızı girin
şimdi yayınlamak istediğiniz oyunu yazılıma manuel olarak ekleyin
şimdi uygulama bilgisayarı yönetici olarak gösterecek, akışı başlatmak için tıklayın
VR'de akış yapmak için akıllı telefonunuzda vr modunu etkinleştirin
Anlayamıyorsanız Ayrıntılı bilgi için bu bağlantıyı kontrol edin
remottrap.com/en/howto
Adım 4: ANA KOD
Bu projenin kodu zor veya karmaşık değil, uzun bir kod
İşte kod sadece kopyalayın ve arduino dosyanıza yapıştırın
arduino
LEONARDO Fare-
Gabry295'i tavsiye ettim. Bu fare kodu, fare talimatına göre kafasına dayanmaktadır.
#Dahil etmek
#Dahil etmek
#Dahil etmek
#Dahil etmek
int amaç_pin;
int shoot_pin;
MPU6050 mpu;
int16_t balta, ay, az, gx, gy, gz;
int vx, vy;
geçersiz kurulum() {
Seri.başla(9600);
fare.başla();
Wire.begin();
mpu.initialize();
if (!mpu.testConnection()) {
iken (1);
}
pinMode(7, GİRİŞ);
pinMode(8, GİRİŞ);
}
boşluk döngüsü () {
shoot_pin = digitalRead(7);
aim_pin = digitalRead(8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = (gx-300)/200; // mpu6050 cihazım çeki hareket ettirmiyorken bu değerleri gösterdiği için -300 ve +490 koydum
vy = -(gz+490)/200; // Bu değerler hakkında daha fazla ayrıntı için Gabry295'in baş fare kodunu kontrol edin
Mouse.move(vx, vy);
gecikme(20);
while(shoot_pin == YÜKSEK);
{
Fare tıklaması();
}
while(aim_pin == YÜKSEK);
{
Fare tıklaması();
}
}
Leonardo Klavye
#Dahil etmek
int El bombası;
int silah_pin;
int reload_pin;
int hareket1_pin;
int hareket2_pin;
int duruş_pin;
char nightvision_pin;
geçersiz kurulum()
{
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İŞ);
klavye.başla();
}
boşluk döngüsü()
{
Grenade_pin=digitalRead(8);
silah_pin = digitalRead(9);
motion1_pin = analogRead(A1);
motion2_pin = analogRead(A2);
postür_pin = analogRead(A0);
reload_pin = digitalRead(12);
nightvision_pin = digitalRead(10);
if(el bombası==YÜKSEK)
{
klavye.press('g');
}
while (weapon_pin == YÜKSEK)
{
klavye.press('q');
}
while(reload_pin == YÜKSEK)
{
klavye.press('r');
}
while (hareket1_pin>340&&hareket1_pin<420)
{
klavye.press('w');
}
while (hareket1_pin>420)
{
klavye.press('w');
klavye.press('p');
}
while (movement2_pin>340&&movement2_pin<420)
{
klavye.press('w');
}
while (hareket2_pin>420)
{
klavye.press('p');
klavye.press('w');
}
while (posture_pin>340&&posture_pin<420)
{
klavye.press('c');
}
while (posture_pin>420)
{
klavye.press('l');
}
while (posture_pin<340)
{
klavye.press('z');
}
while (nightvision_pin==YÜKSEK)
{
klavye.press('n');
}
}
}
Adım 5: TEST KODLARI
İşte fonksiyona göre ana koddan ayrılan birkaç kod
ÇEKİM-
#Dahil etmek
int x;
geçersiz kurulum() {
pinMode(8, GİRİŞ);
fare.başla();
}
boşluk döngüsü () {
x=dijitalOku(8);
if(x==YÜKSEK)
{
Mouse.click('g');
}
}
HEDEFLEME-
#Dahil etmek
#Dahil etmek
#Dahil etmek
#Dahil etmek
MPU6050 mpu;
int16_t balta, ay, az, gx, gy, gz;
int vx, vy;
geçersiz kurulum() {
Seri.başla(9600);
fare.başla();
Wire.begin();
mpu.initialize();
if (!mpu.testConnection()) {
iken (1);
}
}
boşluk döngüsü () {
shoot_pin = digitalRead(7);
aim_pin = digitalRead(8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = (gx+300)/200; // "+300" çünkü jiroskopun x ekseni hareket etmiyorken -350 civarında değerler verir. TEST kodunu kullanarak farklı bir şey alırsanız, sıfırdan uzak değerler varsa bu değeri değiştirin.
vy = -(gz_-100)/200; // burada "-100" ile aynı
YENİDEN YÜKLENİYOR-
#Dahil etmek
int x;
geçersiz kurulum() {
pinMode(8, GİRİŞ);
klavye.başla();
}
boşluk döngüsü () {
x=dijitalOku(8);
if(x==YÜKSEK)
{
klavye.press('r');
}
Başka
{
Keyboard.release('r');
}
}
GECE GÖRÜŞÜ #include
int x;
geçersiz kurulum() {
pinMode(8, GİRİŞ);
klavye.başla();
}
boşluk döngüsü () {
x=dijitalOku(8);
if(x==YÜKSEK)
{
klavye.press('g');
}
Başka
{
Keyboard.release('g');
}
}
çömelme ve eğilme-
#Dahil etmek
int y;
geçersiz kurulum() {
pinMode(A0, GİRİŞ);
Seri.başla(9600);
}
boşluk döngüsü () {
y=analogOku(A0);
eğer(y<260)
{
Keyboard.release('c');
Keyboard.release('p');
}
else if(y>260&&y<310)
{
klavye.press('c');
}
aksi takdirde(y>310)
{
klavye.press('p');
}
}
6. Adım: OYUN KONTROLLERİ
oyun kontrollerini aşağıdaki gibi değiştirin
çömelmek - x
eğilimli - l
silah değişikliği - q
sürat koşusu - p
dur/zıpla - z
gece görüşü - n
ileri hareket - w
el bombası - g
7. Adım: KURULUM
Sonunda son adıma geldik şimdi arduinoyu koy
bir kutuda tahtalar ve çantaya kaydırın
Şimdi arduino'nun mikro USB'sini dizüstü bilgisayarın USB bağlantı noktalarına bağlayın, şimdi sensörleri yukarıda belirtildiği gibi bağlayın
*Yukarıdaki resimlerdeki ok işaretleri, sensörün bakması gereken yönü temsil eder.
Herhangi bir şüpheniz varsa, yorum bırakmaktan çekinmeyin ve deneyiminizi paylaşmayı unutmayın.
işte bu teşekkür ederim ve
HOŞÇAKAL.
Önerilen:
BeYourHero ile Raspberry Pi'de Sanal Gerçeklik: 19 Adım (Resimlerle)
BeYourHero ile Raspberry Pi'de Sanal Gerçeklik: "Kahramanın Olun" projesi!Umarım yeni nesil Sanal Gerçeklik daldırma teknolojisine girmeye hazırsınızdır!Bu proje, se
Sanal Gerçeklik Kontrollü RC Araba: 9 Adım
Sanal Gerçeklik Kontrollü RC Araba: Hiç küçültülmek ve Innerspace veya Fantastic Voyage gibi bir gemiye pilotluk yapmak istediniz mi? Pekala, bence bu, kısa sürede fark edeceğiniz kadar yakın! İşte adım: Bir Sanal Gerçeklik komutanının pilotluğunu yaptığı Gerçek Hayat uzaktan kumandalı bir araba
Geri sıçrama ! Arduino ve İvmeölçer Kullanan Sanal Gerçeklik Oyunu: 9 Adım
Geri sıçrama ! Arduino ve İvmeölçer Kullanarak Sanal Gerçeklik Oyunu: Bu dersimizde Arduino ve İvmeölçer kullanarak bir Sanal Gerçeklik oyunu oluşturacağız
Sanal ve Karma Gerçeklik Gözlükleri: 15 Adım (Resimlerle)
Sanal ve Karma Gerçeklik Gözlükleri: Giriş: Konsept Tasarım Teknolojisi yüksek lisans kursu sırasında, ana projemize uyan gelişmekte olan bir teknolojiyi keşfetmemiz ve bir prototip yaparak bu teknolojiyi test etmemiz istendi. Seçtiğimiz teknolojiler hem Sanal Gerçek
Android için İşleme Kullanan Mobil Sanal Gerçeklik (TfCD): 7 Adım (Resimlerle)
Android için İşleme Kullanan Mobil Sanal Gerçeklik (TfCD): Sanal Gerçeklik (VR), geleceğin ürünleriyle ilgi çekici olabilecek yeni teknolojilerden biridir. Çok fazla fırsatı var ve pahalı VR gözlüklerine bile ihtiyacınız yok (Oculus Rift). Kendiniz yapmak çok zor görünebilir, ancak temel bilgiler