Table des matières:
- Fournitures
- Étape 1: Assembler
- Étape 2: Comment installer la bibliothèque ?
- Étape 3: Coder
- Étape 4: Jouez
Vidéo: Arduino Vr : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Bonjour, je m'appelle Christian et j'ai 13 ans. J'aime l'arduino et j'ai un talent pour cela alors voici mon instructable pour un arduino vr.
Fournitures
Fournitures:
1. Carte Arduino Mega, Due, Uno ou Yun.
2. Fils mâles à mâles (fils de connexion standard).
3. Petite planche à pain
4. USB
5. GY-521 MPU-6050
Optionnel:
6. Écran LCD 5,5 pouces 2560 * 1440 2K HDMI vers MIPI
7. Lentille de Fresnel Longueur focale 50mm
8. Imprimante 3D ou service d'imprimante 3D
Étape 1: Assembler
Utilisez le schéma pour l'assembler.
Étape 2: Comment installer la bibliothèque ?
Jetez un œil au Github: https://github.com/relativty/Relativ Vous pouvez soit l'installer à l'aide de Git, soit directement Télécharger.
Étape 3: Coder
// i2cdevlib et MPU6050 sont nécessaires:
// Un grand merci à l'incroyable Jeff Rowberg <3, allez voir son repo pour en savoir plus sur MPU6050. //================================================ ==============================
// I2Cdev et MPU6050 doivent être installés en tant que bibliothèques, sinon les fichiers.cpp/.h // pour les deux classes doivent être dans le chemin d'inclusion de votre projet
#include "Relativ.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif
MPU6050 mpu; Relatif relatif;
#define INTERRUPT_PIN 2
// Statut et contrôle de l'IMU: bool dmpReady = false; // true si l'initialisation DMP a réussi uint8_t mpuIntStatus; uint8_t devStatus; // 0 = succès, !0 = erreur uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer[64];
quaternion q; // [l, x, y, z]
volatile bool mpuInterrupt = false; // indique si la broche d'interruption MPU est devenue haute void dmpDataReady() { mpuInterrupt = true; }
void setup() { #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin(); Wire.setClock(400000); // Horloge I2C 400 kHz. Commentez cette ligne si vous rencontrez des difficultés de compilation #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire::setup(400, true); #fin si
relativ.startNative(); // "startNative" peut être utilisé pour un microcontrôleur à noyau ARM 32 bits avec USB natif comme Arduino DUE // qui est recommandé. // Relativ.start(); // "start" est pour les microcontrôleurs USB NON NATIFS, comme Arduino MEGA, Arduino UNO.. // Ceux-ci sont nettement plus lents. mpu.initialize(); pinMode(INTERRUPT_PIN, INPUT);
SerialUSB.println(mpu.testConnection() ? F("Connexion MPU6050 réussie"): F("Connexion MPU6050 échouée"));
// configurer le DMP devStatus = mpu.dmpInitialize();
// ================================== // fournissez vos propres décalages de gyroscope ici: // === =============================== mpu.setXGyroOffset (220); mpu.setYGyroOffset(76); mpu.setZGyroOffset(-85); mpu.setZAccelOffset(1788);
// devSTATus si tout a fonctionné correctement if (devStatus == 0) { // activer le DMP, maintenant qu'il est prêt mpu.setDMPEnabled(true);
// activer la détection d'interruption Arduino attachInterrupt(digitalPinToInterrupt(INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus();
dmpReady = vrai;
// obtenir la taille de paquet DMP attendue pour une comparaison ultérieure packetSize = mpu.dmpGetFIFOPacketSize(); } else { // ERREUR ! } }
void loop() { // Ne rien faire si DMP ne s'initialise pas correctement if (!dmpReady) return;
// attend que l'interruption MPU ou les paquets supplémentaires soient disponibles pendant que (!mpuInterrupt && fifoCount < packetSize) { }
// réinitialiser l'indicateur d'interruption et obtenir l'octet INT_STATUS mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus();
// obtenir le nombre FIFO actuel fifoCount = mpu.getFIFOCount();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) { mpu.resetFIFO(); } // vérifie les interruptions 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" peut être utilisé pour un microcontrôleur de base ARM 32 bits avec USB natif comme Arduino DUE // qui est recommandé. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" est pour les microcontrôleurs USB NON NATIFS, comme Arduino MEGA, Arduino UNO.. // Ceux-ci sont nettement plus lents. } }
Étape 4: Jouez
déplacer la petite planche à pain sur n'importe quel jeu de réalité virtuelle devrait faire pivoter la caméra
Conseillé:
Système d'alerte de stationnement en marche arrière Arduino - Étapes par étape : 4 étapes
Système d'alerte de stationnement en marche arrière Arduino | Étapes par étape : dans ce projet, je vais concevoir un circuit de capteur de stationnement inversé pour voiture Arduino simple à l'aide d'un capteur à ultrasons Arduino UNO et HC-SR04. Ce système d'alerte de marche arrière basé sur Arduino peut être utilisé pour une navigation autonome, une télémétrie de robot et d'autres r
Arduino Halloween Edition - Écran pop-out Zombies (étapes avec images) : 6 étapes
Arduino Halloween Edition - Écran pop-out Zombies (étapes avec images): Vous voulez effrayer vos amis et faire du bruit à Halloween? Ou vous voulez juste faire une bonne farce ? Cet écran pop-out Zombies peut le faire ! Dans ce Instructable, je vais vous apprendre à créer facilement des zombies sautés à l'aide d'Arduino. Le HC-SR0
Arduino Uno Fish Feeder en 6 étapes économiques et faciles ! : 6 étapes
Arduino Uno Fish Feeder en 6 étapes faciles et bon marché ! : Un peu d'histoire peut donc être nécessaire pour ce projet. Les personnes ayant des poissons de compagnie ont probablement été confrontées au même problème que moi : les vacances et l'oubli. J'oubliais constamment de nourrir mon poisson et je me débrouillais toujours pour le faire avant qu'il n'aille à s
Lévitation acoustique avec Arduino Uno étape par étape (8 étapes): 8 étapes
Lévitation acoustique avec Arduino Uno étape par étape (8 étapes) : transducteurs de sons à ultrasons L298N Alimentation adaptateur femelle CC avec une broche CC mâle Arduino UNOBreadboardComment cela fonctionne : Tout d'abord, vous téléchargez le code sur Arduino Uno (c'est un microcontrôleur équipé de et des ports analogiques pour convertir le code (C++)
Système d'alarme incendie utilisant Arduino [en quelques étapes faciles] : 3 étapes
Système d'alarme incendie utilisant Arduino [en quelques étapes faciles] : Vous cherchez à faire un projet simple et intéressant avec Arduino qui en même temps pourrait être vraiment utile et potentiellement sauver des vies ? Si oui, vous êtes au bon endroit pour apprendre quelque chose de nouveau et d'innovant. Dans cet article, nous allons