Სარჩევი:
- ნაბიჯი 1: მოთხოვნები
- ნაბიჯი 2: HARDWARE
- ნაბიჯი 3: პროგრამული უზრუნველყოფა
- ნაბიჯი 4: ძირითადი კოდი
- ნაბიჯი 5: ტესტის კოდები
- ნაბიჯი 6: თამაშის კონტროლი
- ნაბიჯი 7: დაყენება
ვიდეო: ვირტუალური რეალობის სარჩელი Arduino– ს გამოყენებით: 7 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
მე შევქმენი ეს პროექტი ნორმალური კომპიუტერული თამაშების სრულ 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)
პურის დაფის მავთულები (კაცი-ქალი)
არდუინო ლეონარდო -2
ავტომობილის შელი - 2
დენის წყარო (ლიპო)
ცისარტყელას მავთულები
ნაბიჯი 2: HARDWARE
*გადატვირთვა_პინი, სროლა_პინი, ღამის ხედვის_პინი, ყუმბარა_პინი, იარაღის შესაცვლელი პინი არის შეხების სენსორები. aim_pin არის ძალის სენსორი და თაგვის იმიტაცია ხდება MPU6050– ით, სხვა სენსორები არის ამაჩქარებელი (პოზა, მოძრაობა 1 და 2)
1.1) შედუღება
SOLDER MPU 6050, ამაჩქარებელი, შეხების სენსორი და ძალის სენსორი მავთულხლართებით
1.2) გაყვანილობა
MPU 6050-
პინი 2- SDA
Pin 3- SCL
GND - GND
5v - PWR/VCC
მოძრაობის_პინისთვის -1-
Pin A1- x ღერძი
GND-GND
5v - PWR/VCC
მოძრაობის_ pin2-
Pin A2- x ღერძი
GND-GND
5v - PWR/VCC
პოზირებისათვის_ ქინძისთავისთვის-
Pin A0- x ღერძი
GND-GND
5v - PWR/VCC
იარაღის_ პინისთვის -
სიგ -5 ვ
GND-GND
5v - PWR/VCC
Reload_pin– ისთვის -
pin12 - 5 ვ
GND-GND
5v - PWR/VCC
Nightvision_pin– ისთვის -
პინი 10 - 5 ვ
GND-GND
5v - PWR/VCC
Shoot_pin– ისთვის -
პინ 7 - 5 ვ
GND-GND
5v - PWR/VCC
მიზანი_ პინისთვის -
პინი 8 - 5 ვ
5v - PWR/VCC
1.3) მავთულის შედუღება
შეაერთეთ პურის დაფის მავთულები ცისარტყელას მავთულხლართებით
1.4) იზოლაცია
დააწებეთ მავთულები საიზოლაციო ლენტით იმ ადგილას, სადაც შედგით მოკლე ჩართვის თავიდან ასაცილებლად
ნაბიჯი 3: პროგრამული უზრუნველყოფა
მე გამოვიყენე აპლიკაცია სახელწოდებით "Remotr" Play Store– დან, რომ გადავიღო ვიდეო ლეპტოპიდან ტელეფონში
2.1) REMOTR-
დააინსტალირეთ REMOTR პროგრამა თქვენს კომპიუტერში და შექმენით ანგარიში
აი ლინკი-
remotrapp.com/# ჩამოტვირთვა
დააინსტალირეთ REMOTR აპლიკაცია თქვენს სმარტფონში
2.2) ვიდეო სტრიმინგი
ჯერ დააკავშირეთ როგორც კომპიუტერი, ასევე ერთი და იგივე WiFi ქსელი და შეიყვანეთ თქვენი REMOTR ანგარიში ორივე მოწყობილობაში
ახლა ხელით დაამატეთ თამაში, რომლის გადაცემა გსურთ პროგრამულ უზრუნველყოფაში
ახლა აპლიკაცია აჩვენებს კომპიუტერს ადმინისტრატორად, დააწკაპუნეთ მასზე, რომ დაიწყოთ ნაკადი
VR სტრიმინგისთვის ჩართეთ vr რეჟიმი თქვენს სმარტფონში
თუ ვერ გაიგეთ, შეამოწმეთ ეს ბმული დეტალური ინფორმაციისთვის
remotrapp.com/en/howto
ნაბიჯი 4: ძირითადი კოდი
ამ პროექტის კოდი არ არის რთული ან რთული, არამედ გრძელი
აქ არის კოდი, უბრალოდ დააკოპირეთ და ჩასვით თქვენს arduino ფაილში
არდუინო
ლეონარდო თაგვი-
მე განვიხილე გაბრი 295. ეს თაგვის კოდი დაფუძნებულია მის თავზე თაგვის ინსტრუქციულად
#ჩართეთ
#ჩართეთ
#ჩართეთ
#ჩართეთ
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
სერიული.დაწყება (9600);
თაგვი. დაწყება ();
Wire.begin ();
mpu. ინიციალიზაცია ();
თუ (! mpu.testConnection ()) {
ხოლო (1);
}
pinMode (7, INPUT);
pinMode (8, INPUT);
}
ბათილი მარყუჟი () {
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– ის ხელმძღვანელი თაგვის კოდი ამ ღირებულებების შესახებ დამატებითი ინფორმაციისათვის
თაგვი. გადაადგილება (vx, vy);
დაგვიანება (20);
ხოლო (shoot_pin == HIGH);
{
Mouse.click ();
}
ხოლო (target_pin == HIGH);
{
Mouse.click ();
}
}
ლეონარდო კლავიატურა
#ჩართეთ
int ყუმბარა;
int იარაღის_ პინი;
int reload_pin;
int მოძრაობა 1_პინი;
int მოძრაობა 2_ პინი;
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);
კლავიატურა. დაწყება ();
}
ბათილი მარყუჟი ()
{
Grenade_pin = digitalRead (8);
arm_pin = digitalRead (9);
მოძრაობა 1_პინი = analogRead (A1);
Movement2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
თუ (ყუმბარა == მაღალი)
{
Keyboard.press ('g');
}
ხოლო (იარაღის_ პინი == მაღალი)
{
Keyboard.press ('q');
}
ხოლო (reload_pin == HIGH)
{
Keyboard.press ('r');
}
ხოლო (მოძრაობა 1_პინი> 340 && მოძრაობა 1_ პინი <420)
{
Keyboard.press ('w');
}
ხოლო (მოძრაობა 1_პინი> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
ხოლო (მოძრაობა 2_პინი> 340 && მოძრაობა 2_ პინი <420)
{
Keyboard.press ('w');
}
ხოლო (მოძრაობა 2_პინი> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
ხოლო (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
ხოლო (posture_pin> 420)
{
Keyboard.press ('l');
}
ხოლო (posture_pin <340)
{
Keyboard.press ('z');
}
ხოლო (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
ნაბიჯი 5: ტესტის კოდები
აქ არის რამოდენიმე კოდი დაყოფილი ძირითადი კოდიდან ფუნქციის მიხედვით
სროლა-
#ჩართეთ
int x;
void setup () {
pinMode (8, INPUT);
თაგვი. დაწყება ();
}
ბათილი მარყუჟი () {
x = digitalRead (8);
თუ (x == მაღალი)
{
Mouse.click ('g');
}
}
მიზანი-
#ჩართეთ
#ჩართეთ
#ჩართეთ
#ჩართეთ
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
სერიული.დაწყება (9600);
თაგვი. დაწყება ();
Wire.begin ();
mpu. ინიციალიზაცია ();
თუ (! mpu.testConnection ()) {
ხოლო (1);
}
}
ბათილი მარყუჟი () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300", რადგან გიროსკოპის x ღერძი იძლევა მნიშვნელობებს დაახლოებით -350 ხოლო ის არ მოძრაობს. შეცვალეთ ეს მნიშვნელობა, თუ თქვენ მიიღებთ რაიმე განსხვავებულს TEST კოდის გამოყენებით, დაათვალიერეთ თუ არის მნიშვნელობები ნულისგან შორს.
vy = -(gz_ -100)/200; // იგივე აქ "-100"
გადატვირთვა-
#ჩართეთ
int x;
void setup () {
pinMode (8, INPUT);
კლავიატურა. დაწყება ();
}
ბათილი მარყუჟი () {
x = digitalRead (8);
თუ (x == მაღალი)
{
Keyboard.press ('r');
}
სხვა
{
Keyboard.release ('r');
}
}
NIGHT VISIO #მოიცავს
int x;
void setup () {
pinMode (8, INPUT);
კლავიატურა. დაწყება ();
}
ბათილი მარყუჟი () {
x = digitalRead (8);
თუ (x == მაღალი)
{
Keyboard.press ('g');
}
სხვა
{
Keyboard.release ('g');
}
}
კრუჩი და წინასწარმეტყველება-
#ჩართეთ
int y;
void setup () {
pinMode (A0, INPUT);
სერიული.დაწყება (9600);
}
ბათილი მარყუჟი () {
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
მიდრეკილი - ლ
იარაღის შეცვლა - ქ
სპრინტი - გვ
დგომა/ხტომა - ზ
ღამის ხედვა - n
წინსვლა - w
ყუმბარა - გ
ნაბიჯი 7: დაყენება
საბოლოოდ ჩვენ მივედით ბოლო საფეხურზე, ახლა დააყენეთ არდუინო
დაფები ყუთში და გადაიტანეთ იგი ჩანთაში
ახლა დააკავშირეთ arduino– ს მიკრო USB დ ლეპტოპის USB პორტებთან, ახლა დააკავშირეთ სენსორები, როგორც ეს ზემოთ იყო მითითებული
*ზემოთ სურათებზე ისრის ნიშნები წარმოადგენს სენსორის მიმართულების მიმართულებას
თუ თქვენ გაქვთ რაიმე ეჭვი, ნუ დააყოვნებთ კომენტარის დატოვებას და არ დაგავიწყდეთ თქვენი გამოცდილების გაზიარება
ესე იგი მადლობა და
ᲜᲐᲮᲕᲐᲛᲓᲘᲡ.
გირჩევთ:
ვირტუალური რეალობის კონტროლირებადი RC მანქანა: 9 ნაბიჯი
ვირტუალური რეალობის კონტროლირებადი RC მანქანა: გსურდათ ოდესმე შემცირება და პილოტირება ისეთი ხელნაკეთობების მსგავსად, როგორიცაა Innerspace ან Fantastic Voyage? მე ვფიქრობ, რომ ეს იმდენად ახლოსაა, რამდენადაც თქვენ აპირებთ მოკლე შეტყობინების მიღებას
დაუბრუნდი უკან! ვირტუალური რეალობის თამაში Arduino & Acclerometer– ის გამოყენებით: 9 ნაბიჯი
დაუბრუნდი უკან! ვირტუალური რეალობის თამაში Arduino & Acclerometer– ის გამოყენებით: ამ გაკვეთილში ჩვენ შევქმნით ვირტუალური რეალობის თამაშს Arduino და Acclerometer– ის გამოყენებით
ვირტუალური რეალობის ერთობაში მრუდი ინტერფეისის შექმნა: 4 ნაბიჯი
ვირტუალური რეალობის ერთობაში მრუდი ინტერფეისის შექმნა: თუ თქვენ ეძებთ უფასო და მარტივ გადაწყვეტას თქვენი ვირტუალური რეალობის აპლიკაციის ან VR თამაშის მოსახვევი ინტერფეისის შესაქმნელად, თქვენ სწორ ადგილას ხართ. ამ ბლოგში თქვენ ისწავლით შექმნათ მრუდე ui ელემენტი ერთიანობაში Unity UI გაფართოებების გამოყენებით
ვირტუალური რეალობის ყურსასმენი-Google მუყაო: 4 ნაბიჯი
ვირტუალური რეალობის ყურსასმენი-Google მუყაო: გამარჯობა ბიჭებო აქ არის მარტივი გაკვეთილი, თუ როგორ უნდა გააკეთოთ Google Cardboard, ხელნაკეთი ვირტუალური რეალობის ყურსასმენი. ამ ყურსასმენში საშინელებათა ფილმის ყურება იქნება დამთრგუნველი. ასევე ატრაქციონებით გასეირნება ვიდეო იქნება დაუვიწყარი გამოცდილება. გაფრთხილება
ვირტუალური და შერეული რეალობის სათვალეები: 15 ნაბიჯი (სურათებით)
ვირტუალური და შერეული რეალობის სათვალეები: შესავალი: სამაგისტრო კურსის კონცეფციის დიზაინის ტექნოლოგია ჩვენ გვთხოვეს გამოგვეხილა განვითარებადი ტექნოლოგია, რომელიც შეესაბამება ჩვენს მთავარ პროექტს და გამოვცადოთ ეს ტექნოლოგია პროტოტიპის შექმნით. ჩვენ მიერ არჩეული ტექნოლოგიები ორივე ვირტუალური რეალობაა