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

Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth

Komponen dan Perlengkapan

Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth
Arduino UNO
× 1
Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth
Modul Bluetooth HC-06
× 1
Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth
Perangkat Android
× 1
Headset VR Google Cardboard
× 1
Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth
Kabel Jumper (umum)
× 1
Modul GY-521 MPU-6050 Gyroskop 3 Axis + Akselerometer untuk Arduino
× 1

Aplikasi dan Layanan Online

Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth
Google Cardboard VR SDKs

Tentang Proyek Ini

Ini adalah proyek yang menyenangkan dan mudah yang dapat diselesaikan dalam waktu sekitar satu jam. Di bagian bawah papan skate terdapat akselerometer/giroscop 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 ponsel Anda, Anda mulai bergerak ke depan. Miringkan ke kiri dan Anda akan ke kiri, miringkan ke kanan dan Anda akan 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 skate lama yang tidak terpakai, ubah menjadi papan salju virtual reality. Berikut caranya:

Yang Anda Butuhkan:

Langkah 1: Buat Perangkat/Pengirim/Input Arduino Anda

Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth
Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth

Rakit perangkat Anda seperti yang ditunjukkan dalam gambar di atas.

Anda perlu menyolder pin header pada MPU-6050. Jika alat solder Anda baru dan ujungnya bersih, ini dapat dilakukan dalam waktu sekitar 11 detik. Jika ujung alat solder Anda kotor dan lama, ini akan segera menjadi hal paling sulit yang pernah Anda lakukan (dari pengalaman).

Pastikan orientasi semua hal persis seperti yang ditunjukkan dalam gambar di atas sehingga Anda tidak perlu masuk ke kode dan mengubah apa pun.

Pasang semua hal pada papan skate Anda PERSIS seperti yang ditunjukkan (hanya pastikan MPU6050 menghadap arah yang sama seperti gambar).

Di sini saya melekatkan kotak baterai pada papan dengan lem panas dan memasang papan Arduino dengan baut. Saya menggunakan papan skate lama karena papan yang lebih lebar lebih baik untuk tujuan pengalaman ini. Cukup sulit untuk menyeimbangkan diri pada papan saat berada dalam realitas virtual.

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

Jika Anda menggunakan Arduino Uno, semua koneksi sama kecuali:

SDA terhubung ke A4 dan SCL terhubung ke A5

Langkah 2: Unggah Kode Arduino ke Perangkat/Pengirim/Input Anda

Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth
PENTING: Lepaskan pin RX dan TX sebelum mengunggah kode ke papan Anda.

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

Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth

Ikuti tautan ini dan unduh aplikasi ke ponsel Anda.

Aplikasi Papan Skate/Salju Virtual Reality Google Cardboard

Anda perlu masuk ke pengaturan keamanan dan mengizinkan aplikasi diinstal dari pengembang yang tidak diketahui.

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

Catatan:

Ini adalah game Unity pertama saya... jadi cukup dasar.

Jika cukup banyak orang yang membuat ini, saya dapat mencoba membuat game papan salju yang lebih baik, atau membuat game papan skate sebenarnya tergantung pada permintaan yang saya terima.

Jika Anda menyalakan perangkat Arduino, pastikan papan skate datar di tanah lalu buka aplikasi. Segera setelah Bluetooth terhubung, Anda akan turun.

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

Kode

