Obsah:
Video: Arduino Vr: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Ahoj, volám sa Christian a mám 13 rokov. Milujem arduino a mám naň talent, takže tu je môj návod na arduino vr.
Zásoby
Zásoby:
1. Doska Arduino Mega, Due, Uno alebo Yun.
2. Vodiče z mužského na mužský (štandardné prepojovacie vodiče).
3. Malý chlebník
4. USB
5. GY-521 MPU-6050
Voliteľné:
6. 5,5 palcový 2560*1440 2K LCD displej HDMI na MIPI
7. Fresnelova šošovka Ohnisková vzdialenosť 50 mm
8. Služba 3D tlačiarne alebo 3D tlačiarne
Krok 1: Zostavte
Na zostavenie použite schému.
Krok 2: Ako nainštalovať knižnicu?
Pozrite sa na Github: https://github.com/relativty/Relativ Môžete si ho nainštalovať pomocou Gitu alebo priamym stiahnutím.
Krok 3: Kód
// Sú potrebné i2cdevlib a MPU6050:
// Veľká vďaka úžasnému Jeffovi Rowbergovi <3, choďte sa pozrieť na jeho repo, aby ste sa dozvedeli viac o MPU6050. // ======================================================================= ====================================
// I2Cdev a MPU6050 musia byť nainštalované ako knižnice, inak musia byť súbory.cpp/.h // pre obe triedy v ceste zahrnutia vášho projektu.
#include "Relativ.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif
MPU6050 mpu; Relatívny relatívny;
#define INTERRUPT_PIN 2
// Stav a kontrola IMU: bool dmpReady = false; // true, ak bol inicializácia DMP úspešná uint8_t mpuIntStatus; uint8_t devStatus; // 0 = úspech,! 0 = chyba uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Quaternion q; // [w, x, y, z]
volatile bool mpuInterrupt = false; // indikuje, či pin prerušenia MPU dosiahol vysokú neplatnosť dmpDataReady () {mpuInterrupt = true; }
neplatné nastavenie () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // 400kHz hodiny I2C. Komentujte tento riadok, ak máte problémy so kompiláciou #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, true); #koniec Ak
relativ.startNative (); // „startNative“je možné použiť pre 32-bitový mikrokontrolér ARM s natívnym USB, ako je Arduino DUE //, ktorý sa odporúča. // Relativ.start (); // „štart“je pre NORATÍVNY USB mikrokontrolér, ako Arduino MEGA, Arduino UNO.. // Tie sú výrazne pomalšie. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("Pripojenie MPU6050 bolo úspešné"): F ("Pripojenie MPU6050 zlyhalo"));
// konfigurácia DMP devStatus = mpu.dmpInitialize ();
// ======================================= // tu zadajte svoje vlastné gyroskopy: // === ================================= mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus, ak všetko fungovalo správne, ak (devStatus == 0) {// zapnite DMP, keď je pripravený mpu.setDMPEnabled (true);
// povoliť detekciu prerušenia Arduino attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = true;
// získať očakávanú veľkosť paketu DMP pre neskoršie porovnanie packetSize = mpu.dmpGetFIFOPacketSize (); } else {// CHYBA! }}
void loop () {// Nerobte nič, ak sa DMP neinicializuje správne, ak (! dmpReady) return;
// počkajte, kým bude k dispozícii prerušenie MPU alebo ďalšie pakety, kým (! mpuInterrupt && fifoCount <packetSize) {}
// reset príznaku prerušenia a získanie INT_STATUS bajtu mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// získať aktuálny počet FIFO fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // skontrolovať prerušenie else if (mpuIntStatus & 0x02) {while (fifoCount <packetSize) fifoCount = mpu.getFIFOCount (); mpu.getFIFOBytes (fifoBuffer, packetSize); fifoCount -= veľkosť balíka; mpu.dmpGetQuaternion (& q, fifoBuffer); relativ.updateOrientationNative (q.x, q.y, q.z, q.w, 4); // updateOrientationNative "je možné použiť pre 32-bitový jadrový mikrokontrolér ARM s natívnym USB, ako je Arduino DUE //, čo sa odporúča. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" je pre NORATÍVNY USB mikrokontrolér, ako Arduino MEGA, Arduino UNO.. // Tie sú výrazne pomalšie. }}
Krok 4: Hrajte
premiestňovaním malého breadboardu pri akejkoľvek hre vr by sa mala otáčať kamera
Odporúča:
Živé streamovanie videa v rozlíšení HD 4G/5G z dronu DJI s nízkou latenciou [3 kroky]: 3 kroky
Živé streamovanie videa v rozlíšení HD 4G/5G z DJI Drone s nízkou latenciou [3 kroky]: Nasledujúci sprievodca vám pomôže získať živé video streamy v kvalite HD z takmer akéhokoľvek dronu DJI. S pomocou mobilnej aplikácie FlytOS a webovej aplikácie FlytNow môžete začať streamovať video z drona
4 kroky na meranie vnútorného odporu batérie: 4 kroky
4 kroky na meranie vnútorného odporu batérie: Tu sú 4 jednoduché kroky, ktoré vám môžu pomôcť zmerať vnútorný odpor batérie
Pst , (kroky hore): 3 kroky (s obrázkami)
Pššššt … (ut-up): Šepkanie nie je najefektívnejším spôsobom, ako prinútiť ľudí, aby mlčali. Zvlášť vo verejných priestoroch a obzvlášť vo verejných knižniciach. Zavrieme si teda ústa pocitom viny. Toto svetlo je nainštalované v knižnici.
Ako vidieť všetky kroky predvolene V.3: 4 kroky
Ako zobraziť všetky kroky v predvolenom nastavení V.3: Dobrý deň! V tomto návode vám ukážem, ako si všetky pokyny môžete prezerať všetkými krokmi, namiesto toho, aby ste museli klikať na každý krok a unavovať prst, čo má za následok zlyhanie pečene a stratu krvi. Pite prosím zodpovedne. Vďaka
Najľahší spôsob, ako vyrobiť kompaktné svetlo !! 3 JEDNODUCHÉ KROKY !!: 3 kroky
Najľahší spôsob, ako vyrobiť kompaktné svetlo !! 3 JEDNODUCHÉ KROKY !!: Čo budete potrebovať - Cínová fólia 1 batéria AA (niektoré batérie AAA budú fungovať) 1 Mini žiarovka (žiarovky sa používajú vo väčšine bateriek; pozrite si obrázok) Pravítko (v prípade potreby)