Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Skateboard Realitas Virtual DIY

Komponen dan persediaan

Arduino UNO
× 1
Perangkat Android
× 1
Headset VR Google Cardboard
× 1
Kabel jumper (generik)
× 1
GY-521 MPU-6050 3 Sumbu Giroskop + Modul Akselerometer Untuk Arduino
× 1

Aplikasi dan layanan online

SDK VR Google Karton

Tentang proyek ini

Ini adalah proyek yang sangat menyenangkan dan mudah yang dapat dilakukan dalam waktu sekitar satu jam. Di bagian bawah skateboard terdapat akselerometer/gyro dengan papan Arduino yang mentransmisikan gerakan sudut papan melalui Bluetooth ke game VR kecil yang saya buat di Unity untuk ponsel Android. Jadi, ketika Anda menyalakan Arduino dan bluetooth terhubung dengan telepon Anda, Anda mulai bergerak maju. Condong ke kiri dan Anda ke kiri, condong ke kanan dan Anda ke kanan. Angkat roda depan dan karakter Anda akan melompat. Ini hanya berfungsi untuk ponsel Android dan ponsel Anda harus kompatibel dengan Google Cardboard. Jadi, jika Anda memiliki papan luncur lama, ubahlah menjadi papan luncur realitas virtual. Begini caranya:

Anda akan membutuhkan:

Headset realitas virtual bergaya Google Cardboard.

Sebuah skateboard.

4 bola tenis (agar tidak menggelinding)

Arduino Leonardo (atau Uno)

Beberapa kabel jumper

Papan tempat memotong roti mini

Modul Bluetooth HC-06

Akselerometer/gyro MPU-6050

Baterai 9V dengan kotak baterai yang memiliki sakelar hidup/mati dan colokan barel (untuk memberi daya pada papan Arduino)

Besi solder dan mungkin pistol lem panas

Aplikasi Android, kode Arduino, dan daftar suku cadang dengan tautan dapat ditemukan di sini:

http://wirebeings.com/virtual-reality-skateboard.html

Langkah 1:Buat Perangkat/Pemancar/Input/Barang Arduino Anda

Rakit perangkat Anda seperti yang ditunjukkan pada gambar di atas.

Anda perlu menyolder pin header ke MPU-6050, jika besi solder Anda baru dan ujungnya bersih, ini dapat dilakukan dalam waktu sekitar 11 detik. Jika ujung besi solder Anda kotor dan tua, ini akan dengan cepat menjadi hal tersulit yang pernah Anda lakukan (berdasarkan pengalaman).

Pastikan orientasi semuanya persis seperti yang ditunjukkan pada gambar di atas sehingga Anda tidak perlu masuk ke kode dan mengedit apa pun.

Lampirkan semuanya ke skateboard Anda PERSIS seperti yang ditunjukkan (pastikan saja MPU6050 menghadap ke arah yang sama dengan gambar)

Di sini saya merekatkan kotak baterai ke papan dengan lem panas dan memasang papan Arduino ke bawah. Saya menggunakan papan sekolah lama karena papan yang lebih lebar lebih baik untuk tujuan pengalaman ini. Cukup sulit untuk menyeimbangkan di papan saat berada dalam realitas virtual.

CATATAN:Leonardo bekerja jauh lebih baik untuk ini...namun...

Jika Anda menggunakan Arduino Uno, semua koneksinya sama kecuali:

SDA ke A4 dan SCL ke A5

Langkah 2:Unggah kode Arduino ke Perangkat / Pemancar / Masukan Anda

PENTING:Cabut pin RX dan TX sebelum mengupload kode ke board Anda.  

Langkah 3:Hampir selesai! Unduh Aplikasi ke Ponsel Anda!

Ikuti tautan ini dan unduh aplikasi ke ponsel Anda.

Aplikasi Skateboard/Snowboard Virtual Reality Google Karton

Anda harus masuk ke setelan keamanan dan mengizinkan aplikasi dipasang dari pengembang yang tidak dikenal.

Pastikan untuk memasangkan modul Bluetooth ke telepon Anda, jangan mengubah nama default (HC-06). Sandi harus 1234. 

Catatan:

Ini adalah Game Unity pertama saya...jadi ini cukup mendasar.

Jika cukup banyak orang yang membuat ini, saya dapat mencoba membuat permainan papan luncur salju yang lebih baik, atau membuat permainan papan seluncur yang sebenarnya tergantung pada permintaan yang saya dapatkan.

