Სარჩევი:
ვიდეო: Arduino Vr: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
გამარჯობა მე მქვია ქრისტიანი და მე ვარ 13 წლის. მე მიყვარს არდუინო და მაქვს მისი ნიჭი, ასე რომ, აქ არის ჩემი ინსტრუქცია არდუინოს წინააღმდეგ.
მარაგები
მასალები:
1. Arduino დაფა Mega, Due, Uno, ან Yun.
2. მამაკაცი მამრობითი (სტანდარტული მხტუნავი მავთულები) მავთულები.
3. მცირე ზომის დაფა
4. USB
5. GY-521 MPU-6050
სურვილისამებრ:
6. 5.5 დიუმიანი 2560*1440 2K LCD ეკრანი HDMI to MIPI
7. ფრესელის ობიექტივი ფოკალური სიგრძე 50 მმ
8. 3D პრინტერი ან 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 mpu; ნათესავი ნათესავი;
#განსაზღვრეთ 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];
Quaternion q; // [w, x, y, z]
არასტაბილური ბოლი mpuInterrupt = ყალბი; // მიუთითებს თუ არა MPU შეწყვეტის პინზე მაღალი void dmpDataReady () {mpuInterrupt = true; }
void setup () { #თუ I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin (); Wire.setClock (400000); // 400kHz I2C საათი. დააკომენტარეთ ეს სტრიქონი, თუ შედგენის სირთულეები გაქვთ #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire:: setup (400, true); #დაასრულე თუ
relativ.startNative (); // "startNative" შეიძლება გამოყენებულ იქნას 32-ბიტიანი ARM ბირთვიანი მიკროკონტროლერისათვის მშობლიურ USB- სთან ერთად, როგორიცაა Arduino DUE // რაც რეკომენდირებულია. // Relativ.start (); // "დაწყება" განკუთვნილია არა-ნაციონალური USB მიკროკონტროლისთვის, როგორიცაა Arduino MEGA, Arduino UNO.. // ეს მნიშვნელოვნად ნელია. mpu. ინიციალიზაცია (); 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 შეწყვეტის გამოვლენის attachInterrupt (digitalPinToInterrupt (INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus ();
dmpReady = ჭეშმარიტი;
// მიიღეთ მოსალოდნელი DMP პაკეტის ზომა შემდგომი შედარებისთვის packetSize = mpu.dmpGetFIFOPacketSize (); } სხვა {// შეცდომა! }}
void loop () {// არაფერი გააკეთო, თუ DMP არ ინიციალიზდება სწორად, თუ (! dmpReady) დაბრუნდება;
// დაელოდეთ MPU- ს შეწყვეტას ან დამატებით პაკეტებს (სანამ) იქნება ხელმისაწვდომი! (! mpuInterrupt && fifoCount <packetSize) {}
// გადატვირთეთ შეწყვეტის დროშა და მიიღეთ INT_STATUS ბაიტი mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus ();
// მიიღეთ მიმდინარე FIFO რაოდენობა fifoCount = mpu.getFIFOCount ();
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {mpu.resetFIFO (); } // შემოწმება სხვა შეწყვეტისთვის თუ (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 "შეიძლება გამოყენებულ იქნას 32-ბიტიანი ARM ბირთვიანი მიკროკონტროლერისთვის USB- ით Arduino DUE // რაც რეკომენდირებულია. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" არის არა-ნაციონალური USB მიკროკონტროლერისთვის, როგორიცაა Arduino MEGA, Arduino UNO.. // ეს მნიშვნელოვნად ნელია. }}
ნაბიჯი 4: თამაში
პატარა პურის დაფის ნებისმიერ vr თამაშზე გადატანამ უნდა შეაბრუნოს კამერა
გირჩევთ:
ნახევარი ნაბიჯი: 5 ნაბიჯი (სურათებით)
სემინარი: IntroduçãoNeste projeto, você construirá um an sistema de semáforos: არსებობს 3 LED ნათურები სხვადასხვა ბირთვით (verde, amarelo e vermelho) para imitar os semáforos dos carros; არსებობს 2 LED ნათურები სხვადასხვა ბირთვით (verde და vermelho) იმისთვის, რომ გააკეთოთ
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი!: 6 ნაბიჯი
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი! შინაური ცხოველების მქონე ადამიანებს, ალბათ, იგივე პრობლემა ჰქონდათ, როგორც მე: შვებულება და დავიწყება. მე მუდმივად მავიწყდებოდა ჩემი თევზის გამოკვება და ყოველთვის ვცდილობდი ასე გამეკეთებინა სანამ ის წავიდოდა
აკუსტიკური ლევიტაცია Arduino Uno– ით ეტაპობრივად (8 ნაბიჯი): 8 ნაბიჯი
აკუსტიკური ლევიტაცია Arduino Uno– სთან ერთად ეტაპობრივად (8 საფეხური): ულტრაბგერითი ხმის გადამცემები L298N Dc მდედრობითი ადაპტერი დენის წყაროს მამაკაცის dc pin Arduino UNOBreadboard და ანალოგური პორტები კოდის გადასაყვანად (C ++)
ნაბიჯი: 4 ნაბიჯი
聲納: 改作: https: //aboutsciences.com/blog/arduino-radar-using … 我 在 原本 聲納 的 ar ar ar ar ar: arduino uno, 感測器, 馬達, 喇叭: 掃描 到 物品 加速 並 傳 述 cm cm cm cm cm cm cm 10 სმ 時 喇叭 會
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: 3 ნაბიჯი
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: შემდეგი სახელმძღვანელო დაგეხმარებათ მიიღოთ პირდაპირი HD ხარისხის ვიდეო ნაკადები თითქმის ნებისმიერი DJI თვითმფრინავისგან. FlytOS მობილური აპლიკაციისა და FlytNow ვებ აპლიკაციის დახმარებით თქვენ შეგიძლიათ დაიწყოთ ვიდეოს სტრიმინგი დრონიდან