Daftar Isi:
- Langkah 1: Persyaratan
- Langkah 2: PERANGKAT KERAS
- Langkah 3: PERANGKAT LUNAK
- Langkah 4: KODE UTAMA
- Langkah 5: KODE UJI
- Langkah 6: KONTROL PERMAINAN
- Langkah 7: MENYIAPKAN
Video: Setelan Virtual Reality Menggunakan Arduino: 7 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Saya telah membuat proyek ini untuk memainkan game komputer normal dalam VR penuh. Proyek ini mengemulasi gerakan Anda untuk menekan atau menahan tombol keyboard Anda
Contoh- ketika Anda bergerak maju, tindakan menekan tombol 'w' ditiru.
Saya sudah meniru game Call of Duty 4: Modern Warfare tapi jangan pilih game yang memiliki recoil saat menembak karena akan mengubah posisi default mouse
Langkah 1: Persyaratan
Persyaratan adalah-
Ada daftar penuh hal-hal yang Anda butuhkan untuk membuat setelan ini
Sensor sentuh-5
Sensor gaya-1
GPU 6050 - 4
(atau)
GPU 6050 - 2 & Akselerometer - 2
kacamata vr
Telepon yang diaktifkan Vr
PC
Hotspot Wi-Fi
Pistol mainan
Sebuah game pc (saya telah menggunakan Call of Duty- Modern Warfare 1)
Kabel papan roti (Pria-Wanita)
ARDUINO LEONARDO-2
Pelindung Auton - 2
Sumber daya (lipo)
Kabel pelangi
Langkah 2: PERANGKAT KERAS
*reload_pin, shoot_pin, night vision_pin, granat_pin, senjata change_pin adalah sensor sentuh. aim_pin adalah sensor gaya dan mouse ditiru oleh MPU6050 sensor lainnya adalah akselerometer (postur, gerakan1&2)
1.1) SOLDERING
SOLDER MPU 6050, Akselerometer, Sensor Sentuh & sensor gaya dengan kabel
1.2) KABEL
Untuk MPU 6050-
Pin 2- SDA
Pin 3- SCL
GND - GND
5v - PWR/VCC
Untuk gerakan_pin1-
Pin A1- sumbu x
GND-GND
5v - PWR/VCC
Untuk gerakan_pin2-
Pin A2- sumbu x
GND-GND
5v - PWR/VCC
Untuk postur_pin-
Pin A0- sumbu x
GND-GND
5v - PWR/VCC
untuk pin_senjata –
tanda-5v
GND-GND
5v - PWR/VCC
Untuk Reload_pin –
pin12 – 5v
GND-GND
5v - PWR/VCC
Untuk Nightvision_pin –
pin 10 – 5v
GND-GND
5v - PWR/VCC
Untuk shoot_pin –
Pin7 – 5v
GND-GND
5v - PWR/VCC
Untuk aim_pin –
Pin 8 – 5v
5v - PWR/VCC
1.3) KABEL SOLDER
Solder kabel papan roti dengan kabel pelangi
1.4) Isolasi
Rekatkan kabel dengan pita isolasi di tempat Anda menyolder untuk menghindari korsleting
Langkah 3: PERANGKAT LUNAK
Saya telah menggunakan aplikasi bernama 'Remotr' dari Play store untuk mentransmisikan video dari laptop ke telepon
2.1) REMOTR-
Instal aplikasi REMOTR ke komputer Anda dan buat akun
Ini tautannya-
remotrapp.com/#download
Instal aplikasi REMOTR di smartphone Anda
2.2) STREAMING VIDEO
Pertama hubungkan komputer dan jaringan WiFi yang sama dan masukkan akun REMOTR Anda di kedua perangkat
sekarang secara manual tambahkan game yang ingin Anda streaming di perangkat lunak
sekarang aplikasi akan menampilkan komputer sebagai admin klik untuk memulai streaming
Untuk streaming dalam VR, aktifkan mode vr di ponsel cerdas Anda
Jika Anda tidak dapat memahami Periksa tautan ini untuk informasi terperinci
remotrapp.com/en/howto
Langkah 4: KODE UTAMA
Kode untuk proyek ini tidak sulit atau rumit tetapi panjang
Ini kodenya cukup salin dan tempel di file arduino Anda
ARDUINO
LEONARDO Tikus-
Saya telah mereferensikan Gabry295. Kode mouse ini didasarkan pada instruksi Mouse di kepalanya
#termasuk
#termasuk
#termasuk
#termasuk
int aim_pin;
int tembak_pin;
MPU6050 mpu;
int16_t kapak, ay, az, gx, gy, gz;
int vx, vy;
batalkan pengaturan() {
Serial.begin(9600);
Mouse.mulai();
Kawat.mulai();
mpu.initialize();
if (!mpu.testConnection()) {
sementara (1);
}
pinMode(7, INPUT);
pinMode(8, INPUT);
}
lingkaran kosong() {
shoot_pin = digitalRead(7);
aim_pin = digitalRead(8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = (gx-300)/200; // Saya telah menempatkan -300 dan +490 karena mpu6050 saya menunjukkan nilai-nilai ini saat tidak bergerak cek
vy = -(gz+490)/200; // periksa kode mouse kepala oleh Gabry295 untuk detail lebih lanjut tentang nilai-nilai ini
Mouse.move(vx, vy);
penundaan (20);
while(shoot_pin == TINGGI);
{
Klik mouse();
}
while(aim_pin == TINGGI);
{
Klik mouse();
}
}
Papan Ketik Leonardo
#termasuk
int Granat;
int senjata_pin;
int reload_pin;
int gerakan1_pin;
int gerakan2_pin;
int postur_pin;
char nightvision_pin;
batalkan pengaturan()
{
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.mulai();
}
lingkaran kosong()
{
Granat_pin=digitalBaca(8);
weapon_pin = digitalRead(9);
movement1_pin = analogRead(A1);
movement2_pin = analogRead(A2);
postur_pin = analogRead(A0);
reload_pin = digitalRead(12);
nightvision_pin = digitalRead(10);
jika (granat == TINGGI)
{
Keyboard.tekan('g');
}
sementara (pin_senjata == TINGGI)
{
Keyboard.tekan('q');
}
sementara (reload_pin == TINGGI)
{
Keyboard.tekan('r');
}
while (gerakan1_pin>340&&gerakan1_pin<420)
{
Keyboard.tekan('w');
}
sementara (gerakan1_pin>420)
{
Keyboard.tekan('w');
Keyboard.tekan('p');
}
while (gerakan2_pin>340&&gerakan2_pin<420)
{
Keyboard.tekan('w');
}
sementara (gerakan2_pin>420)
{
Keyboard.tekan('p');
Keyboard.tekan('w');
}
sementara (posture_pin>340&&posture_pin<420)
{
Keyboard.tekan('c');
}
sementara (postur_pin>420)
{
Keyboard.tekan('l');
}
sementara (postur_pin<340)
{
Keyboard.tekan('z');
}
sementara (nightvision_pin == TINGGI)
{
Keyboard.tekan('n');
}
}
}
Langkah 5: KODE UJI
Berikut adalah beberapa kode yang dibagi dari kode utama sesuai dengan fungsinya:
PENEMBAKAN-
#termasuk
intx;
batalkan pengaturan() {
pinMode(8, INPUT);
Mouse.mulai();
}
lingkaran kosong() {
x=digitalBaca(8);
jika(x==TINGGI)
{
Mouse.klik('g');
}
}
BERTUJUAN-
#termasuk
#termasuk
#termasuk
#termasuk
MPU6050 mpu;
int16_t kapak, ay, az, gx, gy, gz;
int vx, vy;
batalkan pengaturan() {
Serial.begin(9600);
Mouse.mulai();
Kawat.mulai();
mpu.initialize();
if (!mpu.testConnection()) {
sementara (1);
}
}
lingkaran kosong() {
shoot_pin = digitalRead(7);
aim_pin = digitalRead(8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = (gx+300)/200; // "+300" karena sumbu x giroskop memberikan nilai sekitar -350 saat tidak bergerak. Ubah nilai ini jika Anda mendapatkan sesuatu yang berbeda menggunakan kode TEST, chacking jika ada nilai yang jauh dari nol.
vy = -(gz_-100)/200; // sama di sini tentang "-100"
ULANG-
#termasuk
intx;
batalkan pengaturan() {
pinMode(8, INPUT);
Keyboard.mulai();
}
lingkaran kosong() {
x=digitalBaca(8);
jika(x==TINGGI)
{
Keyboard.tekan('r');
}
lain
{
Keyboard.release('r');
}
}
VISIO MALAM #termasuk
intx;
batalkan pengaturan() {
pinMode(8, INPUT);
Keyboard.mulai();
}
lingkaran kosong() {
x=digitalBaca(8);
jika(x==TINGGI)
{
Keyboard.tekan('g');
}
lain
{
Keyboard.release('g');
}
}
MENDEKAT DAN RENDAH-
#termasuk
int y;
batalkan pengaturan() {
pinMode(A0, INPUT);
Serial.begin(9600);
}
lingkaran kosong() {
y=analogBaca(A0);
jika(y<260)
{
Keyboard.release('c');
Keyboard.release('p');
}
lain jika(y>260&&y<310)
{
Keyboard.tekan('c');
}
lain jika(y>310)
{
Keyboard.tekan('p');
}
}
Langkah 6: KONTROL PERMAINAN
ubah kontrol permainan sebagai berikut
jongkok - x
rawan - l
perubahan senjata - q
lari cepat - p
berdiri/lompat - z
penglihatan malam - n
gerakan maju - w
granat - g
Langkah 7: MENYIAPKAN
Akhirnya kita sampai pada langkah terakhir sekarang pasang arduino
papan dalam kotak dan masukkan ke dalam tas
Sekarang hubungkan micro USB arduino ke port USB laptop sekarang hubungkan sensor seperti yang diarahkan di atas
*tanda panah pada gambar di atas menunjukkan arah yang harus dihadapi sensor
Jika Anda memiliki keraguan, jangan ragu untuk meninggalkan komentar dan jangan lupa untuk membagikan pengalaman Anda
Itu saja terima kasih dan
SELAMAT TINGGAL.
Direkomendasikan:
Remote Nirkabel Menggunakan Modul 2.4Ghz NRF24L01 Dengan Arduino - Penerima Pemancar 4 Saluran / 6 Saluran Nrf24l01 untuk Quadcopter - Helikopter Rc - Pesawat Rc Menggunakan Arduino: 5 Langkah (dengan Gambar)
Remote Nirkabel Menggunakan Modul 2.4Ghz NRF24L01 Dengan Arduino | Penerima Pemancar 4 Saluran / 6 Saluran Nrf24l01 untuk Quadcopter | Helikopter Rc | Pesawat Rc Menggunakan Arduino: Untuk mengoperasikan mobil Rc | Quadcopter | Drone | pesawat RC | RC boat, kita selalu membutuhkan receiver dan transmitter, misalkan untuk RC QUADCOPTER kita membutuhkan transmitter dan receiver 6 channel dan jenis TX dan RX itu terlalu mahal, jadi kami akan membuatnya di
Membuat UI Melengkung di Unity untuk Virtual Reality: 4 Langkah
Membuat UI Melengkung dalam Unity for Virtual Reality: Jika Anda mencari solusi gratis dan mudah untuk membuat antarmuka pengguna melengkung untuk Aplikasi Virtual Reality atau Game VR Anda, Anda berada di tempat yang tepat. Di blog ini Anda akan belajar membuat elemen ui melengkung dalam kesatuan menggunakan Ekstensi UI Unity
Mengatasi Tekanan Atmosfer Setelan: Gauntlet of Gripping: 8 Langkah
Mengatasi Suit Atmosperic Pressure: Gauntlet of Gripping: Beberapa waktu lalu saya melihat video youtube oleh Chris Hadfield. Antara lain, dia berbicara tentang, betapa beratnya pekerjaan selama perjalanan luar angkasa. Masalahnya bukan hanya setelannya yang kikuk, tetapi juga seperti balon, yang harus
Mobile Virtual Reality Menggunakan Processing for Android (TfCD): 7 Langkah (dengan Gambar)
Mobile Virtual Reality Using Processing for Android (TfCD): Virtual Reality (VR) adalah salah satu teknologi baru yang bisa menarik untuk produk masa depan. Ini memiliki banyak peluang dan Anda bahkan tidak memerlukan kacamata VR yang mahal (Oculus Rift). Ini mungkin tampak sangat sulit untuk dilakukan sendiri, tetapi dasar-dasarnya adalah
(Setelan) Mod kasus: 4 Langkah
(Suit) case Mod: Ini adalah kasus yang dimodifikasi untuk server pengembangan LAMP saya. Ini belum sepenuhnya selesai dan bahkan tidak memenuhi standar keamanan yang sederhana, tetapi menjalankan Linux dan terlihat bagus melakukannya. Awalnya saya memasukkan komputer ke dalam tas kulit, yang memberikan