MPU6050: Arduino 6 Axis Accelerometer + Gyro - GY 521 Test & 3D Simulation

Adakah anda ingin membuat kapal terbang quadcopter anda sendiri atau pesawat RC dengan Arduino tetapi tidak tahu bagaimana untuk mendapatkan gyro yang berfungsi? Mungkin anda sudah membeli modul 6 paksi MPU6050 (di papan pelarian GY-521) hanya untuk mengetahui bahawa mereka tidak semudah digunakan seperti yang anda fikirkan? Cuba ini!

Anda akan belajar untuk mengendalikan litar mudah untuk menguji MPU6050 anda dengan Arduino dan mensimulasikan YAW, PITCH dan ROLL pada pesawat model 3D pada skrin. Ini dimaksudkan sebagai alat pembelajaran untuk mengenali modul gyro, papan peletakan dan pemasangan perpustakaan yang diperlukan untuk Arduino IDE anda untuk membolehkan anda memanfaatkan sepenuhnya MEMS gyro anda dan menjimatkan masa dan bukannya menulis kod kompleks dari awal.

Apa yang anda perlukan boleh didapati di eBay (pautan di bawah):

  • 1 x kabel USB Arduino UNO +
  • 1 x mini papan pemuka prototaip
  • 1 x GY-521 papan pelarian
  • Sesetengah kabel jumper lelaki-kepada-lelaki
  • Solder besi + solder

Langkah 1: Litar Wire seperti yang ditunjukkan di bawah:

*** NOTA : semua kabel merah adalah VCC (+ 5V) dan kabel hitam adalah GND, semak dengan teliti apabila menghidupkan litar anda. Papan pelayaran dilengkapi dengan pin tetapi memerlukan pematerian. ***

Untuk pembelajaran anda sendiri:

  • modul gyro berkomunikasi dengan Arduino melalui komunikasi siri I2C melalui jam siri (SCL) dan data (SDA)
  • cip MPU6050 memerlukan 3.3V tetapi pengatur voltan pada papan GY-521 membolehkan anda memberikannya kepada 5V
  • Untuk maklumat lanjut mengenai modul terdapat sumber yang hebat di halaman ini di Arduino Playground

Langkah 2: Pasang Perpustakaan I2Cdev & MPU6050

Jika kita menulis kod dari awal, ia akan mengambil masa yang lama dan akan ada banyak kejuruteraan terbalik yang diperlukan untuk memanfaatkan enjin pemrosesan Digital Motion Digital (DMP) proprietari kerana Invensense sengaja mengeluarkan data minima pada MPU6050 itu. Perkara yang baik seseorang telah melakukan kerja keras untuk kita; Jeff Rowberg menulis beberapa perpustakaan Arduino untuk mendapatkan data pecutan / gyro dan mengendalikan semua pengiraan. Mereka boleh didapati sebagai fail zip dari sini:

//github.com/jrowberg/i2cdevlib/zipball/master

Sebaik sahaja unzip, cari folder Arduino di dalamnya dan salin dua folder "I2Cdev" dan "MPU6050" ke folder "perpustakaan" Arduino anda di dalam direktori berikut:

C: \ Program Files (x86) \ Arduino \ libraries

Kemudian buka IDE Arduino dan dalam bahagian contoh, anda perlu mencari MPU6050_DMP6 dalam MPU6050. Buka ia, pasangkan arduino anda, pilih COM Port yang sesuai dan muat naik lakaran. Dalam Tetingkap Serial, pilih kadar baud 115200. Anda harus digesa agar sambungan MPU6050 berjaya. Anda boleh menguji pengumpulan data dengan menaip apa-apa dalam bar teks dan menekan masuk, data harus mulai muncul.

Sekarang kita mahu menetapkan kod untuk menjalankan demo teapot untuk menunjukkan simulasi 3D. Tutup tetingkap bersiri, kemudian cari dan komen keluar baris # menentukan OUTPUT_READABLE_YAWPITCHROLL dan laporkan baris // # menentukan OUTPUT_TEAPOT. Pilih "save as" dan pilih di mana anda ingin menyimpan kod yang diubahsuai. Muat naik sekali lagi tetapi jangan buka tetingkap bersiri kali ini.

Langkah 3: Muat turun & Pasang Versi Terkini Perpustakaan Pemprosesan & ToksikLibs

Untuk menjalankan simulasi 3D nilai yaw / pitch / roll pada pesawat pada skrin, kami akan menjalankan demo teapot dari contoh MPU6050_DMP6 dari liberal MPU6050 Jeff Rowberg. Walau bagaimanapun IDE Arduino hanya akan memperoleh data, untuk memaparkan simulasi 3D yang kami perlukan perisian tambahan: Pemprosesan. Muat turun Pemprosesan dari sini, kemudian unzip ke mana sahaja anda suka:

//processing.org/download/?processing

Kami memerlukan satu perpustakaan akhir untuk mendapatkan perkara yang dijalankan: ToxicLib. Perpustakaan ini akan masuk ke folder perpustakaan Pemprosesan dan bukannya Arduino. Versi terkini perpustakaan ToxicLibs di sini:

//bitbucket.org/postspectacular/toxiclibs/downloads/

Folder "pustaka" Pemprosesan boleh didapati dengan mengikuti (bermula dari dalam folder pemprosesan): mod -> java -> perpustakaan. Unzip ToxicLibs dan letakkan SEMUA kandungan di sana.

Langkah 4: Jalankan Simulasi

Akhir sekali, buka fail aplikasi Pemprosesan dan kemudian

File -> Buka -> ikuti direktori ini C: \ Program Files (x86) \ Arduino \ libraries \ MPU6050 \ Contoh \ MPU6050_DMP6 \ Processing \ MPUTeapot

dan buka fail MPUTeapot.

Klik butang main dan sistem perlu menentukur selama kira-kira 20-30 saat, biarkan gyro bergerak dalam tempoh itu.

Sekarang ambil gyro dan uji yaw / pitch / roll. Sebaik sahaja anda gembira kerana semuanya berfungsi dengan betul anda boleh mula bereksperimen dengannya untuk projek anda sendiri. Jika anda ingin menggunakan sepenuhnya perpustakaan I2Cdev atau MPU6050 dan fungsi mereka, rujuk fail-fail header mereka.

Saya berharap dapat melakukan pengajaran untuk membuat drone DIY tidak lama lagi, jadi jika anda mendapati yang berguna ini, mengapa tidak menantikan projek masa depan dengan mengikuti saya di Instructables dan di Facebook / Twitter / Google+.

Sekiranya anda menikmati pengajaran ini dan ingin melihat lebih banyak perkara seperti ini, sila pertimbangkan untuk menyokong saya dengan membeli bahan anda untuk projek ini melalui pautan afiliasi di bahagian bahan atau mendermakan di bawah:

PayPal : //www.paypal.me/HobbyTransform

Bitcoin : 1Mqe7et24Lz4DY1RUN4iAQVHkvJsdFArKR

Ethereum : 0x6d8248db1cdea6a783cb6b41ae67bb8e6144f479

Litecoin : LW6PWESqsr8xHw6EJ9WLbsQsAyTvPnwnxJ

Dash : Xemv7jud697v8tQmKfNFoMxfkd17ZayH2t

Sokongan anda sangat dihargai! Selamat DIY'ing!

Artikel Berkaitan