Kode ArduinoArduino
#include "I2Cdev.h" #include "MPU6050_6Axis_MotionApps20.h" #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif MPU6050 mpu; bool dmpReady = false; uint8_t mpuIntStatus; uint8_t devStatus; uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer[64]; Quaternion q; VectorInt16 aa; VectorInt16 aaReal; VectorInt16 aaWorld; VectorFloat gravity; float euler[3]; float ypr[3]; volatile bool mpuInterrupt = false; void setup() { #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin(); TWBR = 24; #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire::setup(400, true); #endif Serial.begin(9600); //For use with Arduino Uno Serial1.begin(9600); //For use with Leonardo Serial.println(F("Initializing I2C devices...")); mpu.initialize(); Serial.println(F("Testing device connections...")); Serial.println(mpu.testConnection() ? F("MPU6050 connection successful") : F("MPU6050 connection failed")); Serial.println(F("Initializing DMP...")); devStatus = mpu.dmpInitialize(); mpu.setXGyroOffset(220); mpu.setYGyroOffset(76); mpu.setZGyroOffset(-85); mpu.setZAccelOffset(1788); if (devStatus == 0) { Serial.println(F("Enabling DMP...")); mpu.setDMPEnabled(true); Serial.println(F("Enabling interrupt detection (Arduino external interrupt 0)...")); attachInterrupt(0, dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus(); Serial.println(F("DMP ready! Waiting for first interrupt...")); dmpReady = true; packetSize = mpu.dmpGetFIFOPacketSize(); } else { Serial.print(F("DMP Initialization failed (code ")); Serial.print(devStatus); Serial.println(F(")")); } } void sendData(int x, int y, int z) { if(z < -10){ //forward Serial1.write("f"); // Write to Leonardo Serial1.write(10); //Stop Bit Serial.write("f"); // Write to Uno Serial.write(10); //Stop bit } else if (z > 0){ //backward Serial1.write("b"); Serial1.write(10); Serial.write("b"); Serial.write(10); } else if (y > 5){ //To make more sensitive change value to 4 or less //right Serial1.write("r"); Serial1.write(10); Serial.write("r"); Serial.write(10); } else if (y < -5){ //To make more sensitive change to -4 or greater //left Serial1.write("l"); Serial1.write(10); Serial.write("l"); Serial.write(10); } else //stop Serial1.write("s"); Serial1.write(10); Serial.write("s"); Serial.write(10); } void loop() { if (!dmpReady) return; mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus(); fifoCount = mpu.getFIFOCount(); if ((mpuIntStatus & 0x10) || fifoCount == 1024) { mpu.resetFIFO(); Serial.println(F("FIFO Overflow")); } else if (mpuIntStatus & 0x02) { while (fifoCount < packetSize) { fifoCount = mpu.getFIFOCount(); } mpu.getFIFOBytes(fifoBuffer, packetSize); fifoCount -= packetSize; mpu.dmpGetQuaternion(&q, fifoBuffer); mpu.dmpGetGravity(&gravity, &q); mpu.dmpGetYawPitchRoll(ypr, &q, &gravity); sendData(ypr[0] * 180/M_PI, ypr[1] * 180/M_PI, ypr[2] * 180/M_PI); } } void dmpDataReady() { mpuInterrupt = true; } 

Skema Rangkaian

Bangun Papan Skate VR DIY dengan Arduino, Google Cardboard, dan Bluetooth

Proses manufaktur

  1. Buat LUMAZOID Sendiri: Visualisasi Musik Arduino DIY
  2. Tangkap Tetesan Air dalam Aksi Menggunakan Arduino Nano – Fotografi Kecepatan Tinggi DIY
  3. Buat Voltmeter Cerdas dengan Arduino & Smartphone – Proyek DIY Mudah
  4. JX Wave Generator – Osilator DDS Kompatibel Arduino dengan Tampilan OLED
  5. Asisten Suara J.A.R.V.I.S Arduino DIY dengan Desain Arc Reactor
  6. Buat Sendiri Perangkat Perawatan EMR Radionik Arduino
  7. Simulator Balap 2D DIY Menggunakan Arduino Nano & Servo SG90
  8. Membuat GPS Destination Notifier dengan Arduino UNO dan Modul NEO-6M
  9. Jam Alarm ArduRadio: Sistem Radio FM & Alarm Berbasis Arduino DIY
  10. Permainan Tenis Arduino – Buat Pengalaman Raket Virtual dengan NeoPixel, Sensor, dan Bluetooth