Mündəricat:
- Addım 1: Lazım olan avadanlıq:
- Addım 2: Hardware Bağlantısı:
- Addım 3: Hərəkət İzləmə Kodu:
- Addım 4: Tətbiqlər:
Video: MPU-6000 və Arduino Nano istifadə edərək hərəkət izləmə: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
MPU-6000, 3 Eksenli akselerometr və 3 Eksenli giroskopu olan 6 Eksenli Hərəkət İzləmə Sensorudur. Bu sensor, obyektin 3ölçülü müstəvidə dəqiq mövqeyini və yerini səmərəli izləməyə qadirdir. Ən yüksək dəqiqlikdə mövqe təhlili tələb edən sistemlərdə istifadə edilə bilər.
Bu təlimatda MPU-6000 sensor modulunun arduino nano ilə qarşılıqlı əlaqəsi təsvir edilmişdir. Sürətlənmə və fırlanma bucağı dəyərlərini oxumaq üçün I2c adapteri olan arduino nanodan istifadə etdik. Bu I2C adapteri sensor moduluna qoşulmağı asanlaşdırır və daha etibarlıdır.
Addım 1: Lazım olan avadanlıq:
Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:
1. MPU-6000
2. Arduino Nano
3. I2C Kabeli
4. Arduino nano üçün I2C Shield
Addım 2: Hardware Bağlantısı:
Donanım bağlama bölməsi əsasən sensor və arduino nano arasında lazım olan naqillərin əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:
MPU-6000 I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.
Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük.
Lazım olan tək şey dörd teldir! Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.
Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.
Addım 3: Hərəkət İzləmə Kodu:
İndi arduino kodundan başlayaq.
Sensor modulunu arduino ilə işləyərkən Wire.h kitabxanasını daxil edirik. "Tel" kitabxanası, sensor və arduino lövhəsi arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.
İstifadəçinin rahatlığı üçün bütün arduino kodu aşağıda verilmişdir:
#daxil edin
// MPU-6000 I2C ünvanı 0x68 (104)
#define Addr 0x68
boş quraşdırma ()
{
// I2C ünsiyyətini Master olaraq başladın
Wire.begin ();
// Serial rabitəni işə salın, baud dərəcəsini = 9600 olaraq təyin edin
Serial.begin (9600);
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Giroskop konfiqurasiya qeydini seçin
Wire.write (0x1B);
// Tam miqyas aralığı = 2000 dps
Wire.write (0x18);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Accelerometer konfiqurasiya qeydini seçin
Wire.write (0x1C);
// Tam miqyas aralığı = +/- 16g
Wire.write (0x18);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Güc idarəetmə qeydini seçin
Wire.write (0x6B);
// xGyro istinadlı PLL
Wire.write (0x01);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
gecikmə (300);
}
boşluq döngəsi ()
{
imzasız int məlumatları [6];
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat qeydini seçin
Wire.write (0x3B);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// 6 bayt məlumat tələb edin
Wire.requestFrom (Addr, 6);
// 6 bayt məlumat oxuyun
əgər (Tel.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
// Məlumatları çevirin
int xAccl = data [0] * 256 + data [1];
int yAccl = data [2] * 256 + data [3];
int zAccl = data [4] * 256 + data [5];
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat qeydini seçin
Wire.write (0x43);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// 6 bayt məlumat tələb edin
Wire.requestFrom (Addr, 6);
// 6 bayt məlumat oxuyun
əgər (Tel.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
// Məlumatları çevirin
int xGyro = data [0] * 256 + data [1];
int yGyro = data [2] * 256 + data [3];
int zGyro = data [4] * 256 + data [5];
// Məlumatların serial monitora çıxarılması
Serial.print ("X-Eksenində Sürətləndirmə:");
Serial.println (xAccl);
Serial.print ("Y Eksenində Sürətləndirmə:");
Serial.println (yAccl);
Serial.print ("Z Eksenində Sürətləndirmə:");
Serial.println (zAccl);
Serial.print ("Fırlanma X Ekseni:");
Serial.println (xGyro);
Serial.print ("Fırlanma Y Ekseni:");
Serial.println (yGyro);
Serial.print ("Z-Fırlanma Ekseni:");
Serial.println (zGyro);
gecikmə (500);
}
Tel kitabxanasında Wire.write () və Wire.read () əmrləri yazmaq və sensor çıxışını oxumaq üçün istifadə olunur.
Sensorun çıxışını Arduino IDE -nin serial monitorunda göstərmək üçün Serial.print () və Serial.println () istifadə olunur.
Sensorun çıxışı yuxarıdakı şəkildə göstərilmişdir.
Addım 4: Tətbiqlər:
MPU-6000, tətbiqini smartfon və planşetlərin hərəkət interfeysində tapan bir hərəkət izləmə sensoru. Smartfonlarda bu sensorlar tətbiqetmələr və telefon idarəçiliyi üçün jest əmrləri, inkişaf etmiş oyun, genişlənmiş reallıq, panoramik fotoşəkil çəkmə və görüntü, piyada və avtomobil naviqasiyası kimi tətbiqlərdə istifadə edilə bilər. MotionTracking texnologiyası, telefonları və planşetləri sağlamlıq və fitness monitorinqindən tutmuş məkan xidmətlərinə qədər tətbiqlərdə istifadə edilə bilən güclü 3D ağıllı cihazlara çevirə bilər.
Tövsiyə:
ATtiny85 Geyinilə bilən Titrəmə Aktivliyi İzləmə İzləmə və Proqramlaşdırma Arduino Uno ilə ATtiny85: 4 addım (şəkillərlə)
ATtiny85 Geyinilə bilən Titrəmə Aktivliyi İzləmə Saatı və Proqramlaşdırılması Arduino Uno ilə ATtiny85: Geyinilə bilən fəaliyyət izləmə saatı necə edilir? Bu, durğunluq algıladıqda titrəmək üçün hazırlanmış geyilə bilən bir gadgetdır. Vaxtınızın çoxunu mənim kimi kompüterdə keçirirsinizmi? Özünüz də bilmədən saatlarla oturursunuz? Sonra bu cihaz f
Arduino istifadə edərək GPS İzləmə və Xəbərdarlıqları olan Qadın Təhlükəsizlik Cihazı: 6 addım
Arduino istifadə edərək GPS İzləmə və Xəbərdarlıqları olan Qadın Təhlükəsizlik Cihazı: Son zamanlarda əlimizdə olan bütün texnologiyalarla qadınlar üçün yalnız təcili həyəcan siqnalı yaratmayacaq, həm də dostlarınıza, ailənizə bir mesaj göndərəcək bir təhlükəsizlik cihazı qurmaq çətin deyil. və ya narahat olan şəxs. Burada bir qrup quracağıq
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: 4 addım
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: Salam, mən Rithikəm. Telefonunuzdan istifadə edərək internetə nəzarət edən bir led quracağıq. Arduino IDE və Blynk kimi proqramlardan istifadə edəcəyik. Bu çox sadədir və uğur qazansanız istədiyiniz qədər elektron komponenti idarə edə bilərsiniz
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClər
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow - Arduino IDE -dən istifadə edərək M5stack M5stick C -dən istifadə edərək Neopixel Ws2812 -də Göy qurşağının Çalışması: 5 addım
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow | Arduino IDE istifadə edərək M5stack M5stick C istifadə edərək Neopixel Ws2812 üzərində Göy qurşağı çalıştırın: Salam uşaqlar bu təlimatlarda Arduino IDE ilə m5stack m5stick-C inkişaf lövhəsi ilə neopixel ws2812 LED və ya led şerit və ya led matris və ya led üzük istifadə etməyi öyrənəcəyik. onunla bir göy qurşağı nümunəsi