MPU6050: Arduino 6 Eksenli İvmeölçer + Gyro - GY 521 Testi ve 3D Simülasyon

Arduino ile kendi quadcopter uçağınızı veya RC uçağınızı yapmak istiyorsunuz, ancak jiroskopun nasıl çalışacağını bilmiyor musunuz? Belki de zaten düşündüğünüz kadar basit olmadıklarını öğrenmek için 6 eksenli MPU6050 modülleri (GY-521 kesme panolarında) satın aldınız? Bunu deneyin!

MPU6050'nizi bir Arduino ile test etmek için basit bir devre bağlamayı ve ekrandaki 3D model uçakta YAW, PITCH ve ROLL'u simüle etmeyi öğreneceksiniz. Bu, jiroskop modülleri, koparma panoları ve Arduino IDE'nize gerekli kütüphaneleri yüklemenize ve MEMS jiroskopunuzu en iyi şekilde kullanmanıza ve karmaşık kodları sıfırdan yazmak yerine zaman kazanmanıza olanak tanıyan bir öğrenme aracı olarak tasarlanmıştır.

İhtiyacınız olan şey eBay'de bulunabilir (aşağıdaki bağlantılar):

  • 1 x Arduino UNO + USB kablosu
  • 1 x mini prototipleme breadboard
  • 1 x GY-521 kesme tahtası
  • Bazı erkek-erkek bağlantı kabloları
  • Havya + lehim

Adım 1: Aşağıda Gösterildiği gibi Kablo Devresi:

*** NOT : tüm kırmızı kablolar VCC (+ 5V) ve siyah kablolar GND'dir, devrenizi bağlarken dikkatlice kontrol edin. Koparma panosu pimlerle birlikte gelir, ancak lehimleme gerektirir. ***

Kendi öğrenmeniz için:

  • cayro modülü Arduino ile seri saat (SCL) ve veri (SDA) üzerinden I2C seri iletişim yoluyla iletişim kurar
  • MPU6050 yongasının 3.3V'a ihtiyacı var, ancak GY-521 kartındaki bir voltaj regülatörü 5V'a kadar vermenizi sağlar
  • Modül hakkında daha fazla bilgi için bu sayfada Arduino Playground'da harika bir kaynak var

Adım 2: I2Cdev ve MPU6050 Kütüphanelerini Yükleyin

Kodu sıfırdan yazacak olsaydık, uzun zaman alacaktı ve modülün tescilli Dijital Hareket İşleme (DMP) motorundan iyi yararlanmak için çok fazla tersine mühendislik olurdu çünkü Invensense kasıtlı olarak MPU6050'sinde minimum veri yayınladı. Birisinin bizim için zaten zor işi yapmış olması iyi bir şey; Jeff Rowberg ivmeölçer / cayro verilerini elde etmek ve tüm hesaplamaları yapmak için bazı Arduino kütüphaneleri yazdı. Buradan zip dosyası olarak kullanılabilirler:

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

Sıkıştırıldıktan sonra içindeki Arduino klasörünü bulun ve aşağıdaki "I2Cdev" ve "MPU6050" klasörlerini aşağıdaki dizindeki Arduino "kütüphaneler" klasörünüze kopyalayın:

C: \ Program Dosyaları (x86) \ Arduino \ library

Sonra Arduino IDE'yi açın ve örnekler bölümünde MPU6050 içinde MPU6050_DMP6'yı bulmalısınız. Açın, arduino'nuzu takın, uygun COM Bağlantı Noktasını seçin ve çizimi yükleyin. Seri Penceresinde 115200 bir baud hızı seçin. MPU6050 bağlantısının başarılı olması istenir. Metin çubuğuna herhangi bir şey yazıp enter tuşuna basarak veri toplamayı test edebilirsiniz, verilerin görünmeye başlaması gerekir.

Şimdi 3D simülasyonu göstermek için demlik demosunu çalıştıracak kodu ayarlamak istiyoruz. Seri pencereyi kapatın, sonra #define OUTPUT_READABLE_YAWPITCHROLL satırını bulup yorumlayın ve // ​​# define OUTPUT_TEAPOT satırının açıklamasını kaldırın. "Farklı kaydet" i seçin ve değiştirilen kodu nereye kaydetmek istediğinizi seçin. Tekrar yükleyin, ancak bu sefer seri pencereyi açmayın.

Adım 3: İşleme ve ToxicLibs Kütüphanesinin En Son Sürümünü İndirin ve Yükleyin

Ekrandaki bir uçakta yaw / pitch / roll değerlerinin 3D simülasyonunu çalıştırmak için, Jeff Rowberg'in MPU6050 libary'deki MPU6050_DMP6 örneğinden çaydanlık demosunu çalıştıracağız. Ancak Arduino IDE sadece verileri alacak, 3D simülasyonunu görüntülemek için ek yazılıma ihtiyacımız olacak: İşleme. İşleme'yi buradan indirin, ardından istediğiniz yere açın:

//processing.org/download/?processing

İşleri yürütmek için bir son kütüphaneye ihtiyacımız olacak: ToxicLib. Bu kütüphane Arduino yerine Processing'in kütüphaneler klasörüne girecek. ToxicLibs kütüphanesinin en son sürümü burada:

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

İşleme'nin "kütüphaneler" klasörü, şu şekilde (işleme klasörü içinden başlayarak) bulunabilir: modlar -> java -> kütüphaneler. ToxicLibs sıkıştırmasını açın ve TÜM içeriği buraya yerleştirin.

4. Adım: Simülasyonu çalıştırın

Her şeyden önce, İşleme uygulama dosyasını açın ve ardından

Dosya -> Aç -> bu dizini takip et C: \ Program Files (x86) \ Arduino \ libraries \ MPU6050 \ Örnekler \ MPU6050_DMP6 \ Processing \ MPUTeapot

ve MPUTeapot dosyasını açın.

Oynat düğmesine tıklayın ve sistem yaklaşık 20-30 saniye kalibre etmeli, jiroskopi bu süre boyunca sabit bırakmalıdır.

Şimdi jiroskopu alın ve yaw / pitch / roll'u test edin. Her şeyin düzgün çalıştığından memnun olduğunuzda, kendi projeleriniz için denemeye başlayabilirsiniz. I2Cdev veya MPU6050 kitaplıklarını ve işlevlerini tam olarak kullanmak istiyorsanız, başlık dosyalarına bakın.

Kısa süre içinde bir DIY drone yapmakla ilgili bir talimat vermeyi umuyorum, bu yüzden bunu yararlı bulursanız, neden beni Talimatlarda ve Facebook / Twitter / Google+'da takip ederek gelecekteki projeler için bizi izlemeyin.

Bu öğreticiden memnun kaldıysanız ve bunun gibi daha fazlasını görmek istiyorsanız, lütfen bu proje için malzemelerinizi malzemeler bölümündeki bağlı kuruluş bağlantıları aracılığıyla satın alarak veya aşağıda bağış yaparak desteklemeyi düşünün:

PayPal : //www.paypal.me/HobbyTransform

Bitcoin : 1Mqe7et24Lz4DY1RUN4iAQVHkvJsdFArKR

Ethereum : 0x6d8248db1cdea6a783cb6b41ae67bb8e6144f479

Litecoin : LW6PWESqsr8xHw6EJ9WLbsQsAyTvPnwnxJ

Çizgi : Xemv7jud697v8tQmKfNFoMxfkd17ZayH2t

Desteğiniz büyük beğeni topluyor! Mutlu DIY'ing!

İlgi̇li̇ Makaleler