Агуулгын хүснэгт:
Видео: Arduino Vr: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Сайн уу Намайг Христчин гэдэг, би 13 настай. Би arduino -д дуртай, түүнд авьяастай болохоор эндээс arduino vr -д сургах зүйл байна.
Хангамж
Хангамж:
1. Arduino board Mega, Due, Uno, or Yun.
2. Эрэгтэй эрэгтэй (стандарт холбогч утас) утас.
3. Жижиг талхны хавтан
4. USB
5. GY-521 MPU-6050
Нэмэлт:
6. 5.5 инчийн 2560*1440 2K LCD дэлгэцтэй MIPI HDMI
7. Fresnel линз Фокусын урт 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" -ийг оруулна уу.
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #"Wire.h" -ийг оруулна уу #endif
MPU6050 мегапиксел; Харьцангуй харьцангуй;
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]
дэгдэмхий 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, үнэн); #endif
relativ.startNative (); // "startNative" -ийг Arduino DUE // гэх мэт уугуул USB-тэй 32 битийн ARM цөмийн микроконтроллерт ашиглах боломжтой. // Relativ.start (); // "эхлэх" нь Arduino MEGA, Arduino UNO гэх мэт УУЛ бус 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 тасалдлыг илрүүлэх attachInterrupt (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 ();
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 "-ийг санал болгож буй Arduino DUE // гэх мэт уугуул USB-тэй 32 битийн ARM цөмийн микроконтроллерт ашиглаж болно. //relativ.updateOrientation(qx, qy, qz, qw, 4); // Relativ.updateOrientation" нь Arduino MEGA, Arduino UNO зэрэг NON-NATIVE USB микроконтроллерын хувьд.. // Эдгээр нь хамаагүй удаан байдаг. }}
Алхам 4: Тоглох
Жижиг талхны самбарыг ямар ч vr тоглоом дээр шилжүүлэх нь камерыг эргүүлэх ёстой
Зөвлөмж болгож буй:
Arduino машины урвуу зогсоолын дохиоллын систем - Алхам алхамаар: 4 алхам
Arduino машины урвуу зогсоолын дохиоллын систем | Алхам алхамаар: Энэ төсөлд би Arduino UNO болон HC-SR04 хэт авианы мэдрэгч ашиглан Arduino автомашины урвуу зогсоолын мэдрэгчийн энгийн хэлхээг зохион бүтээнэ. Энэхүү Arduino дээр суурилсан Автомашины Урвуу дохиоллын системийг бие даасан навигаци, роботын хүрээ болон бусад хүрээний зориулалтаар ашиглаж болно
LoRa Arduino, Esp8266 эсвэл Esp32: 15 алхам бүхий бага зардалтай E32 (sx1278/sx1276) төхөөрөмж бүхий 3 км -ээс 8 км хүртэлх утасгүй холбоо: 15 алхам
LoRa Arduino, Esp8266 эсвэл Esp32 -д зориулсан бага өртөгтэй E32 (sx1278/sx1276) төхөөрөмж бүхий 3Km -аас 8Km хүртэлх утасгүй холбоо: Би Semtech цувралын LoRa төхөөрөмж дээр суурилсан EBYTE E32 -ийг удирдах номын сан, маш хүчирхэг, энгийн бөгөөд хямд төхөөрөмжтэй. 3км -ийн хувилбар энд, 8км -ийн хувилбар энд байна Тэд 3000м -ээс 8000м -ийн зайд ажиллах боломжтой бөгөөд тэдгээр нь маш олон онцлог шинж чанартай байдаг
Arduino Uno ашиглан акустик левитаци Алхам алхам (8 алхам): 8 алхам
Arduino Uno-тай акустик Levitation Алхам алхамаар (8 алхам): хэт авианы дууны дамжуулагч L298N Dc эмэгтэй адаптерийн эрэгтэй тэжээлийн тэжээлийн хангамж Arduino UNOBreadboard Энэ нь хэрхэн ажилладаг вэ: Нэгдүгээрт, та кодыг Arduino Uno-д байршуулдаг (энэ нь дижитал төхөөрөмжөөр тоноглогдсон микроконтроллер юм. кодыг хөрвүүлэх аналог портууд (C ++)
Arduino ашиглан RC хяналттай робот - Алхам алхамаар: 3 алхам
Arduino ашиглан RC Tracked робот Та өмнөх төслүүдээ хэрэгжүүлсэн гэж найдаж байна - Spinel Crux V1 - The Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms, The Badland Braw
DIY Arduino робот гар, Алхам алхам: 9 алхам
DIY Arduino робот гар, алхам алхмаар: Эдгээр заавар нь танд робот гарыг хэрхэн яаж хийхийг зааж өгөх болно