Satura rādītājs:
- Piegādes
- 1. darbība: salieciet
- 2. darbība. Kā instalēt bibliotēku?
- 3. darbība: kods
- 4. solis: spēlējiet
Video: Arduino Vr: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Sveiki, mani sauc Kristians un man ir 13 gadu. Es mīlu arduino un man ir talants, tāpēc šeit ir mana pamācība arduino vr.
Piegādes
Piegādes:
1. Arduino dēlis Mega, Due, Uno vai Yun.
2. Vadi no vīrieša uz vīrieti (standarta džemperu vadi).
3. Neliels maizes dēlis
4. USB
5. GY-521 MPU-6050
Neobligāti:
6. 5,5 collu 2560*1440 2K LCD ekrāns no HDMI līdz MIPI
7. Fresnel objektīvs Fokālais garums 50mm
8. 3-D printera vai 3D printera pakalpojums
1. darbība: salieciet
Izmantojiet shēmu, lai to saliktu kopā.
2. darbība. Kā instalēt bibliotēku?
Apskatiet Github: https://github.com/relativty/Relativ Jūs varat to instalēt, izmantojot Git, vai tieši lejupielādēt.
3. darbība: kods
// ir nepieciešami i2cdevlib un MPU6050:
// Liels paldies pārsteidzošajam Džefam Roubergam <3, dodieties pārbaudīt viņa repo, lai uzzinātu vairāk MPU6050. // ================================================ ================================
// I2Cdev un MPU6050 ir jāinstalē kā bibliotēkas, vai arī.cpp/.h failiem // abām klasēm jābūt projekta iekļaušanas ceļā
#ietver "Relativ.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #ietver "Wire.h" #endif
MPU6050 mpu; Relativ relativ;
#define INTERRUPT_PIN 2
// IMU statuss un vadība: bool dmpReady = false; // true, ja DMP init bija veiksmīgs uint8_t mpuIntStatus; uint8_t devStatus; // 0 = panākumi,! 0 = kļūda uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Kvartērijs q; // [w, x, y, z]
gaistošs bool mpuInterrupt = false; // norāda, vai MPU pārtraukšanas pin ir kļuvis liels void dmpDataReady () {mpuInterrupt = true; }
void setup () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // 400 kHz I2C pulkstenis. Komentējiet šo rindiņu, ja rodas apkopošanas grūtības #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, true); #endif
relativ.startNative (); // "startNative" var izmantot 32 bitu ARM kodola mikrokontrolleram ar vietējo USB, piemēram, Arduino DUE // kas ir ieteicams. // Relativ.start (); // "starts" ir paredzēts NENATĪVAM USB mikrokontrolleram, piemēram, Arduino MEGA, Arduino UNO.. // Tie ir ievērojami lēnāki. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("MPU6050 savienojums izdevies"): F ("MPU6050 savienojums neizdevās"));
// konfigurēt DMP devStatus = mpu.dmpInitialize ();
// ================================== // sniedz savus žiroskopu nobīdes šeit: // === =============================== mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus, ja viss darbojās pareizi, ja (devStatus == 0) {// ieslēdziet DMP tagad, kad tas ir gatavs mpu.setDMPEnabled (true);
// iespējot Arduino pārtraukšanas noteikšanu attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = true;
// iegūt paredzamo DMP paketes izmēru vēlākai salīdzināšanai packetSize = mpu.dmpGetFIFOPacketSize (); } cits {// KĻŪDA! }}
void loop () {// Nedariet neko, ja DMP netiek pareizi inicializēts, ja (! dmpReady) atgriežas;
// gaidiet, kamēr būs pieejams MPU pārtraukums vai papildu pakete (-s), kamēr (! mpuInterrupt && fifoCount <packetSize) {}
// atiestatīt pārtraukuma karodziņu un iegūt INT_STATUS baitu mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// iegūt pašreizējo FIFO skaitu fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // pārbaudiet, vai nav pārtraukuma 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 "var izmantot 32 bitu ARM kodola mikrokontrolleram ar vietējo USB, piemēram, Arduino DUE // kas ir ieteicams. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" ir NENATĪVAM USB mikrokontrolleram, piemēram, Arduino MEGA, Arduino UNO.. // Tie ir ievērojami lēnāki. }}
4. solis: spēlējiet
pārvietojot mazo maizes dēli jebkurā VR spēlē, vajadzētu pagriezt kameru
Ieteicams:
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: 4 soļi
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: Šajā projektā es izveidošu vienkāršu Arduino automašīnas atpakaļgaitas stāvvietas sensora shēmu, izmantojot Arduino UNO un ultraskaņas sensoru HC-SR04. Šo uz Arduino bāzēto automašīnas reverso brīdinājuma sistēmu var izmantot autonomai navigācijai, robotu diapazonam un citiem diapazoniem
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)
RC izsekots robots, izmantojot Arduino - soli pa solim: 3 soļi
RC izsekots robots, izmantojot Arduino - Soli pa solim: Sveiki, puiši, esmu atpakaļ ar vēl vienu atdzist robota šasiju no BangGood. Ceru, ka esat izgājis cauri mūsu iepriekšējiem projektiem - Spinel Crux V1 - Žestu kontrolētais robots, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms un The Badland Braw
DIY Arduino robotu roka, soli pa solim: 9 soļi
DIY Arduino robotu roka, soli pa solim: Šī apmācība māca jums pašam izveidot robota roku