Мазмұны:
- Жабдықтар
- 1 -қадам: жинау
- 2 -қадам: Кітапхананы қалай орнатуға болады?
- 3 -қадам: код
- 4 -қадам: Ойнаңыз
Бейне: Arduino Vr: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Сәлем Менің атым Кристиан, мен 13 жастамын. Мен ардуиноны жақсы көремін және оның таланты бар, міне arduino vr үшін менің нұсқауым.
Жабдықтар
Жабдықтар:
1. Arduino тақтасы Mega, Due, Uno немесе Yun.
2. Аталықтан аталыққа дейінгі (стандартты секіргіш сымдар) сымдар.
3. Кішкене нан тақтасы
4. USB
5. GY-521 MPU-6050
Қосымша:
6. 5,5 дюймдік 2560*1440 2K СКД экраны HDMI - MIPI
7. Френель линзасы Фокус ұзындығы 50 мм
8. 3-D принтері немесе 3d принтер қызметі
1 -қадам: жинау
Оны біріктіру үшін схеманы қолданыңыз.
2 -қадам: Кітапхананы қалай орнатуға болады?
Github -ты қараңыз: https://github.com/relativty/Relativ Сіз оны Git немесе тікелей жүктеу арқылы орната аласыз.
3 -қадам: код
// i2cdevlib және MPU6050 қажет:
// Таңғажайып Джефф Роугбергке үлкен рахмет <3, MPU6050 туралы көбірек білу үшін оның репосын тексеріңіз. // ================================================ =============================
// I2Cdev және MPU6050 кітапханалар ретінде орнатылуы керек, әйтпесе.cpp/.h файлдары // екі сынып үшін де сіздің жобаңыздың қосу жолында болуы керек.
#«Relativ.h» қосыңыз
#«I2Cdev.h» қосыңыз
#«MPU6050_6Axis_MotionApps20.h» қосыңыз
#егер I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #«Wire.h» қосу #endif
MPU6050 мегапиксель; Релятивті релятивті;
#INTERRUPT_PIN анықтаңыз 2
// IMU күйі мен бақылауы: bool dmpReady = false; // егер DMP бастамасы сәтті болса 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 үзу түйреуішінің жоғары бос орынға жеткенін көрсетеді dmpDataReady () {mpuInterrupt = true; }
void setup () {#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // 400 кГц I2C сағаты. Егер компиляция қиындықтары болса, осы жолға түсініктеме беріңіз #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, true); #endif
relativ.startNative (); // «startNative» Arduino DUE // сияқты жергілікті USB бар 32 биттік ARM ядро микроконтроллері үшін қолданыла алады. // Relativ.start (); // «старт»-Arduino MEGA, Arduino UNO сияқты NAT-NATIVE USB микроконтроллеріне арналған.. // Олар айтарлықтай баяу. 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 (шын);
// Arduino үзілісті анықтауды қосуды қосады AttInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = ақиқат;
// кейінірек салыстыру үшін күтілетін DMP пакетінің өлшемін алу packetSize = mpu.dmpGetFIFOPacketSize (); } басқа {// ҚАТЕ! }}
void loop () {// Егер (! dmpReady) қайтарылса, DMP дұрыс бапталмаса, ештеңе жасамаңыз;
// (! mpuInterrupt && fifoCount <packetSize) {} кезінде MPU үзілісінің немесе қосымша пакеттің болуын күтіңіз.
// үзіліс жалаушасын қалпына келтіру және INT_STATUS байтты mpuInterrupt = false алу; mpuIntStatus = mpu.getIntStatus ();
// ағымдағы FIFO санын алу fifoCount = mpu.getFIFOCount ();
егер ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // үзілісті тексеріңіз, егер 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 «ұсынылған Arduino DUE // сияқты Native USB бар 32 биттік ARM ядро микроконтроллері үшін қолданыла алады. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation» ND-NATIVE USB микроконтроллері үшін, мысалы Arduino MEGA, Arduino UNO.. // Олар айтарлықтай баяу. }}
4 -қадам: Ойнаңыз
кез келген vr ойынында шағын тақтаны жылжыту камераны айналдыруы керек
Ұсынылған:
Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)
Arduino басқарылатын роботты екіжақты: Мен әрқашан роботтарға қызығатынмын, әсіресе адамның іс -әрекетіне еліктеуге тырысатын. Бұл қызығушылық мені жаяу жүруге және жүгіруге еліктей алатын екіжақты робот құрастыруға және дамытуға талпындырды. Бұл нұсқаулықта мен сізге көрсетемін
Arduino Uno көмегімен акустикалық левитация Қадамдық қадам (8 қадам): 8 қадам
Акустикалық левитация Arduino Uno Қадамдық қадаммен (8-қадам): ультрадыбыстық дыбыс түрлендіргіштері L298N Dc әйелдер адаптерінің ток көзі еркек тоқ сымымен Arduino UNOBreadboard Бұл қалай жұмыс істейді: Біріншіден, сіз кодты Arduino Uno-ға жүктейсіз (бұл сандық жүйемен жабдықталған микроконтроллер) және кодты түрлендіру үшін аналогтық порттар (C ++)
Arduino көмегімен RC бақыланатын робот - Қадам бойынша: 3 қадам
Arduino көмегімен RC бақыланатын робот - Қадам: Сәлем балалар, мен BangGood компаниясының тағы бір керемет робот шассиімен оралдым. Сіз біздің алдыңғы жобаларымыздан өттіңіз деп үміттенеміз - Spinel Crux V1 - Қимылмен басқарылатын робот, Spinel Crux L2 - Arduino Pick and Place Robot with Robot Arms және The Badland Braw
Arduino - Servo және MPU6050 Gyro көмегімен GoPro үшін ролл мен қадам осі Гимбал: 4 қадам
GoPro үшін Arduino - Servo және MPU6050 Gyro пайдаланатын Roll and Pitch Axis Gimbal: Бұл нұсқаулық Оңтүстік Флорида университетінің Makecourse жобасының талаптарын орындау үшін жасалған (www.makecourse.com) Бұл жобаның мақсаты - GoPro үшін 3 осьтік Gimbal Arduino нано + 3 серво қозғалтқыштарын қолдану арқылы
DIY Arduino робот қолы, Қадам: 9 қадам
DIY Arduino робот қолы, қадам бойынша: Бұл оқулық сізге робот қолын қалай жасауға болатынын үйретеді