Mục lục:
- Bước 1: Yêu cầu
- Bước 2: PHẦN CỨNG
- Bước 3: PHẦN MỀM
- Bước 4: MÃ CHÍNH
- Bước 5: KIỂM TRA MÃ
- Bước 6: ĐIỀU KHIỂN TRÒ CHƠI
- Bước 7: THIẾT LẬP
Video: Bộ đồ thực tế ảo sử dụng Arduino: 7 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Tôi đã tạo dự án này để chơi các trò chơi máy tính bình thường ở chế độ VR đầy đủ. Dự án này mô phỏng các chuyển động của bạn khi nhấn hoặc giữ các phím của bàn phím
Ví dụ- khi bạn di chuyển về phía trước, hành động nhấn phím 'w' được mô phỏng.
Mình đã giả lập game Call of Duty 4: Modern Warfare nhưng đừng chọn những game có độ giật khi bắn vì nó sẽ làm thay đổi vị trí mặc định của chuột
Bước 1: Yêu cầu
Yêu cầu là-
Có một danh sách đầy đủ những thứ bạn cần để may bộ đồ này
Cảm biến chạm-5
Cảm biến lực-1
GPU 6050 - 4
(hoặc)
GPU 6050 - 2 & Gia tốc kế - 2
Kính vr
Điện thoại hỗ trợ Vr
máy tính
Điểm phát sóng WiFi
Một khẩu súng đồ chơi
Một trò chơi dành cho máy tính (tôi đã sử dụng Call of Duty- Modern Warfare 1)
Dây bảng bánh mì (Nam-Nữ)
ARDUINO LEONARDO-2
Auton sheild - 2
Nguồn điện (lipo)
Dây cầu vồng
Bước 2: PHẦN CỨNG
* reload_pin, shoot_pin, night vision_pin, grenade_pin, change_pin vũ khí là những cảm biến cảm ứng. aim_pin là cảm biến lực và chuột được mô phỏng bởi MPU6050 các cảm biến khác là gia tốc kế (tư thế, chuyển động1 & 2)
1.1) BÁN HÀNG
SOLDER MPU 6050, Gia tốc kế, Cảm biến cảm ứng & cảm biến lực với dây
1.2) DÂY
Đối với MPU 6050-
Pin 2- SDA
Pin 3- SCL
GND - GND
5v - PWR / VCC
Đối với Movement_pin1-
Ghim A1- trục x
GND-GND
5v - PWR / VCC
Đối với Movement_pin2-
Chốt A2- trục x
GND-GND
5v - PWR / VCC
Đối với post_pin-
Chân A0- trục x
GND-GND
5v - PWR / VCC
cho vũ khí_pin -
sig-5v
GND-GND
5v - PWR / VCC
Đối với Nạp lại_pin -
pin12 - 5v
GND-GND
5v - PWR / VCC
Đối với Nightvision_pin -
chân 10 - 5v
GND-GND
5v - PWR / VCC
Đối với shoot_pin -
Pin7 - 5v
GND-GND
5v - PWR / VCC
Đối với aim_pin -
Pin 8 - 5v
5v - PWR / VCC
1.3) DÂY BÁN HÀNG
Hàn dây bảng bánh mì với dây cầu vồng
1.4) CÁCH NHIỆT
Dùng băng keo cách điện dán các đầu dây vào chỗ bạn đã hàn để tránh đoản mạch
Bước 3: PHẦN MỀM
Tôi đã sử dụng một ứng dụng có tên là 'Remotr' từ cửa hàng Play để truyền video từ máy tính xách tay sang điện thoại
2.1) REMOTR-
Cài đặt ứng dụng REMOTR vào máy tính của bạn và tạo tài khoản
Đây là liên kết-
remotrapp.com/#download
Cài đặt ứng dụng REMOTR trên điện thoại thông minh của bạn
2.2) PHÁT SÓNG VIDEO
Trước tiên, hãy kết nối cả máy tính và cùng một mạng WiFi và nhập tài khoản REMOTR của bạn vào cả hai thiết bị
bây giờ hãy thêm thủ công trò chơi mà bạn muốn phát trực tuyến trong phần mềm
bây giờ ứng dụng sẽ hiển thị máy tính khi quản trị viên nhấp vào nó để bắt đầu phát trực tuyến
Để phát trực tiếp trong VR, hãy bật chế độ vr trong điện thoại thông minh của bạn
Nếu bạn không thể hiểu Hãy kiểm tra liên kết này để biết thông tin chi tiết
remotrapp.com/en/howto
Bước 4: MÃ CHÍNH
Mã cho dự án này không khó hay phức tạp nhưng dài
Đây là mã chỉ cần sao chép nó và dán nó vào tệp arduino của bạn
ARDUINO
Chuột LEONARDO-
Tôi đã giới thiệu Gabry295. Mã chuột này dựa trên đầu chuột có thể hướng dẫn
#bao gồm
#bao gồm
#bao gồm
#bao gồm
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
trong khi (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; // Tôi đã đặt -300 và +490 vì mpu6050 của tôi hiển thị các giá trị này khi không di chuyển kiểm tra
vy = - (gz + 490) / 200; // kiểm tra mã của đầu chuột bởi Gabry295 để biết thêm chi tiết về các giá trị này
Mouse.move (vx, vy);
chậm trễ (20);
while (shoot_pin == CAO);
{
Click chuột();
}
while (aim_pin == CAO);
{
Click chuột();
}
}
Bàn phím Leonardo
#bao gồm
int Grenade;
int vũ khí;
int reload_pin;
int Movement1_pin;
int Movement2_pin;
int tư thế_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);
Bàn phím.begin ();
}
void loop ()
{
Grenade_pin = digitalRead (8);
vũ khí_pin = digitalRead (9);
movement1_pin = analogRead (A1);
movement2_pin = analogRead (A2);
post_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
nếu (lựu đạn == CAO)
{
Keyboard.press ('g');
}
trong khi (vũ khí_pin == CAO)
{
Keyboard.press ('q');
}
trong khi (reload_pin == HIGH)
{
Keyboard.press ('r');
}
trong khi (movement1_pin> 340 && movement1_pin <420)
{
Keyboard.press ('w');
}
trong khi (movement1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
trong khi (movement2_pin> 340 && movement2_pin <420)
{
Keyboard.press ('w');
}
trong khi (movement2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
trong khi (position_pin> 340 && pose_pin <420)
{
Keyboard.press ('c');
}
trong khi (position_pin> 420)
{
Keyboard.press ('l');
}
trong khi (position_pin <340)
{
Keyboard.press ('z');
}
trong khi (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Bước 5: KIỂM TRA MÃ
Dưới đây là một số mã được phân chia từ mã chính theo chức năng
CHỤP-
#bao gồm
int x;
void setup () {
pinMode (8, INPUT);
Mouse.begin ();
}
void loop () {
x = digitalRead (8);
nếu (x == CAO)
{
Mouse.click ('g');
}
}
AIMING-
#bao gồm
#bao gồm
#bao gồm
#bao gồm
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
trong khi (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx + 300) / 200; // "+300" vì trục x của con quay hồi chuyển cho giá trị khoảng -350 trong khi nó không di chuyển. Thay đổi giá trị này nếu bạn nhận được một cái gì đó khác bằng cách sử dụng mã TEST, theo dõi nếu có các giá trị khác 0.
vy = - (gz_-100) / 200; // tương tự ở đây về "-100"
RELOADING-
#bao gồm
int x;
void setup () {
pinMode (8, INPUT);
Bàn phím.begin ();
}
void loop () {
x = digitalRead (8);
nếu (x == CAO)
{
Keyboard.press ('r');
}
khác
{
Keyboard.release ('r');
}
}
NIGHT VISIO #include
int x;
void setup () {
pinMode (8, INPUT);
Bàn phím.begin ();
}
void loop () {
x = digitalRead (8);
nếu (x == CAO)
{
Keyboard.press ('g');
}
khác
{
Keyboard.release ('g');
}
}
CROUCH AND PRONE-
#bao gồm
int y;
void setup () {
pinMode (A0, INPUT);
Serial.begin (9600);
}
void loop () {
y = analogRead (A0);
nếu (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
khác nếu (y> 260 && y <310)
{
Keyboard.press ('c');
}
khác nếu (y> 310)
{
Keyboard.press ('p');
}
}
Bước 6: ĐIỀU KHIỂN TRÒ CHƠI
thay đổi các điều khiển trò chơi như sau
cúi xuống - x
nằm sấp - l
thay đổi vũ khí - q
chạy nước rút - p
đứng / nhảy - z
tầm nhìn ban đêm - n
chuyển động về phía trước - w
lựu đạn - g
Bước 7: THIẾT LẬP
Cuối cùng chúng ta đã đến bước cuối cùng bây giờ hãy đặt arduino
bảng trong hộp và nhét nó vào túi
Bây giờ kết nối micro USB của arduino với các cổng USB của máy tính xách tay, bây giờ kết nối các cảm biến như hướng dẫn ở trên
* dấu mũi tên trong các hình trên đại diện cho hướng mà cảm biến phải đối mặt
Nếu bạn có bất kỳ nghi ngờ nào đừng ngần ngại để lại bình luận và đừng quên chia sẻ kinh nghiệm của bạn
Đó là nó, cảm ơn bạn và
TỪ BIỆT.
Đề xuất:
Đồng hồ báo thức bong bóng giúp thức dậy thú vị (ish): 7 bước (có hình ảnh)
Đồng hồ báo thức bong bóng khiến thức dậy thú vị (ish): Thức dậy với một chiếc đồng hồ báo thức kêu inh ỏi. Tôi là một trong những người không thích thức dậy trước khi mặt trời tắt (hoặc đã ở ngoài nhiều giờ). Vì vậy, còn cách nào tốt hơn để làm cho việc thức dậy trở nên thú vị hơn là tổ chức một bữa tiệc bong bóng trên giường! Sử dụng arduino và
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: 10 bước (có hình ảnh)
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: Bạn đã bao giờ muốn có một chiếc đồng hồ thông minh chưa? Nếu vậy, đây là giải pháp cho bạn! Tôi đã làm Đồng hồ báo thức thông minh, đây là đồng hồ mà bạn có thể thay đổi thời gian báo thức theo trang web. Khi chuông báo thức kêu, sẽ có một âm thanh (còi) và 2 đèn sẽ
Orange PI Cách thực hiện: Thiết lập để sử dụng với màn hình LCD TFT 5 "HDMI: 8 bước (có hình ảnh)
Orange PI Hướng dẫn: Thiết lập để sử dụng với Màn hình LCD TFT 5 "HDMI: Nếu bạn đủ thận trọng để đặt mua Màn hình LCD TFT HDMI cùng với Orange PI của mình, bạn có thể chán nản vì những khó khăn trong việc cố gắng buộc nó hoạt động . Trong khi những người khác thậm chí không thể ghi nhận bất kỳ trở ngại nào. Điều quan trọng là có ở
Một cách thực sự đơn giản / dễ dàng / không phức tạp để làm cho con người / con người / động vật / rô bốt trông giống như họ có tầm nhìn nhiệt thực sự tuyệt vời / sáng sủa (Màu sắc do bạn lựa chọn) Sử dụng GIMP: 4 bước
Một cách thực sự đơn giản / dễ dàng / không phức tạp để làm cho con người / con người / động vật / rô bốt trông giống như họ có tầm nhìn nhiệt thực sự tuyệt vời / sáng sủa (Màu sắc do bạn lựa chọn) Sử dụng GIMP: Đọc … tiêu đề
Đồng hồ báo thức LED Sunrise với Báo thức bài hát có thể tùy chỉnh: 7 bước (có hình ảnh)
Đồng hồ báo thức LED Sunrise với báo thức bài hát có thể tùy chỉnh: Động lực của tôi Mùa đông này bạn gái tôi gặp rất nhiều khó khăn khi thức dậy vào buổi sáng và dường như đang bị SAD (Rối loạn cảm xúc theo mùa). Tôi thậm chí còn nhận thấy rằng việc thức dậy vào mùa đông khó khăn hơn bao nhiêu vì mặt trời chưa ló dạng