Përmbajtje:
Video: Arduino Vr: 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:13
Përshëndetje Emri im është Christian dhe unë jam 13 vjeç. Unë e dua arduino dhe kam një talent për të, kështu që këtu është udhëzimi im për një arduino vr.
Furnizimet
Furnizimet:
1. Arduino bord Mega, Due, Uno, ose Yun.
2. Tela meshkuj në meshkuj (tela standarde të kërcyesit).
3. Dërrasë e vogël buke
4. USB
5. GY-521 MPU-6050
Opsionale:
6. 5.5 inç 2560*1440 Ekran LCD 2K HDMI në MIPI
7. Lente Fresnel Gjatësia Fokale 50mm
8. Printeri 3-D ose shërbimi i printerit 3d
Hapi 1: Mblidhni
Përdorni skemën për ta bashkuar atë.
Hapi 2: Si të instaloni Bibliotekën?
Hidhini një sy Github: https://github.com/relativty/Relativ Mund ta instaloni ose duke përdorur Git ose Shkarkim direkt.
Hapi 3: Kodi
// i2cdevlib dhe MPU6050 nevojiten:
// Faleminderit të madh për Jeff Rowberg -in e mahnitshëm <3, shkoni të kontrolloni repon e tij për të mësuar më shumë MPU6050. // ================================================ ==============================
// I2Cdev dhe MPU6050 duhet të instalohen si biblioteka, ose përndryshe skedarët.cpp/.h // për të dy klasat duhet të jenë në rrugën e përfshirjes së projektit tuaj
#përfshi "Relativ.h"
#përfshi "I2Cdev.h"
#përfshi "MPU6050_6Axis_MotionApps20.h"
#Nëse I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #përfshi "Wire.h" #endif
MPU6050 mpu; Relativ relativ;
#përcaktoni INTERRUPT_PIN 2
// Statusi dhe kontrolli i IMU: bool dmpReady = false; // e vërtetë nëse DMP init ishte i suksesshëm uint8_t mpuIntStatus; uint8_t devStatus; // 0 = sukses,! 0 = gabim uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Kuaternion q; // [w, x, y, z]
bool i paqëndrueshëm mpuInterrupt = false; // tregon nëse kunja e ndërprerjes MPU ka shkuar shumë lart void dmpDataReady () {mpuInterrupt = true; }
void setup () {#nëse I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // Ora 400kHz I2C. Komentoni këtë rresht nëse keni vështirësi në përpilim #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: konfigurimi (400, e vërtetë); #endif
relativ.startNative (); // "startNative" mund të përdoret për mikrokontrollues bazë 32-bit ARM me USB Native si Arduino DUE // e cila rekomandohet. // Relativ.start (); // "start" është për mikrokontrollues USB JO-NATYVE, si Arduino MEGA, Arduino UNO.. // Ato janë dukshëm më të ngadalta. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("Lidhja MPU6050 e suksesshme"): F ("Lidhja MPU6050 dështoi"));
// konfiguroni DMP devStatus = mpu.dmpInitialize ();
// ================================= // furnizoni kompensimet tuaja xhiro këtu: // === ============================== mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus nëse gjithçka funksionon siç duhet nëse (devStatus == 0) {// aktivizoni DMP, tani që është gati mpu.setDMPE aktivizohet (e vërtetë);
// aktivizoni Arduino zbulimin e ndërprerjes attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = e vërtetë;
// merrni madhësinë e pritshme të paketës DMP për pakot e krahasimit të mëvonshëmSize = mpu.dmpGetFIFOPacketSize (); } tjetër {// GABIM! }}
void loop () {// Mos bëni asgjë nëse DMP nuk inicializon saktë nëse (! dmpReady) kthehet;
// prisni që ndërprerja e MPU ose paketat shtesë të jenë në dispozicion derisa (! mpuInterrupt && fifoCount <packetSize) {}
// rivendos flamurin e ndërprerjes dhe merr INT_STATUS bajt mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// merrni numrin aktual të FIFO fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // kontrolloni për ndërprerje tjetër nëse (mpuIntStatus & 0x02) {ndërsa (fifoCount <packetSize) fifoCount = mpu.getFIFOCount (); mpu.getFIFOBytes (fifoBuffer, packetSize); fifoCount -= PaketaSize; mpu.dmpGetQuaternion (& q, fifoBuffer); relativ.updateOrientationNative (q.x, q.y, q.z, q.w, 4); // updateOrientationNative "mund të përdoret për mikrokontrollues bazë 32-bit ARM me USB Native si Arduino DUE // e cila rekomandohet. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientimi" është për mikrokontrollues USB JO-NATYVE, si Arduino MEGA, Arduino UNO.. // Ato janë dukshëm më të ngadalta. }}
Hapi 4: Luaj
lëvizja e tabelës së vogël të bukës në çdo lojë vr duhet të rrotullojë kamerën
Recommended:
Arduino Halloween Edition - Zombies Pop -out Screen (hapa me fotografi): 6 hapa
Arduino Halloween Edition - Zombies Pop -out Screen (hapa me fotografi): Dëshironi të trembni miqtë tuaj dhe të bëni ndonjë zhurmë ulëritëse në Halloween? Apo thjesht doni të bëni një shaka të mirë? Ky ekran dalës i Zombies mund ta bëjë këtë! Në këtë Instructable unë do t'ju mësoj se si të bëni Zombies që dalin lehtë duke përdorur Arduino. HC-SR0
Arduino Uno Ushqyes Peshku në 6 hapa të lirë dhe të lehtë !: 6 hapa
Arduino Uno Peshku Ushqyes në 6 Hapa të Lirë dhe të Lehtë !: Pra, mund të nevojitet pak histori për këtë projekt. Njerëzit me peshq të përkëdhelur ndoshta u paraqitën me të njëjtin problem si unë: pushimet dhe harresën. Unë vazhdimisht harroja të ushqeja peshkun tim dhe gjithmonë përpiqesha ta bëja këtë para se të shkonte në
Levitim akustik me Arduino Uno Hap pas hapi (8 hapa): 8 hapa
Levitimi akustik me Arduino Uno Hap pas hapi (8 hapa): transmetuesit e zërit tejzanor L298N Dc furnizues i rrymës së furnizuesit femra me një kunj mashkullor Arduino UNOBreadboardSi funksionon kjo: Së pari, ngarkoni kodin në Arduino Uno (është një mikrokontrollues i pajisur me dixhital dhe porte analoge për të konvertuar kodin (C ++)
Sistemi i alarmit të zjarrit duke përdorur Arduino [Në disa hapa të thjeshtë]: 3 hapa
Sistemi i alarmit të zjarrit duke përdorur Arduino [Në disa hapa të thjeshtë]: A po kërkoni të bëni një projekt të thjeshtë dhe interesant me Arduino i cili në të njëjtën kohë mund të jetë vërtet i dobishëm dhe potencialisht shpëtues i jetës? Nëse po, keni ardhur në vendin e duhur për të mësuar diçka të re dhe novatore. Në këtë postim po shkojmë
Qëndrim për laptopë me 3 hapa dhe 3 hapa (me syze leximi dhe tabaka me stilolaps): 5 hapa
Qëndrim për laptopë me hapa 3 & 3 hapa (me syze leximi dhe tabaka për stilolapsa): Kjo $ 3 & Qëndrimi i laptopit me 3 hapa mund të bëhet brenda 5 minutave. It'sshtë shumë e fortë, me peshë të lehtë dhe mund të paloset për ta marrë kudo që të shkoni