Indholdsfortegnelse:
Video: Arduino Vr: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Hej Mit navn er Christian og jeg er 13 år. Jeg elsker arduino og har et talent for det, så her er min instruerbare til en arduino vr.
Forbrugsvarer
Tilbehør:
1. Arduino board Mega, Due, Uno eller Yun.
2. Mand til han (standard jumper wires) ledninger.
3. Lille brødbræt
4. USB
5. GY-521 MPU-6050
Valgfri:
6. 5,5 tommer 2560*1440 2K LCD -skærm HDMI til MIPI
7. Fresnel linse Brændvidde 50mm
8. 3D-printer eller 3d-printer service
Trin 1: Saml
Brug skematikken til at sammensætte den.
Trin 2: Sådan installeres bibliotek?
Tag et kig på Github: https://github.com/relativty/Relativ Du kan enten installere det ved hjælp af Git eller direkte download.
Trin 3: Kode
// i2cdevlib og MPU6050 er nødvendige:
// Stor tak til den fantastiske Jeff Rowberg <3, tjek hans repo for at lære mere MPU6050. // =================================================== =================================
// I2Cdev og MPU6050 skal installeres som biblioteker, ellers skal.cpp/.h -filerne // for begge klasser være i inkluderingsstien til dit projekt
#include "Relativ.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #inkluder "Wire.h" #endif
MPU6050 mpu; Relativ relativ;
#define INTERRUPT_PIN 2
// IMU -status og kontrol: bool dmpReady = false; // sand hvis DMP init var vellykket uint8_t mpuIntStatus; uint8_t devStatus; // 0 = succes,! 0 = fejl uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Kvarternion q; // [w, x, y, z]
flygtig bool mpuInterrupt = falsk; // angiver, om MPU -afbrydelsesnål er gået højt tomrum dmpDataReady () {mpuInterrupt = true; }
ugyldig opsætning () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // 400kHz I2C ur. Kommenter denne linje, hvis du har problemer med kompilering #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, true); #Afslut Hvis
relativ.startNative (); // "startNative" kan bruges til 32-bit ARM-kernemikrocontroller med Native USB som Arduino DUE // som anbefales. // Relativ.start (); // "start" er til NON-NATIVE USB mikrokontroller, som Arduino MEGA, Arduino UNO.. // De er betydeligt langsommere. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("MPU6050 forbindelse lykkedes"): F ("MPU6050 forbindelse mislykkedes"));
// konfigurer DMP devStatus = mpu.dmpInitialize ();
// ================================== // angiv dine egne gyro -offsets her: // === ================================ mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus hvis alt fungerede korrekt hvis (devStatus == 0) {// tænde DMP, nu hvor den er klar mpu.setDMPEnabled (true);
// aktiver Arduino interrupt detection detect attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = sand;
// få forventet DMP -pakkestørrelse til senere sammenligning packetSize = mpu.dmpGetFIFOPacketSize (); } andet {// FEJL! }}
void loop () {// Gør ingenting, hvis DMP ikke initialiseres korrekt, hvis (! dmpReady) returnerer;
// vent på, at MPU -afbrydelse eller ekstra pakker er tilgængelige, mens (! mpuInterrupt && fifoCount <packetSize) {}
// nulstil interrupt flag og få INT_STATUS byte mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// få det aktuelle FIFO -tal fifoCount = mpu.getFIFOCount ();
hvis ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // tjek for interrupt ellers hvis (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 "kan bruges til 32-bit ARM-kernemikrocontroller med Native USB som Arduino DUE // som anbefales. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" er til NON-NATIVE USB mikrokontroller, som Arduino MEGA, Arduino UNO.. // De er betydeligt langsommere. }}
Trin 4: Spil
at flytte det lille brødbræt på et hvilket som helst vr -spil skal rotere kameraet
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
RC -sporet robot ved hjælp af Arduino - Trin for trin: 3 trin
RC Tracked Robot Using Arduino - Step by Step: Hey guys, I are back with another cool Robot chassis from BangGood. Håber du har gennemgået vores tidligere projekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot med Robotic Arms og The Badland Braw
DIY Arduino robotarm, trin for trin: 9 trin
DIY Arduino robotarm, trin for trin: Denne vejledning lærer dig, hvordan du bygger en robotarm selv