Realidad Virtual DIY Skate experiencia con Arduino y la cartulina de Google (2 / 3 paso)

Paso 2: Añadir este código a tu cosa de entrada de dispositivo de transmisor

IMPORTANTE: Desconecte los pines RX y TX y añadir este código a la placa.

 #include "I2Cdev.h" #include "MPU6050_6Axis_MotionApps20.h" #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif MPU6050 mpu; bool dmpReady = false; uint8_t mpuIntStatus; uint8_t devStatus; uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer[64]; Quaternion q; VectorInt16 aa; VectorInt16 aaReal; VectorInt16 aaWorld; VectorFloat gravity; float euler[3]; float ypr[3]; volatile bool mpuInterrupt = false; void setup() { #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin(); TWBR = 24; #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire::setup(400, true); #endif Serial.begin(9600); //For use with Arduino Uno Serial1.begin(9600); //For use with Leonardo Serial.println(F("Initializing I2C devices...")); mpu.initialize(); Serial.println(F("Testing device connections...")); Serial.println(mpu.testConnection() ? F("MPU6050 connection successful") : F("MPU6050 connection failed")); Serial.println(F("Initializing DMP...")); devStatus = mpu.dmpInitialize(); mpu.setXGyroOffset(220); mpu.setYGyroOffset(76); mpu.setZGyroOffset(-85); mpu.setZAccelOffset(1788); if (devStatus == 0) { Serial.println(F("Enabling DMP...")); mpu.setDMPEnabled(true); Serial.println(F("Enabling interrupt detection (Arduino external interrupt 0)...")); attachInterrupt(0, dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus(); Serial.println(F("DMP ready! Waiting for first interrupt...")); dmpReady = true; packetSize = mpu.dmpGetFIFOPacketSize(); } else { Serial.print(F("DMP Initialization failed (code ")); Serial.print(devStatus); Serial.println(F(")")); } } void sendData(int x, int y, int z) { if(z < -10){ //forward Serial1.write("f"); // Write to Leonardo Serial1.write(10); //Stop Bit Serial.write("f"); // Write to Uno Serial.write(10); //Stop bit } else if (z > 0){ //backward Serial1.write("b"); Serial1.write(10); Serial.write("b"); Serial.write(10); } else if (y > 5){ //To make more sensitive change value to 4 or less //right Serial1.write("r"); Serial1.write(10); Serial.write("r"); Serial.write(10); } else if (y < -5){ //To make more sensitive change to -4 or greater //left Serial1.write("l"); Serial1.write(10); Serial.write("l"); Serial.write(10); } else //stop Serial1.write("s"); Serial1.write(10); Serial.write("s"); Serial.write(10); } void loop() { if (!dmpReady) return; mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus(); fifoCount = mpu.getFIFOCount(); if ((mpuIntStatus & 0x10) || fifoCount == 1024) { mpu.resetFIFO(); Serial.println(F("FIFO Overflow")); } else if (mpuIntStatus & 0x02) { while (fifoCount < packetSize) { fifoCount = mpu.getFIFOCount(); } mpu.getFIFOBytes(fifoBuffer, packetSize); fifoCount -= packetSize; mpu.dmpGetQuaternion(&q, fifoBuffer); mpu.dmpGetGravity(&gravity, &q); mpu.dmpGetYawPitchRoll(ypr, &q, &gravity); sendData(ypr[0] * 180/M_PI, ypr[1] * 180/M_PI, ypr[2] * 180/M_PI); } } void dmpDataReady() { mpuInterrupt = true; } 

Artículos Relacionados

Tacómetro RPM Digital DIY | Contador RPM con Arduino

Tacómetro RPM Digital DIY | Contador RPM con Arduino

Hola amigos, escribo este artículo para compartir mi último proyecto DIY RPM tacómetro o se pueden decir cuentarrevoluciones. Al crear un proyecto muchas veces tenemos que controlar la velocidad del motor y necesitamos tacómetro RPM que puede contar
Realidad virtual Minecraft 1.8 con cartulina de Google

Realidad virtual Minecraft 1.8 con cartulina de Google

Bienvenidos a mi primer instructable. He sido miembro de este sitio por un tiempo muy largo ahora y han estado esperando empezar a publicar para un wile pero nunca supo donde debo empezar. Después de mirar mi correo recurrente desde aquí vi los concu
Gafas 3D realidad virtual DIY

Gafas 3D realidad virtual DIY

Este es mi diseño de gafas 3D para el smartphone que quería compartir con ustedes, inspirado en google cartón y oculus rift.Paso 1: Piezas necesarias 1. para lentes usé lentes más grandes de juguete binocular que compré en la tienda local de china2.
Dispositivo de teleconferencia de realidad virtual con Google cartón

