Kazalo:
Video: Arduino Vr: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Živjo Moje ime je Christian in star sem 13 let. Obožujem arduino in imam talent za to, zato je tukaj moj pouk za arduino vr.
Zaloge
Zaloge:
1. Arduino plošča Mega, Due, Uno ali Yun.
2. Moški na moške (standardne mostične žice) žice.
3. Majhna plošča
4. USB
5. GY-521 MPU-6050
Neobvezno:
6. 5,5 -palčni 2560*1440 2K LCD zaslon HDMI v MIPI
7. Fresnelova leča Goriščna razdalja 50 mm
8. Storitev 3D tiskalnika ali 3D tiskalnika
1. korak: Sestavite
Uporabite shemo, da jo sestavite.
2. korak: Kako namestiti knjižnico?
Oglejte si Github: https://github.com/relativty/Relativ Namestite ga lahko z Gitom ali neposredno prenesete.
3. korak: Koda
// Potrebna sta i2cdevlib in MPU6050:
// Najlepša hvala neverjetnemu Jeffu Rowbergu <3, pojdite preveriti njegov repo, če želite izvedeti več MPU6050. // ================================================ ==============================
// I2Cdev in MPU6050 morata biti nameščena kot knjižnici, sicer pa morata biti datoteki.cpp/.h // za oba razreda v poti vključevanja vašega projekta
#include "Relativ.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#če I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #vključi "Wire.h" #endif
MPU6050 mpu; Relativ relativ;
#define INTERRUPT_PIN 2
// stanje in nadzor IMU: bool dmpReady = false; // res, če je bil init DMP uspešen uint8_t mpuIntStatus; uint8_t devStatus; // 0 = uspeh,! 0 = napaka uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Kvaternion q; // [w, x, y, z]
hlapna bool mpuInterrupt = false; // označuje, ali je prekinitveni pin MPU previsok. dmpDataReady () {mpuInterrupt = true; }
void setup () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // Ura I2C 400kHz. Komentirajte to vrstico, če imate težave pri sestavljanju #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, res); #endif
relativ.startNative (); // "startNative" se lahko uporablja za 32-bitni jedrni mikrokrmilnik ARM z Native USB, kot je Arduino DUE //, kar priporočamo. // Relativ.start (); // "zagon" je za NIČNI USB mikrokrmilnik, kot sta Arduino MEGA, Arduino UNO.. // Ti so bistveno počasnejši. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("Povezava MPU6050 uspešna"): F ("Povezava MPU6050 ni uspela"));
// konfiguriramo DMP devStatus = mpu.dmpInitialize ();
// ================================ // tukaj vnesite lastne odmike žiroskopa: // === =============================== mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus, če je vse delovalo pravilno, če (devStatus == 0) {// vklopite DMP, zdaj ko je pripravljeno mpu.setDMPEnabled (true);
// omogočimo zaznavanje prekinitev Arduino attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = res;
// dobimo pričakovano velikost paketa DMP za kasnejšo primerjavo packetSize = mpu.dmpGetFIFOPacketSize (); } else {// NAPAKA! }}
void loop () {// Ne naredite nič, če se DMP ne inicializira pravilno, če se vrne (! dmpReady);
// počakajte, da bo na voljo prekinitev MPU ali dodatni paketi (! mpuInterrupt && fifoCount <packetSize) {}
// ponastavimo zastavico prekinitve in dobimo INT_STATUS bajt mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// dobimo trenutno število FIFO fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // preveri prekinitev else if (mpuIntStatus & 0x02) {while (fifoCount <packetSize) fifoCount = mpu.getFIFOCount (); mpu.getFIFOBytes (fifoBuffer, packetSize); fifoCount -= velikost paketa; mpu.dmpGetQuaternion (& q, fifoBuffer); relativ.updateOrientationNative (q.x, q.y, q.z, q.w, 4); // updateOrientationNative "se lahko uporablja za 32-bitni jedrni mikrokrmilnik ARM z Native USB, kot je Arduino DUE // kar je priporočljivo. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" je za NI-NATIVE USB mikrokrmilnik, kot sta Arduino MEGA, Arduino UNO.. // Ti so bistveno počasnejši. }}
4. korak: Igrajte se
premikanje majhne plošče na kateri koli igri vr mora zavrtiti kamero
Priporočena:
DIY stativ pod koraki 1: 3 koraki
DIY stativ pod 1 USD: Ta pouk vas bo naučil, kako narediti fantastičen stativ pod 1 USD. Z uporabo samo gospodinjskih predmetov, kot je moka, lahko naredite fantastičen stativ, ki je še boljši od običajnega stojala, celo prenosnega … poskusite! najprej bi si moral ogledati video
4G/5G HD video pretakanje v živo z DJI Drone z nizko zakasnitvijo [3 koraki]: 3 koraki
4G/5G HD video pretakanje v živo z DJI Drone z nizko zakasnitvijo [3 koraki]: Naslednji vodnik vam bo pomagal prenašati videoposnetke v visoki kakovosti HD v skoraj vseh DJI-jih. S pomočjo mobilne aplikacije FlytOS in spletne aplikacije FlytNow lahko začnete pretakati videoposnetke iz drona
4 koraki za merjenje notranje odpornosti baterije: 4 koraki
4 koraki za merjenje notranje odpornosti baterije: Tu so 4 preprosti koraki, ki vam lahko pomagajo izmeriti notranji upor baterije
Brezžični monitor pulzne frekvence s 4 koraki Duino-24: 4 koraki
Brezžični monitor pulzne frekvence s funkcijo 4Duino-24: Brezžični monitor pulzne frekvence je konceptualni projekt za bolnišnice in klinike, njegova glavna funkcija je skrajšati čas, ki ga medicinske sestre ali zdravniki potrebujejo za obisk vsakega bolnika v bolnišnici. Običajno zdravniki in medicinske sestre obiščejo vsakega pacienta, da preverijo
NAJLAKŠI NAČIN KOMPAKTNE LUČI !! 3 PREPROSTI KORAKI !!: 3 koraki
NAJLAKŠI NAČIN KOMPAKTNE LUČI !! 3 PREPROSTI KORAKI !!: Kaj potrebujete - kositrna folija 1 baterija AA (nekatere baterije AAA bodo delovale) 1 mini žarnica (žarnice se uporabljajo za večino svetilk; glejte sliko) Ravnilo (če je potrebno)