Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Συναρμολόγηση
- Βήμα 2: Πώς να εγκαταστήσετε τη βιβλιοθήκη;
- Βήμα 3: Κωδικός
- Βήμα 4: Παίξτε
Βίντεο: Arduino Vr: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Γεια Με λένε Κρίστιαν και είμαι 13 ετών. Λατρεύω το arduino και έχω ένα ταλέντο γι 'αυτό, εδώ είναι το διδακτικό μου για ένα arduino vr.
Προμήθειες
Προμήθειες:
1. Arduino board Mega, Due, Uno ή Yun.
2. Σύρματα από αρσενικά σε αρσενικά (τυπικά καλώδια άλτη).
3. Μικρή σανίδα ψωμιού
4. USB
5. GY-521 MPU-6050
Προαιρετικός:
6. Οθόνη LCD 5,5 ιντσών 2560*1440 2K HDMI σε MIPI
7. Φακός Fresnel Εστιακό μήκος 50mm
8. Τρισδιάστατος εκτυπωτής ή υπηρεσία τρισδιάστατου εκτυπωτή
Βήμα 1: Συναρμολόγηση
Χρησιμοποιήστε το σχηματικό για να το συνδυάσετε.
Βήμα 2: Πώς να εγκαταστήσετε τη βιβλιοθήκη;
Ρίξτε μια ματιά στο Github: https://github.com/relativty/Relativ Μπορείτε είτε να το εγκαταστήσετε χρησιμοποιώντας το Git είτε να το κατεβάσετε απευθείας.
Βήμα 3: Κωδικός
// i2cdevlib και MPU6050 χρειάζονται:
// Ευχαριστώ πολύ τον εκπληκτικό Jeff Rowberg <3, ελέγξτε το repo του για να μάθετε περισσότερα MPU6050. // =============================================== =============================
// I2Cdev και MPU6050 πρέπει να εγκατασταθούν ως βιβλιοθήκες, αλλιώς τα αρχεία.cpp/.h // και για τις δύο τάξεις πρέπει να βρίσκονται στη διαδρομή συμπερίληψης του έργου σας
#include "Relativ.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif
MPU6050 mpu. Σχετική σχετικότητα;
#define INTERRUPT_PIN 2
// Κατάσταση και έλεγχος IMU: bool dmpReady = false; // true αν το DMP init ήταν επιτυχές uint8_t mpuIntStatus. uint8_t devStatus; // 0 = επιτυχία,! 0 = σφάλμα uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Quaternion q; // [w, x, y, z]
πτητικό bool mpuInterrupt = false; // υποδεικνύει εάν ο πείρος διακοπής MPU έχει πάει πολύ void dmpDataReady () {mpuInterrupt = true; }
void setup () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // ρολόι I2C 400kHz. Σχολιάστε αυτήν τη γραμμή εάν αντιμετωπίζετε δυσκολίες στη σύνταξη #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, true); #τέλος εαν
relativ.startNative (); // Το "startNative" μπορεί να χρησιμοποιηθεί για μικροελεγκτή πυρήνα ARM 32-bit με εγγενή USB όπως το Arduino DUE // που συνιστάται. // Relativ.start (); // "Έναρξη" είναι για ΜΙΚΡΟ-μικροελεγκτή USB, όπως Arduino MEGA, Arduino UNO.. // Αυτά είναι σημαντικά πιο αργά. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("Η σύνδεση MPU6050 είναι επιτυχής"): F ("Η σύνδεση MPU6050 απέτυχε"));
// διαμορφώστε το DMP devStatus = mpu.dmpInitialize ();
// ================================== // παρέχετε τις δικές σας αντισταθμίσεις γυροσυστήματος εδώ: // === =============================== mpu.setXGyroOffset (220) · mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus εάν όλα λειτουργούσαν σωστά εάν (devStatus == 0) {// ενεργοποιήσετε το DMP, τώρα που είναι έτοιμο mpu.setDMPEnabled (true);
// ενεργοποίηση Arduino interrupt detection attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = true;
// λάβετε το αναμενόμενο μέγεθος πακέτου DMP για μεταγενέστερη σύγκριση packetSize = mpu.dmpGetFIFOPacketSize (); } else {// ERROR! }}
void loop () {// Μην κάνετε τίποτα εάν το DMP δεν αρχικοποιήσει σωστά εάν (! dmpReady) επιστρέψει.
// περιμένετε να είναι διαθέσιμη η διακοπή MPU ή επιπλέον πακέτα (ες) όσο (! mpuInterrupt && fifoCount <packetSize) {}
// επαναφορά σημαίας διακοπής και λήψη INT_STATUS byte mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// λάβετε τον τρέχοντα αριθμό FIFO fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // έλεγχος για διακοπή else if (mpuIntStatus & 0x02) {while (fifoCount <packetSize) fifoCount = mpu.getFIFOCount (); mpu.getFIFOBytes (fifoBuffer, packetSize); fifoCount -= packetSize; mpu.dmpGetQuaternion (& q, fifoBuffer); relativ.updateOrientationNative (q.x, q.y, q.z, q.w, 4); // updateOrientationNative "μπορεί να χρησιμοποιηθεί για μικρο-ελεγκτή πυρήνα ARM 32-bit με εγγενή USB όπως το Arduino DUE // που συνιστάται. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" είναι για μη-φυσικό μικροελεγκτή USB, όπως το Arduino MEGA, το Arduino UNO.. // Αυτά είναι σημαντικά πιο αργά. }}
Βήμα 4: Παίξτε
η μετακίνηση του μικρού πίνακα σε οποιοδήποτε παιχνίδι vr πρέπει να περιστρέψει την κάμερα
Συνιστάται:
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino - Βήματα βήμα προς βήμα: 4 βήματα
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino | Βήματα βήμα προς βήμα: Σε αυτό το έργο, θα σχεδιάσω ένα απλό κύκλωμα αισθητήρα στάθμευσης αντίστροφης στάθμευσης αυτοκινήτου Arduino χρησιμοποιώντας Arduino UNO και υπερηχητικό αισθητήρα HC-SR04. Αυτό το σύστημα ειδοποίησης αυτοκινήτου με βάση το Arduino μπορεί να χρησιμοποιηθεί για αυτόνομη πλοήγηση, κλίμακα ρομπότ και άλλα εύρη
Arduino Halloween Edition - Pop -out Screen Zombies (Βήματα με Εικόνες): 6 Βήματα
Arduino Halloween Edition - Pop -out Screen Zombies (Βήματα με Εικόνες): Θέλετε να τρομάξετε τους φίλους σας και να κάνετε κάποιο ουρλιαχτό θόρυβο στις Απόκριες; Or απλά θέλετε να κάνετε μια καλή φάρσα; Αυτή η αναδυόμενη οθόνη Zombies μπορεί να το κάνει αυτό! Σε αυτό το Instructable θα σας διδάξω πώς να φτιάχνετε εύκολα Zombies χρησιμοποιώντας το Arduino. Το HC-SR0
Arduino Uno Fish Feeder σε 6 φθηνά και εύκολα βήματα !: 6 βήματα
Arduino Uno Fish Feeder σε 6 φθηνά και εύκολα βήματα!: Λοιπόν, μπορεί να χρειαστεί λίγη ιστορία για αυτό το έργο. Οι άνθρωποι με κατοικίδια ψάρια πιθανότατα παρουσιάστηκαν με το ίδιο πρόβλημα με εμένα: διακοπές και λήθη. Ξεχνούσα συνεχώς να ταΐζω τα ψάρια μου και πάντα προσπαθούσα να το κάνω πριν πάει
Ακουστική Αλλαγή με Arduino Uno Βήμα προς βήμα (8 βήματα): 8 Βήματα
Acoustic Levitation With Arduino Uno Βήμα προς βήμα (8 βήματα): υπερηχητικοί μετατροπείς ήχου L298N DC τροφοδοτικό θηλυκού με αρσενικό dc pin Arduino UNOBreadboardΠώς λειτουργεί: Πρώτα, ανεβάζετε κώδικα στο Arduino Uno (είναι ένας μικροελεγκτής εξοπλισμένος με ψηφιακό και αναλογικές θύρες για μετατροπή κώδικα (C ++)
Σύστημα συναγερμού πυρκαγιάς χρησιμοποιώντας Arduino [Σε λίγα εύκολα βήματα]: 3 βήματα
Σύστημα συναγερμού πυρκαγιάς χρησιμοποιώντας Arduino [Σε λίγα εύκολα βήματα]: Θέλετε να κάνετε ένα απλό και ενδιαφέρον έργο με το Arduino, το οποίο ταυτόχρονα θα μπορούσε να είναι πραγματικά χρήσιμο και δυνητικά σωτήρια; Εάν ναι, έχετε έρθει στο σωστό μέρος για να μάθετε κάτι νέο και καινοτόμο. Σε αυτήν την ανάρτηση πάμε