Съдържание:
- Консумативи
- Стъпка 1: Сглобете
- Стъпка 2: Как да инсталирам библиотека?
- Стъпка 3: Код
- Стъпка 4: Играйте
Видео: Arduino Vr: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Здравейте Казвам се Кристиан и съм на 13 години. Обичам arduino и имам талант за това, така че тук е моят инструктаж за arduino vr.
Консумативи
Консумативи:
1. Arduino дъска Mega, Due, Uno или Yun.
2. Мъжки към мъжки (стандартни джъмперни проводници) проводници.
3. Малка дъска
4. USB
5. GY-521 MPU-6050
По избор:
6. 5,5 инчов 2560*1440 2K LCD екран HDMI към MIPI
7. Леща на Френел Фокусно разстояние 50 мм
8. Услуга за 3-D принтер или 3d принтер
Стъпка 1: Сглобете
Използвайте схемата, за да я съберете.
Стъпка 2: Как да инсталирам библиотека?
Разгледайте Github: https://github.com/relativty/Relativ Можете да го инсталирате с помощта на Git или директно изтегляне.
Стъпка 3: Код
// необходими са i2cdevlib и MPU6050:
// Голямо благодаря на невероятния Jeff Rowberg <3, отидете да проверите неговото репо, за да научите повече MPU6050. // ================================================ =============================
// I2Cdev и MPU6050 трябва да бъдат инсталирани като библиотеки, иначе.cpp/.h файловете // и за двата класа трябва да са в пътя за включване на вашия проект
#включва "Relativ.h"
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#ако I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #включва "Wire.h" #endif
MPU6050 mpu; Relativ relativ;
#дефинирайте INTERRUPT_PIN 2
// Състояние и контрол на IMU: bool dmpReady = false; // вярно, ако DMP init е успешен uint8_t mpuIntStatus; uint8_t devStatus; // 0 = успех,! 0 = грешка uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64];
Кватернион q; // [w, x, y, z]
летливи bool mpuInterrupt = false; // указва дали прекъсването на прекъсването на MPU е високо void dmpDataReady () {mpuInterrupt = true; }
void setup () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // 400kHz I2C часовник. Коментирайте този ред, ако имате затруднения при компилирането #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, вярно); #endif
relativ.startNative (); // "startNative" може да се използва за 32-битов ARM ядрен микроконтролер с Native USB като Arduino DUE // което се препоръчва. // Relativ.start (); // "стартът" е за NON-NATIVE USB микроконтролер, като Arduino MEGA, Arduino UNO.. // Те са значително по-бавни. mpu.initialize (); pinMode (INTERRUPT_PIN, INPUT);
SerialUSB.println (mpu.testConnection ()? F ("MPU6050 връзката е успешна"): F ("MPU6050 връзката е неуспешна"));
// конфигуриране на DMP devStatus = mpu.dmpInitialize ();
// ================================ // предоставете свои собствени компенсации на жироскопа тук: // === =============================== mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788);
// devSTatus, ако всичко работи правилно, ако (devStatus == 0) {// включите DMP, сега, когато е готово mpu.setDMPEnabled (true);
// разрешаване на откриване на прекъсване на Arduino attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = вярно;
// получаваме очаквания размер на пакета DMP за по -късно сравнение packetSize = mpu.dmpGetFIFOPacketSize (); } else {// ГРЕШКА! }}
void loop () {// Не правете нищо, ако DMP не инициализира правилно if (! dmpReady) return;
// изчакайте MPU прекъсването или допълнителните пакети да са налични докато (! mpuInterrupt && fifoCount <packetSize) {}
// нулираме флага на прекъсване и получаваме INT_STATUS байт mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// получавам текущ брой FIFO fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // проверка за прекъсване else if (mpuIntStatus & 0x02) {while (fifoCount <packetSize) fifoCount = mpu.getFIFOCount (); mpu.getFIFOBytes (fifoBuffer, packetSize); fifoCount -= размер на пакета; mpu.dmpGetQuaternion (& q, fifoBuffer); relativ.updateOrientationNative (q.x, q.y, q.z, q.w, 4); // updateOrientationNative "може да се използва за 32-битов ARM ядрен микроконтролер с Native USB като Arduino DUE // което се препоръчва. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" е за NON-NATIVE USB микроконтролер, като Arduino MEGA, Arduino UNO.. // Те са значително по-бавни. }}
Стъпка 4: Играйте
преместването на малката дъска на всяка VR игра трябва да завърти камерата
Препоръчано:
Система за предупреждение за паркиране на автомобил Arduino - Стъпки по стъпка: 4 стъпки
Система за предупреждение за паркиране на автомобил Arduino | Стъпки по стъпка: В този проект ще проектирам обикновена верига за сензори за паркиране на автомобил Arduino, използвайки Arduino UNO и HC-SR04 ултразвуков сензор. Тази базирана на Arduino система за предупреждение за автомобил за заден ход може да се използва за автономна навигация, измерване на роботи и други обхвати
Arduino Halloween Edition - Изскачащ екран за зомбита (стъпки със снимки): 6 стъпки
Arduino Halloween Edition - Изскачащ екран за зомбита (стъпки със снимки): Искате ли да изплашите приятелите си и да издадете крещящ шум в Хелоуин? Или просто искате да направите добра шега? Този изскачащ екран Zombies може да направи това! В тази инструкция ще ви науча как лесно да правите изскачащи зомбита с помощта на Arduino. HC-SR0
Arduino Uno хранилка за риба в 6 евтини и лесни стъпки !: 6 стъпки
Arduino Uno Feeder Feeder в 6 евтини и лесни стъпки !: Така че може да е необходима малко предистория за този проект. Хората с домашни риби вероятно са имали същия проблем като мен: почивките и забравата. Постоянно забравях да храня рибите си и винаги се опитвах да го направя, преди да отиде в
Arduino Първи стъпки с хардуер и софтуер и уроци по Arduino: 11 стъпки
Arduino Първи стъпки с хардуер и софтуер и уроци по Arduino: В днешно време производителите, разработчиците предпочитат Arduino за бързо развитие на прототипирането на проекти. Arduino е електронна платформа с отворен код, базирана на лесен за използване хардуер и софтуер. Arduino има много добра потребителска общност. Arduino борда d
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE - Инсталиране на платки Esp в Arduino Ide и програмиране на Esp: 4 стъпки
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE | Инсталиране на Esp платки в Arduino Ide и програмиране на Esp: В тази инструкция ще научим как да инсталираме esp8266 дъски в Arduino IDE и как да програмираме esp-01 и да качваме код в нея. Тъй като esp дъските са толкова популярни, затова се замислих да поправя инструкции за това и повечето хора се сблъскват с проблем