Πίνακας περιεχομένων:
- Βήμα 1: Απαιτήσεις
- Βήμα 2: HARDWARE
- Βήμα 3: ΛΟΓΙΣΜΙΚΟ
- Βήμα 4: ΚΥΡΙΟΣ ΚΩΔΙΚΟΣ
- Βήμα 5: ΚΩΔΙΚΟΙ ΔΟΚΙΜΗΣ
- Βήμα 6: ΕΛΕΓΧΟΙ ΠΑΙΧΝΙΔΙΟΥ
- Βήμα 7: ΡΥΘΜΙΣΗ
Βίντεο: Κοστούμι εικονικής πραγματικότητας με χρήση Arduino: 7 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Έχω δημιουργήσει αυτό το έργο για να παίζω κανονικά παιχνίδια στον υπολογιστή σε πλήρη VR. Αυτό το έργο μιμείται τις κινήσεις σας για να πατήσετε ή να κρατήσετε πατημένα τα πλήκτρα του πληκτρολογίου σας
Παράδειγμα- όταν προχωράτε μπροστά, εξομοιώνεται η ενέργεια του πατήματος του πλήκτρου "w".
Έχω μιμηθεί το παιχνίδι Call of Duty 4: Modern Warfare, αλλά μην επιλέγετε παιχνίδια που έχουν ανάκρουση κατά τη λήψη, επειδή θα αλλάξει την προεπιλεγμένη θέση του ποντικιού
Βήμα 1: Απαιτήσεις
Οι απαιτήσεις είναι-
Υπάρχει μια λίστα γεμάτη με πράγματα που χρειάζεστε για να φτιάξετε αυτό το κοστούμι
Αισθητήρες αφής-5
Αισθητήρας δύναμης-1
GPU 6050 - 4
(ή)
GPU 6050 - 2 & Επιταχυνσιόμετρο - 2
Vr γυαλιά
Τηλέφωνο με δυνατότητα Vr
Η / Υ
Ασύρματο σημείο σύνδεσης
Παιχνίδι όπλο
Ένα παιχνίδι pc (έχω χρησιμοποιήσει το Call of Duty- Modern Warfare 1)
Σύρματα σανίδας ψωμιού (αρσενικό-θηλυκό)
ARDUINO LEONARDO-2
Auton sheild - 2
Πηγή ενέργειας (lipo)
Σύρματα ουράνιου τόξου
Βήμα 2: HARDWARE
*reload_pin, shoot_pin, νυχτερινή όραση, pin, grenade_pin, όπλα αλλαγής_ακίδας είναι αισθητήρες αφής. Το target_pin είναι αισθητήρας δύναμης και το ποντίκι εξομοιώνεται με MPU6050 άλλοι αισθητήρες είναι επιταχυνσιόμετρο (στάση, κίνηση1 & 2)
1.1) ΣΥΓΚΟΛΛΗΣΗ
SOLDER MPU 6050, Επιταχυνσιόμετρο, Αισθητήρας αφής & αισθητήρας δύναμης με τα καλώδια
1.2) ΚΑΛΩΔΙΩΣΗ
Για MPU 6050-
Καρφίτσα 2- SDA
Καρφίτσα 3- SCL
GND - GND
5v - PWR/VCC
Για το move_pin1-
Πείρος A1- x άξονας
GND-GND
5v - PWR/VCC
Για move_pin2-
Pin A2- x άξονας
GND-GND
5v - PWR/VCC
Για στάση_καρφίτσα-
Πείρος A0- x άξονας
GND-GND
5v - PWR/VCC
για το pin_power -
sig-5v
GND-GND
5v - PWR/VCC
Για Reload_pin -
pin12 - 5v
GND-GND
5v - PWR/VCC
Για Nightvision_pin -
ακίδα 10 - 5v
GND-GND
5v - PWR/VCC
Για shoot_pin -
Pin7 - 5v
GND-GND
5v - PWR/VCC
Για pin_pin -
Καρφίτσα 8 - 5v
5v - PWR/VCC
1.3) ΣΥΓΚΟΛΛΗΣΗ ΚΑΛΩΔΙΩΝ
Συγκολλήστε τα καλώδια της σανίδας ψωμιού με τα σύρματα του ουράνιου τόξου
1.4) ΜΟΝΩΣΗ
Κολλήστε τα καλώδια με τη μονωτική ταινία στο σημείο που έχετε κολλήσει για να αποφύγετε βραχυκυκλώματα
Βήμα 3: ΛΟΓΙΣΜΙΚΟ
Έχω χρησιμοποιήσει μια εφαρμογή που ονομάζεται "Remotr" από το Play Store για να μεταδώσει το βίντεο από το φορητό υπολογιστή στο τηλέφωνο
2.1) REMOTR-
Εγκαταστήστε την εφαρμογή REMOTR στον υπολογιστή σας και δημιουργήστε έναν λογαριασμό
Ορίστε ο σύνδεσμος-
remotrapp.com/#download
Εγκαταστήστε την εφαρμογή REMOTR στο smartphone σας
2.2) VIDEO STREAMING
Συνδέστε πρώτα τον υπολογιστή και το ίδιο δίκτυο WiFi και εισαγάγετε τον λογαριασμό REMOTR και στις δύο συσκευές
τώρα προσθέστε χειροκίνητα το παιχνίδι που θέλετε να μεταδώσετε στο λογισμικό
τώρα η εφαρμογή θα εμφανίσει τον υπολογιστή ως διαχειριστής κάντε κλικ για να ξεκινήσει η ροή
Για ροή σε VR ενεργοποιήστε τη λειτουργία vr στο smartphone σας
Εάν δεν μπορείτε να καταλάβετε, ελέγξτε αυτόν τον σύνδεσμο για λεπτομερείς πληροφορίες
remotrapp.com/en/howto
Βήμα 4: ΚΥΡΙΟΣ ΚΩΔΙΚΟΣ
Ο κώδικας για αυτό το έργο δεν είναι σκληρός ή περίπλοκος αλλά μακρύς
Εδώ είναι ο κώδικας, απλώς αντιγράψτε τον και επικολλήστε τον στο αρχείο arduino
ARDUINO
Ποντίκι LEONARDO-
Έχω αναφέρει τον Gabry295. Αυτός ο κωδικός ποντικιού βασίζεται στο κεφάλι του Ποντίκι διδάσκοντας
#περιλαμβάνω
#περιλαμβάνω
#περιλαμβάνω
#περιλαμβάνω
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 ();
εάν (! mpu.testConnection ()) {
ενώ (1)?
}
pinMode (7, ΕΙΣΟΔΟΣ);
pinMode (8, ΕΙΣΟΔΟΣ);
}
void loop () {
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 για περισσότερες λεπτομέρειες σχετικά με αυτές τις τιμές
Mouse.move (vx, vy);
καθυστέρηση (20)?
while (shoot_pin == HIGH);
{
Mouse.click ();
}
ενώ (στόχος_καρφίτσα == Υ HIGHΗΛΗ);
{
Mouse.click ();
}
}
Πληκτρολόγιο Λεονάρντο
#περιλαμβάνω
int Χειροβομβίδα?
int arm_pin;
int reload_pin;
int Movement1_pin;
int Movement2_pin;
int posture_pin;
char nightvision_pin;
void setup ()
{
pinMode (7, ΕΙΣΟΔΟΣ);
pinMode (8, ΕΙΣΟΔΟΣ);
pinMode (9, ΕΙΣΟΔΟΣ);
pinMode (10, ΕΙΣΟΔΟΣ);
pinMode (11, ΕΙΣΟΔΟΣ);
pinMode (12, ΕΙΣΟΔΟΣ);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Keyboard.begin ();
}
κενός βρόχος ()
{
Grenade_pin = digitalRead (8);
arm_pin = digitalRead (9);
Movement1_pin = analogRead (A1);
Movement2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
αν (χειροβομβίδα == Υ HIGHΗΛΗ)
{
Keyboard.press ('g');
}
ενώ (arm_pin == HIGH)
{
Keyboard.press ('q');
}
while (reload_pin == HIGH)
{
Keyboard.press ('r');
}
ενώ (motion1_pin> 340 && Movement1_pin <420)
{
Keyboard.press ('w');
}
ενώ (motion1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
ενώ (motion2_pin> 340 && Movement2_pin <420)
{
Keyboard.press ('w');
}
ενώ (motion2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
ενώ (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
ενώ (post_pin> 420)
{
Keyboard.press ('l');
}
ενώ (καρφίτσα στάσης <340)
{
Keyboard.press ('z');
}
ενώ (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Βήμα 5: ΚΩΔΙΚΟΙ ΔΟΚΙΜΗΣ
Ακολουθούν οι λίγοι κωδικοί που χωρίζονται από τον κύριο κωδικό ανάλογα με τη λειτουργία
ΚΥΝΗΓΙ-
#περιλαμβάνω
int x;
void setup () {
pinMode (8, ΕΙΣΟΔΟΣ);
Mouse.begin ();
}
void loop () {
x = digitalRead (8);
εάν (x == Υ HIGHΟΣ)
{
Mouse.click ('g');
}
}
ΣΤΟΧΕΥΩ-
#περιλαμβάνω
#περιλαμβάνω
#περιλαμβάνω
#περιλαμβάνω
MPU6050 mpu.
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
εάν (! mpu.testConnection ()) {
ενώ (1)?
}
}
void loop () {
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"
RELOADING-
#περιλαμβάνω
int x;
void setup () {
pinMode (8, ΕΙΣΟΔΟΣ);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
αν (x == Υ HIGHΟΣ)
{
Keyboard.press ('r');
}
αλλού
{
Keyboard.release ('r');
}
}
NIGHT VISIO #Include
int x;
void setup () {
pinMode (8, ΕΙΣΟΔΟΣ);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
εάν (x == Υ HIGHΟΣ)
{
Keyboard.press ('g');
}
αλλού
{
Keyboard.release ('g');
}
}
CROUCH AND PRONE-
#περιλαμβάνω
int y?
void setup () {
pinMode (A0, INPUT);
Serial.begin (9600);
}
void loop () {
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
επιρρεπής - l
αλλαγή όπλου - q
σπριντ - σελ
στάση/άλμα - z
νυχτερινή όραση - n
κίνηση προς τα εμπρός - w
χειροβομβίδα - ζ
Βήμα 7: ΡΥΘΜΙΣΗ
Τελικά φτάσαμε στο τελευταίο βήμα τώρα βάλτε το arduino
σανίδες σε ένα κουτί και βάλτε το στην τσάντα
Τώρα συνδέστε το micro USB του arduino στις θύρες USB του φορητού υπολογιστή, τώρα συνδέστε τους αισθητήρες όπως αναφέρεται παραπάνω
*Τα σημάδια βέλους στις παραπάνω εικόνες αντιπροσωπεύουν την κατεύθυνση που πρέπει να κοιτάξει ο αισθητήρας
Εάν έχετε αμφιβολίες, μη διστάσετε να αφήσετε ένα σχόλιο και μην ξεχάσετε να μοιραστείτε την εμπειρία σας
Αυτό είναι ευχαριστώ και
ΑΝΤΙΟ.
Συνιστάται:
Ελεγχόμενο εικονικής πραγματικότητας αυτοκίνητο RC: 9 βήματα
Εικονική πραγματικότητα ελεγχόμενη RC Car: Θέλατε ποτέ να συρρικνωθείτε και να πιλοτάρετε ένα σκάφος όπως το Innerspace ή το Fantastic Voyage; Λοιπόν, νομίζω ότι αυτό είναι τόσο κοντά όσο θα πάρετε σύντομα! Εδώ είναι το γήπεδο: Ένα τηλεχειριστήριο πραγματικής ζωής με πιλότο από μια εικονική πραγματικότητα
Αναπηδήσει πίσω ! Παιχνίδι εικονικής πραγματικότητας με χρήση Arduino & Acclerometer: 9 βήματα
Αναπηδήσει πίσω ! Παιχνίδι εικονικής πραγματικότητας χρησιμοποιώντας Arduino & Acclerometer: Σε αυτό το σεμινάριο θα δημιουργήσουμε ένα παιχνίδι εικονικής πραγματικότητας χρησιμοποιώντας Arduino και Acclerometer
Ακουστικά εικονικής πραγματικότητας-Google Cardboard: 4 βήματα
Ακουστικά εικονικής πραγματικότητας-Χαρτόνι Google: Γεια σας παιδιά εδώ είναι ένα απλό σεμινάριο για το πώς να φτιάξετε το Google Cardboard, ένα σπιτικό ακουστικό εικονικής πραγματικότητας. Θα είναι ενοχλητικό να παρακολουθήσετε μια ταινία τρόμου σε αυτό το ακουστικό. Επίσης το βίντεο με το roller coaster θα είναι μια αξέχαστη εμπειρία. Προειδοποίηση
Φτιάξτε τα δικά σας γυαλιά εικονικής πραγματικότητας: 4 βήματα
Φτιάξτε τα δικά σας γυαλιά εικονικής πραγματικότητας: Υλικά:- Χάρτινο κουτί παπουτσιών- isαλίδι / μαχαίρι X-Acto- 2 αμφίκυρτοι φακοί 45 mm- 4 λωρίδες Velcro- Gluestick
Γυαλιά εικονικής και μικτής πραγματικότητας: 15 βήματα (με εικόνες)
Γυαλιά εικονικής και μικτής πραγματικότητας: Εισαγωγή: Κατά τη διάρκεια του κύριου μαθήματος Technology for Concept Design μας ζητήθηκε να διερευνήσουμε μια αναδυόμενη τεχνολογία που ταιριάζει στο κύριο έργο μας και να δοκιμάσουμε αυτήν την τεχνολογία φτιάχνοντας ένα πρωτότυπο. Οι τεχνολογίες που επιλέξαμε είναι και οι δύο Virtual reali