Dispositivo de teleconferencia de realidad virtual con Google cartón

Realidad virtual dispositivo de teleconferencia con cartulina de GoogleCreado por John Choi | 2015Este proyecto es un dispositivo de teleconferencia por vídeo con dos cámaras Web para visión estereoscópica colocado encima de una plataforma motorizada
La realización de un cardán sin cepillo bricolaje con Arduino

La realización de un cardán sin cepillo bricolaje con Arduino

Esta es una historia de mi tercer proyecto con gyro barato y Arduino.Después de los anteriores dos proyectos, Péndulo invertido fácil y caligrafía 3D, he pensado de hacer Cámara de cardán con Arduino. Luego tenía las tres políticas para el proyecto.E
Fuente de alimentación fuente de alimentación de ATX vieja con Arduino y pantalla del Banco

Fuente de alimentación fuente de alimentación de ATX vieja con Arduino y pantalla del Banco

Hola a todos y Bienvenidos a mi primer Instructable.Siempre he querido tener un banco PSU para facilitar el acceso a una fuente de energía y algo que puedo confiar en el cuando se trabaja en varios proyectos. Quería una PSU que:• proporciona 12v, 5v
Cómo programa ATtiny85 con Arduino UNO

Cómo programa ATtiny85 con Arduino UNO

Cómo programar Attiny85 con Arduino UNO de manera más fácilPaso Tutorial paso, con ninguna medida para saltar por PCB impresionante.Paso 1 - ¿qué necesitamos?Paso 2 - placa de Arduino conecta con ArduShield y ATtiny85Paso 3 - configuración IDE de Ard
Cómo programar Arduino Pro Mini con Arduino Uno y ArduShield - sin los cables de

Cómo programar Arduino Pro Mini con Arduino Uno y ArduShield - sin los cables de

El objetivo principal de esta instrucción es mostrar cómo programar más fácil manera de Arduino Mini o Arduino Pro Mini con Arduino UNO y ArduShield – sin los cables.Paso Tutorial paso, con ninguna medida para saltar por PCB impresionante.Paso 1 - ¿q
¿Siga la pantalla líder LED con Arduino

¿Siga la pantalla líder LED con Arduino

para crear un loco llamativo cosita?Bueno esta es la guía paso a paso para hacerlo!Con sólo unas pocas partes que son bastante comunes, puede completar este proyecto. También permite iniciar!Paso 1: Paso 1 - materiales y partes Materiales:• Un arduin
Crea tu propia experiencia VR con visor de realidad Virtual de DODOcase

Crea tu propia experiencia VR con visor de realidad Virtual de DODOcase

El cartón de Google y visor de realidad Virtual de DODOcase son formas limpias, de bajo costo para experimentar realidad Virtual inmersiva con cabeza de seguimiento de la navegación. Quería encontrar algunos ejemplos de aplicaciones de VR y especialm
Experiencia de realidad Virtual multisensorial

Experiencia de realidad Virtual multisensorial

Con la invención de Morton Heilig 1957, "Sensorama", como una fuente de inspiración, he desarrollado una plataforma de realidad virtual de bricolaje.La oportunidad para la exploración en 360 grados, puede parecer extraño diseño alrededor de una
Convertido en Tony Stark: Configuración de realidad Virtual móvil con movimiento de salto

Convertido en Tony Stark: Configuración de realidad Virtual móvil con movimiento de salto

¿Cuántos de ustedes han querido usar sus manos y mire a su alrededor naturalmente sin tener que utilizar el ratón, el teclado y la pantalla? Bueno, hoy voy a mostrar cómo utilizar un teléfono, leap motion, y gafas de Realidad Virtual para crear su pr
DIY realidad Virtual auricular - Google cartón

DIY realidad Virtual auricular - Google cartón

De la entrada-salida de Google aparece el cartón de Google , siempre quiero conseguir uno, debido a es una realidad virtual sensación de precio bajo dispositivo. Por desgracia, no pudiendo comprar un cartón de google me llevó loco. Así que he decidid
Entornos interactivos de prototipos en realidad virtual con Google cartón, unidad y línea de Bling (TfCD)

Entornos interactivos de prototipos en realidad virtual con Google cartón, unidad y línea de Bling (TfCD)

Estos días, experiencias (inmersión) son prioridad sobre la funcionalidad pura y especificaciones sobre el papel. Este cambio de enfoque ha influido en el proceso de diseño de diseñadores industriales, arquitectos, desarrolladores de aplicaciones y a