Obsah:
Video: Arduino Vr: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Ahoj, jmenuji se Christian a je mi 13 let. Miluji arduino a mám na něj talent, takže zde je můj návod pro arduino vr.
Zásoby
Zásoby:
1. Deska Arduino Mega, Due, Uno nebo Yun.
2. Vodiče typu male to male (standardní propojovací vodiče).
3. Malé prkénko
4. USB
5. GY-521 MPU-6050
Volitelný:
6. 5,5 palcový 2560*1440 2K LCD displej HDMI na MIPI
7. Fresnelova čočka Ohnisková vzdálenost 50 mm
8. Služba 3D tiskárny nebo 3D tiskárny
Krok 1: Sestavte
Sestavte to pomocí schématu.
Krok 2: Jak nainstalovat knihovnu?
Podívejte se na Github: https://github.com/relativty/Relativ Můžete jej nainstalovat buď pomocí Gitu, nebo přímým stažením.
Krok 3: Kód
// i2cdevlib a MPU6050 jsou potřeba:
// Velké díky úžasnému Jeffu Rowbergovi <3, jděte se podívat na jeho repo, abyste se dozvěděli více o MPU6050. // ===================================================================== ==================================
// I2Cdev a MPU6050 musí být nainstalovány jako knihovny, jinak soubory.cpp/.h // pro obě třídy musí být v cestě zahrnutí vašeho projektu
#include "Relativ.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif
MPU6050 mpu; Relativní relativní;
#define INTERRUPT_PIN 2
// Stav a ovládání IMU: bool dmpReady = false; // true, pokud byla inicializace DMP úspěšná uint8_t mpuIntStatus; uint8_t devStatus; // 0 = úspěch,! 0 = chyba uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Quaternion q; // [w, x, y, z]
volatile bool mpuInterrupt = false; // indikuje, zda pin přerušení MPU dosáhl vysoké hodnoty neplatné dmpDataReady () {mpuInterrupt = true; }
neplatné nastavení () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // 400kHz I2C hodiny. Komentujte tento řádek, pokud máte potíže s kompilací #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, true); #endif
relativ.startNative (); // „startNative“lze použít pro 32bitový mikrokontrolér ARM s nativním USB, jako je Arduino DUE //, což se doporučuje. // Relativ.start (); // "start" je pro NORATIVNÍ USB mikrokontrolér, jako Arduino MEGA, Arduino UNO.. // Ty jsou výrazně pomalejší. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("Připojení MPU6050 úspěšné"): F ("Připojení MPU6050 se nezdařilo"));
// konfigurace DMP devStatus = mpu.dmpInitialize ();
// ====================================== // zde zadejte své vlastní gyroskopy: // === ================================= mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus pokud vše fungovalo správně if (devStatus == 0) {// zapněte DMP, když je připraven mpu.setDMPEnabled (true);
// povolit detekci přerušení Arduino attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = true;
// získat očekávanou velikost DMP paketu pro pozdější srovnání packetSize = mpu.dmpGetFIFOPacketSize (); } else {// CHYBA! }}
void loop () {// Nedělejte nic, pokud se DMP správně neinicializuje, pokud (! dmpReady) return;
// počkejte na přerušení MPU nebo další pakety, dokud (! mpuInterrupt && fifoCount <packetSize) {}
// reset vlajky přerušení a získání INT_STATUS bajtu mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// získat aktuální počet FIFO fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // kontrola přerušení 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 "lze použít pro 32bitový mikrokontrolér ARM s nativním USB jako Arduino DUE // což se doporučuje. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" je pro NORATIVNÍ USB mikrokontrolér, jako Arduino MEGA, Arduino UNO.. // Ty jsou výrazně pomalejší. }}
Krok 4: Hrajte
Pohyb malého prkénka na jakékoli hře VR by měl fotoaparát otočit
Doporučuje:
Živé streamování HD videa 4G/5G z dronu DJI s nízkou latencí [3 kroky]: 3 kroky
Živé streamování HD videa 4G/5G z DJI Drone s nízkou latencí [3 kroky]: Následující průvodce vám pomůže získat živé video streamy v kvalitě HD z téměř jakéhokoli dronu DJI. S pomocí mobilní aplikace FlytOS a webové aplikace FlytNow můžete začít streamovat video z dronu
4 kroky k měření vnitřního odporu baterie: 4 kroky
4 kroky k měření vnitřního odporu baterie: Zde jsou 4 jednoduché kroky, které vám mohou pomoci změřit vnitřní odpor baterie
Jak vytvořit video na rozdělené obrazovce čtyřmi kroky: 4 kroky (s obrázky)
Jak vytvořit video na rozdělené obrazovce ve čtyřech krocích: Často vidíme stejnou osobu, která se ve scéně dvakrát objeví v televizní hře. A pokud víme, herec nemá dvojče. Také jsme sledovali, že jsou na jednu obrazovku umístěna dvě zpívající videa, která porovnávají jejich pěvecké schopnosti. To je síla spl
Jak zobrazit všechny kroky ve výchozím nastavení V.3: 4 kroky
Jak zobrazit všechny kroky ve výchozím nastavení V.3: Dobrý den! V tomto Instructable vám ukážu, jak zobrazit své Instructables všemi kroky, místo abyste museli klikat na každý krok a unavovat prst, což mělo za následek selhání jater a ztrátu krve. Pijte prosím zodpovědně. Dík
NEJjednodušší způsob, jak vyrobit kompaktní světlo !! 3 JEDNODUCHÉ KROKY !!: 3 kroky
NEJjednodušší způsob, jak vyrobit kompaktní světlo !! 3 JEDNODUCHÉ KROKY !!: Co budete potřebovat - Cínová fólie 1 baterie AA (některé baterie AAA budou fungovat) 1 Mini žárovka (pro většinu svítilen se používají žárovky; viz obrázek) Pravítko (v případě potřeby)