Saat menghidupkan perangkat Arduino Anda, pastikan skateboard rata di tanah dan kemudian buka aplikasinya. Segera setelah Bluetooth terhubung, Anda akan masuk.

Jika Bluetooth terputus, mulai ulang aplikasi (ini disetel untuk terhubung hanya di awal aplikasi, untuk saat ini).

Kode

  • Kode Arduino
Kode ArduinoArduino
#include "I2Cdev.h"#include "MPU6050_6Axis_MotionApps20.h"#if I2CDEV_IMPLEMENTATION ==I2CDEV_ARDUINO_WIRE #include "Wire.h"#endifMPU6050 mpu;bool dmpReady =false; uint8_t mpuIntStatus; uint8_t devStatus; ukuran paket uint16_t; uint16_t fifoCount; uint8_t fifoBuffer[64]; Quaternion q; VektorInt16 aa; VectorInt16 aaReal; VectorInt16 aaWorld; gravitasi vektorFloat; mengapung euler[3]; mengapung ypr[3]; volatil bool mpuInterrupt =false; void setup() { #jika I2CDEV_IMPLEMENTATION ==I2CDEV_ARDUINO_WIRE Wire.begin(); TWBR =24; #elif I2CDEV_IMPLEMENTATION ==I2CDEV_BUILTIN_FASTWIRE Fastwire::setup(400, true); #endif Serial.begin(9600); //Untuk digunakan dengan Arduino Uno Serial1.begin(9600); //Untuk digunakan dengan Leonardo Serial.println(F("Menginisialisasi perangkat I2C...")); mpu.initialize(); Serial.println(F("Menguji koneksi perangkat...")); Serial.println(mpu.testConnection() ? F("Koneksi MPU6050 berhasil") :F("Koneksi MPU6050 gagal")); Serial.println(F("Inisialisasi DMP...")); devStatus =mpu.dmpInitialize(); mpu.setXGyroOffset(220); mpu.setYGyroOffset(76); mpu.setZGyroOffset(-85); mpu.setZAccelOffset(1788); if (devStatus ==0) { Serial.println(F("Mengaktifkan DMP...")); mpu.setDMPEnabled(benar); Serial.println(F("Mengaktifkan deteksi interupsi (interupsi eksternal Arduino 0)...")); attachInterrupt(0, dmpDataReady, RISING); mpuIntStatus =mpu.getIntStatus(); Serial.println(F("DMP siap! Menunggu interupsi pertama...")); dmpSiap =benar; packetSize =mpu.dmpGetFIFOPacketSize(); } else { Serial.print(F("Inisialisasi DMP gagal (kode ")); Serial.print(devStatus); Serial.println(F(")")); } }void sendData(int x, int y, int z){ if(z <-10){ //forward Serial1.write("f"); // Tulis ke Leonardo Serial1.write(10); //Hentikan Bit Serial.write("f"); // Tulis ke Uno Serial.write(10); //Hentikan bit } else if (z> 0){ //backward Serial1.write("b"); Serial1.write(10); Serial.write("b"); Serial.tulis(10); } else if (y> 5){ //Untuk membuat nilai perubahan yang lebih sensitif menjadi 4 atau kurang //right Serial1.write("r"); Serial1.write(10); Serial.write("r"); Serial.tulis(10); } else if (y <-5){ //Untuk membuat perubahan yang lebih sensitif ke -4 atau lebih besar //left Serial1.write("l"); Serial1.write(10); Serial.write("l"); Serial.tulis(10); } else //hentikan Serial1.write("s"); Serial1.write(10); Serial.write("s"); Serial.tulis(10); }void loop() { jika (!dmpReady) kembali; mpuInterrupt =salah; mpuIntStatus =mpu.getIntStatus(); fifoCount =mpu.getFIFOCount(); if ((mpuIntStatus &0x10) || fifoCount ==1024) { mpu.resetFIFO(); Serial.println(F("FIFO Meluap")); } else if (mpuIntStatus &0x02) { while (fifoCount   

Skema


Proses manufaktur

  1. DIY LUMAZOID Arduino Music Visualizer
  2. Mengambil Tetesan Air Dengan Arduino
  3. Voltmeter DIY Menggunakan Arduino dan Smartphone
  4. JX Wave Generator
  5. J.A.R.V.I.S dengan Reaktor Busur DIY
  6. DIY Arduino RADIONICS Treatment MMachine
  7. Simulator Balap Gerak 2D DIY
  8. Arduino + Modul GPS - Pemberitahu Tujuan
  9. ArduRadio AlarmClock
  10. Virtual Arduino Tennis