Sisällysluettelo:
Video: Arduino Vr: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Hei Nimeni on Christian ja olen 13 -vuotias. Rakastan arduinoa ja minulla on siihen lahjakkuutta, joten tässä on ohjeeni arduino vr: lle.
Tarvikkeet
Tarvikkeet:
1. Arduino -kortti Mega, Due, Uno tai Yun.
2. Uros -uros (vakiohyppyjohdot).
3. Pieni leipälauta
4. USB
5. GY-521 MPU-6050
Valinnainen:
6. 5,5 tuuman 2560*1440 2K LCD -näyttö HDMI - MIPI
7. Fresnel -linssin polttoväli 50 mm
8. 3D-tulostin tai 3D-tulostinpalvelu
Vaihe 1: Kokoa
Käytä kaaviota kootaksesi sen.
Vaihe 2: Kuinka asentaa kirjasto?
Katso Githubia: https://github.com/relativty/Relativ Voit joko asentaa sen Gitin avulla tai ladata suoraan.
Vaihe 3: Koodi
// tarvitaan i2cdevlib ja MPU6050:
// Suuret kiitokset hämmästyttävälle Jeff Rowbergille <3, käy tutustumassa hänen repoonsa saadaksesi lisätietoja MPU6050. // ================================================ ================================
// I2Cdev ja MPU6050 on asennettava kirjastoina, muuten kummankin luokan.cpp/.h -tiedostot // on sisällytettävä projektisi sisällytyspolkuun
#Sisällytä "Suhteellinen.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #sisältää "Wire.h" #endif
MPU6050 mpu; Suhteellinen suhteellinen;
#define INTERRUPT_PIN 2
// IMU -tila ja ohjaus: bool dmpReady = false; // totta, jos DMP -aloitus onnistui uint8_t mpuIntStatus; uint8_t devStatus; // 0 = onnistunut,! 0 = virhe uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Kvaternion q; // [w, x, y, z]
haihtuva bool mpuInterrupt = false; // osoittaa, onko MPU -keskeytysnasta mennyt korkeaksi void dmpDataReady () {mpuInterrupt = true; }
void setup () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // 400 kHz I2C -kello. Kommentoi tätä riviä, jos sinulla on kokoamisvaikeuksia #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, true); #loppu Jos
relativ.startNative (); // "startNative" voidaan käyttää 32-bittisessä ARM-ytimen mikrokontrollerissa, jossa on Native USB, kuten Arduino DUE //, jota suositellaan. // Suhteellinen.start (); // "start" on NON-NATIVE USB -mikro-ohjaimelle, kuten Arduino MEGA, Arduino UNO.. // Ne ovat huomattavasti hitaampia. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("MPU6050 -yhteys onnistui"): F ("MPU6050 -yhteys epäonnistui"));
// määritä DMP devStatus = mpu.dmpInitialize ();
// ==================================== // anna omat gyroskooppisiirrot täältä: // === =============================== mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus, jos kaikki toimi oikein, jos (devStatus == 0) {// kytke DMP päälle nyt, kun se on valmis mpu.setDMPEnabled (true);
// ota käyttöön Arduinon keskeytyksen tunnistus attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = totta;
// saat odotetun DMP -paketin koon myöhempää vertailua varten packetSize = mpu.dmpGetFIFOPacketSize (); } muu {// VIRHE! }}
void loop () {// Älä tee mitään, jos DMP ei alusta oikein, jos (! dmpReady) palaa;
// odota, että MPU -keskeytys tai lisäpaketit ovat käytettävissä, kun (! mpuInterrupt && fifoCount <packetSize) {}
// nollaa keskeytyslippu ja hanki INT_STATUS -tavu mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// hanki nykyinen FIFO -lukumäärä fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // tarkista keskeytys muut 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 "voidaan käyttää 32-bittisessä ARM-ydinkontrollerissa, jossa on Native USB, kuten Arduino DUE // jota suositellaan. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" on NON-NATIVE USB -mikro-ohjaimelle, kuten Arduino MEGA, Arduino UNO.. // Ne ovat huomattavasti hitaampia. }}
Vaihe 4: Pelaa
pienen leipälaudan siirtäminen missä tahansa VR -pelissä pitäisi kääntää kameraa
Suositeltava:
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen
Halvin Arduino -- Pienin Arduino -- Arduino Pro Mini -- Ohjelmointi -- Arduino Neno: 6 vaihetta (kuvilla)
Halvin Arduino || Pienin Arduino || Arduino Pro Mini || Ohjelmointi || Arduino Neno: …………………………. Tilaa YouTube -kanavani saadaksesi lisää videoita ……. Tässä projektissa keskitytään kaikkien aikojen pienimpään ja halvinan arduinoon. Pienin ja halvin arduino on arduino pro mini. Se muistuttaa arduinoa