Tabla de contenido:
Video: Arduino Vr: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Hola Mi nombre es Christian y tengo 13 años. Me encanta arduino y tengo talento para ello, así que aquí está mi instructable para un arduino vr.
Suministros
Suministros:
1. Placa Arduino Mega, Due, Uno o Yun.
2. Cables macho a macho (cables de puente estándar).
3. Placa de pruebas pequeña
4. USB
5. GY-521 MPU-6050
Opcional:
6. Pantalla LCD HDMI de 5.5 pulgadas 2560 * 1440 2K a MIPI
7. Longitud focal de la lente Fresnel 50 mm
8. Impresora 3D o servicio de impresora 3D
Paso 1: ensamblar
Usa el esquema para armarlo.
Paso 2: ¿Cómo instalar la biblioteca?
Eche un vistazo a Github: https://github.com/relativty/Relativ Puede instalarlo usando Git o descarga directa.
Paso 3: Código
// Se necesitan i2cdevlib y MPU6050:
// Muchas gracias al increíble Jeff Rowberg <3, revisa su repositorio para obtener más información sobre MPU6050. // ============================================== =============================
// I2Cdev y MPU6050 deben instalarse como bibliotecas o, de lo contrario, los archivos.cpp /.h // para ambas clases deben estar en la ruta de inclusión de su proyecto
#include "Relativ.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif
MPU6050 mpu; Relativ relativ;
#define INTERRUPT_PIN 2
// Estado y control de la IMU: bool dmpReady = false; // verdadero si DMP init fue exitoso uint8_t mpuIntStatus; uint8_t devStatus; // 0 = éxito,! 0 = error uint16_t packetSize; uint16_t FIFoCount; uint8_t FIFoBuffer [64];
Quaternion q; // [W x Y Z]
volátil bool mpuInterrupt = false; // indica si el pin de interrupción de MPU se ha elevado void dmpDataReady () {mpuInterrupt = true; }
configuración vacía () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // Reloj I2C de 400 kHz. Comente esta línea si tiene dificultades de compilación #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, true); #terminara si
relativ.startNative (); // "startNative" se puede utilizar para un microcontrolador de núcleo ARM de 32 bits con Native USB como Arduino DUE // que se recomienda. // Relativ.start (); // "start" es para microcontroladores USB NO NATIVOS, como Arduino MEGA, Arduino UNO.. // Esos son significativamente más lentos. mpu.initialize (); pinMode (INTERRUPT_PIN, ENTRADA);
SerialUSB.println (mpu.testConnection ()? F ("Conexión MPU6050 exitosa"): F ("Error de conexión MPU6050"));
// configura el DMP devStatus = mpu.dmpInitialize ();
// ================================== // proporcione sus propias compensaciones de giroscopio aquí: // === =============================== mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus si todo funcionó correctamente if (devStatus == 0) {// enciende el DMP, ahora que está listo mpu.setDMPEnabled (true);
// habilita la detección de interrupciones de Arduino attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = verdadero;
// obtener el tamaño de paquete DMP esperado para una comparación posterior packetSize = mpu.dmpGetFIFOPacketSize (); } else {// ¡ERROR! }}
void loop () {// No hacer nada si DMP no se inicializa correctamente if (! dmpReady) return;
// espera a que la interrupción de MPU o los paquetes adicionales estén disponibles mientras (! mpuInterrupt && FIFoCount <packetSize) {}
// restablecer el indicador de interrupción y obtener el byte INT_STATUS mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// obtener el recuento FIFO actual FIFOCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || FifoCount == 1024) {mpu.resetFIFO (); } // verifica la interrupción else if (mpuIntStatus & 0x02) {while (FifoCount <tamaño del paquete) FIFoCount = mpu.getFIFOCount (); mpu.getFIFOBytes (FifoBuffer, packetSize); FifoCount - = tamaño del paquete; mpu.dmpGetQuaternion (& q, FIFoBuffer); relativ.updateOrientationNative (q.x, q.y, q.z, q.w, 4); // updateOrientationNative "se puede usar para microcontroladores ARM core de 32 bits con Native USB como Arduino DUE // que se recomienda. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" es para microcontroladores USB NO NATIVOS, como Arduino MEGA, Arduino UNO.. // Esos son significativamente más lentos. }}
Paso 4: jugar
mover la pequeña placa de pruebas en cualquier juego de realidad virtual debería girar la cámara
Recomendado:
Arduino Halloween Edition - Pantalla emergente de zombis (pasos con imágenes): 6 pasos
Arduino Halloween Edition - Pantalla emergente de zombis (pasos con imágenes): ¿Quieres asustar a tus amigos y hacer un ruido de gritos en Halloween? ¿O simplemente quieres hacer una buena broma? ¡Esta pantalla emergente de Zombies puede hacer eso! En este Instructable, te enseñaré cómo hacer zombis saltarines fácilmente usando Arduino. El HC-SR0
Alimentador de peces Arduino Uno en 6 pasos baratos y sencillos: 6 pasos
¡Alimentador de peces Arduino Uno en 6 pasos baratos y fáciles !: Por lo tanto, es posible que se necesite un poco de historia de fondo para este proyecto. A las personas con peces de compañía probablemente se les presentó el mismo problema que yo: vacaciones y olvidos. Constantemente me olvidaba de alimentar a mis peces y siempre me apresuraba a hacerlo antes de que pasara a
Levitación acústica con Arduino Uno paso a paso (8 pasos): 8 pasos
Levitación acústica con Arduino Uno paso a paso (8 pasos): transductores de sonido ultrasónicos Adaptador hembra de CC L298N Fuente de alimentación con un pin macho de CC Arduino UNOBreadboard Cómo funciona: Primero, carga el código en Arduino Uno (es un microcontrolador equipado con digital y puertos analógicos para convertir código (C ++)
Sistema de alarma contra incendios con Arduino [en unos sencillos pasos]: 3 pasos
Sistema de alarma contra incendios con Arduino [en unos sencillos pasos]: ¿Está buscando hacer un proyecto simple e interesante con Arduino que al mismo tiempo podría ser realmente útil y potencialmente salvavidas? Si es así, ha venido al lugar correcto para aprender algo nuevo e innovador. En este post vamos
Arduino más barato -- Arduino más pequeño -- Arduino Pro Mini -- Programación -- Arduino Neno: 6 pasos (con imágenes)
Arduino más barato || Arduino más pequeño || Arduino Pro Mini || Programación || Arduino Neno: …………………………. SUSCRÍBETE A mi canal de YouTube para ver más videos ……. .Este proyecto trata sobre cómo conectar un arduino más pequeño y barato que haya existido. El arduino más pequeño y barato es arduino pro mini. Es similar a arduino