Turinys:
- Prekės
- 1 žingsnis: Surinkite
- 2 veiksmas: kaip įdiegti biblioteką?
- 3 žingsnis: kodas
- 4 žingsnis: žaiskite
Video: „Arduino Vr“: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Sveiki, mano vardas Kristianas ir man 13 metu. Aš myliu arduino ir turiu tam talentą, todėl čia yra mano pamokymas arduino vr.
Prekės
Priedai:
1. „Arduino“lenta „Mega“, „Due“, „Uno“arba „Yun“.
2. Vyrų ir vyrų (standartiniai jungiamieji laidai) laidai.
3. Maža duonos lenta
4. USB
5. GY-521 MPU-6050
Neprivaloma:
6. 5,5 colio 2560*1440 2K LCD ekranas nuo HDMI iki MIPI
7. Fresnelio objektyvas židinio nuotolis 50 mm
8. 3D spausdintuvo arba 3D spausdintuvo paslauga
1 žingsnis: Surinkite
Norėdami tai padaryti, naudokite schemą.
2 veiksmas: kaip įdiegti biblioteką?
Pažvelkite į „Github“: https://github.com/relativty/Relativ Galite jį įdiegti naudodami „Git“arba tiesiogiai atsisiųsti.
3 žingsnis: kodas
// reikalingi „i2cdevlib“ir „MPU6050“:
// Didelis ačiū nuostabiam Jeffui Rowbergui <3, eikite patikrinti jo repo ir sužinokite daugiau MPU6050. // ================================================ ================================
// „I2Cdev“ir „MPU6050“turi būti įdiegti kaip bibliotekos, kitaip abiejų klasių.cpp/.h failai // turi būti jūsų projekto įtraukimo kelyje
#įtraukti „Santykinis.h“
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #įtraukti „Wire.h“#endif
MPU6050 mpu; Santykinis santykinis;
#define INTERRUPT_PIN 2
// IMU būsena ir valdymas: bool dmpReady = false; // tiesa, jei DMP iniciatyva buvo sėkminga uint8_t mpuIntStatus; uint8_t devStatus; // 0 = sėkmė,! 0 = klaida uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Kvaternionas q; // [w, x, y, z]
nepastovus bool mpuInterrupt = false; // nurodo, ar MPU pertraukimo smeigtukas tapo labai tuščias dmpDataReady () {mpuInterrupt = true; }
void setup () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // 400 kHz I2C laikrodis. Komentuokite šią eilutę, jei turite kompiliavimo sunkumų #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, tiesa); #endif
relativ.startNative (); // „startNative“gali būti naudojamas 32 bitų ARM pagrindiniam mikrovaldikliui su „Native USB“, pvz., „Arduino DUE //“. // Santykinis.start (); // „start“skirtas NEMATYVIUI USB mikrovaldikliui, pvz., „Arduino MEGA“, „Arduino UNO“. // Jie yra žymiai lėtesni. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("MPU6050 ryšys sėkmingas"): F ("MPU6050 ryšys nepavyko"));
// konfigūruoti DMP devStatus = mpu.dmpInitialize ();
// ================================== // pateik savo giroskopo kompensavimą čia: // === =============================== mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus, jei viskas veikė tinkamai, jei (devStatus == 0) {// įjunkite DMP dabar, kai jis paruoštas mpu.setDMPEnabled (true);
// įgalinti „Arduino“pertraukimo aptikimą attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = tiesa;
// gauti laukiamą DMP paketo dydį vėlesniam palyginimui packetSize = mpu.dmpGetFIFOPacketSize (); } else {// KLAIDA! }}
void loop () {// Nieko nedarykite, jei DMP nepradės tinkamai inicijuoti, jei (! dmpReady) grįš;
// laukti, kol bus pasiektas MPU pertraukimas arba papildomas paketas (-ai), kol (! mpuInterrupt && fifoCount <packetSize) {}
// iš naujo nustatyti pertraukimo vėliavą ir gauti INT_STATUS baitą mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// gauti dabartinį FIFO skaičių fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // patikrinkite, ar nėra pertraukos 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 "gali būti naudojamas 32 bitų ARM pagrindiniam mikrovaldikliui su vietiniu USB, pvz., Arduino DUE // kuris yra rekomenduojamas. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" NEMATYVU USB mikrovaldikliui, pvz., „Arduino MEGA“, „Arduino UNO..“// Jie yra žymiai lėtesni. }}
4 žingsnis: žaiskite
perkeliant mažą duonos lentą į bet kurį VR žaidimą, fotoaparatas turi būti pasuktas
Rekomenduojamas:
„Arduino“automobilių atbulinės eigos įspėjimo sistema - Žingsniai po žingsnio: 4 žingsniai
„Arduino“automobilių atbulinės eigos įspėjimo sistema | Žingsniai po žingsnio: Šiame projekte aš suprojektuosiu paprastą „Arduino“automobilio atbulinės eigos stovėjimo jutiklio grandinę, naudodamas „Arduino UNO“ir ultragarsinį jutiklį „HC-SR04“. Ši „Arduino“pagrįsta automobilio atbulinės eigos įspėjimo sistema gali būti naudojama autonominei navigacijai, robotų diapazonui ir kitiems diapazonams
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): 8 žingsniai
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): ultragarsiniai garso keitikliai L298N nuolatinės srovės adapterio maitinimo šaltinis su vyrišku nuolatinės srovės kaiščiu „Arduino UNOBreadboard“Kaip tai veikia: pirmiausia įkelkite kodą į „Arduino Uno“(tai yra mikrovaldiklis su skaitmeniniu ir analoginiai prievadai kodui konvertuoti (C ++)
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: 7 žingsniai
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: Kelionė, skirta visam „Kano Pixel“potencialui išnaudoti, prasideda gamyklos programinės įrangos pakeitimu „MicroPython“, tačiau tai tik pradžia. Norėdami koduoti „Pixel Kit“, turime prie jo prijungti savo kompiuterius. Ši pamoka paaiškins, kas
Pigiausias „Arduino“-- Mažiausias „Arduino“-- „Arduino Pro Mini“-- Programavimas -- „Arduino Neno“: 6 žingsniai (su nuotraukomis)
Pigiausias „Arduino“|| Mažiausias „Arduino“|| „Arduino Pro Mini“|| Programavimas || Arduino Neno: …………………………. Prenumeruokite mano „YouTube“kanalą, kad gautumėte daugiau vaizdo įrašų ……. .Šis projektas yra apie tai, kaip sujungti mažiausią ir pigiausią arduino. Mažiausias ir pigiausias arduino yra arduino pro mini. Tai panašu į arduino