MPU6050, 3 eksenli ivmeölçer ve 3 eksenli bir jiroskopu tek bir pakette birleştiren çok yönlü ve uygun fiyatlı bir sensördür. I2C arayüzü aracılığıyla iletişim kurar ve hareket izleme, dengeleme robotları ve jest tabanlı kontroller için mükemmeldir. Bu öğretici, MPU6050'nin bir Arduino ile nasıl arayüz oluşturacağınızı gösterecektir.
Ne İhtiyacınız Olacak
- MPU6050 modülü
- Arduino Kurulu (örn. UNO, Mega, Nano)
- Breadboard
- Jumper telleri
- Arduino IDE kurulu bir bilgisayar
Adım 1: MPU6050'yi Arduino'ya bağlama
MPU6050, yalnızca iki veri hattı gerektiren I2C protokolünü kullanır: SDA (veri) ve Scl (saat). İşte tipik bağlantılar:
MPU6050 PIN | Arduino uno pin |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 (SDA) |
Scl | A5 (SCL) |
Not: Farklı bir model kullanıyorsanız, belirli Arduino kartınızın I2C Pinout'unuz kontrol edin.
2. Adım: MPU6050 kütüphanesini yükleyin
MPU6050 ile arayüz oluşturmayı kolaylaştırmak için "MPU6050" kitaplığını kullanacağız.
- Arduino IDE'yi açın.
- Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
- Kütüphane yöneticisinde "Elektronik Kedilerden MPU6050" i arayın.
- Kütüphaneyi seçin ve tıklayın Düzenlemek.
Adım 3: Kodu yükleyin
MPU6050'den ivmeölçer ve jiroskop verilerini okumak için temel bir örnek:
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println("Initializing MPU6050...");
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 sensor!");
while (1) {
delay(10);
}
}
Serial.println("MPU6050 Initialized.");
}
void loop() {
mpu.update();
Serial.print("Accel X: ");
Serial.print(mpu.getAccX());
Serial.print(" | Accel Y: ");
Serial.print(mpu.getAccY());
Serial.print(" | Accel Z: ");
Serial.println(mpu.getAccZ());
Serial.print("Gyro X: ");
Serial.print(mpu.getGyroX());
Serial.print(" | Gyro Y: ");
Serial.print(mpu.getGyroY());
Serial.print(" | Gyro Z: ");
Serial.println(mpu.getGyroZ());
delay(500); // Update every 500ms
}
4. Adım: Kurulumu test edin
- Arduino'nuzu bir USB kablosu kullanarak bilgisayara bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman ondan Aletler menü.
- Kodu tıklayarak yükleyin. Yüklemek düğme.
- Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın
9600
. - Canlı ivmeölçer ve jiroskop okumalarının görüntülenmesini görmelisiniz.
Verileri anlamak
- İvmeölçer (Accel x, y, z): Üç eksende doğrusal ivmeyi ölçer.
- Jiroskop (Gyro X, Y, Z): Üç eksen civarında açısal hızı (dönüş hızı) ölçer.
Sorun giderme
- Sensör tespit edilmedi: Kabloları iki kez kontrol edin ve I2C hatlarının doğru bağlandığından emin olun.
- Seri monitörde çıktı yok: Baud hızının kod ayarıyla eşleştiğini doğrulayın (9600).
- Yanlış Okumalar: Sürüklenmeyi önlemek için başlatma sırasında sensör seviyesini koruyun.
MPU6050 uygulamaları
- Robotları dengelemek
- Jest tanıma
- VR/AR için hareket izleme
- Fitness izleme cihazları
Çözüm
Tebrikler! MPU6050'yi bir Arduino ile başarıyla arayüz ettiniz ve gerçek zamanlı hareket verilerini okudunuz. Bu sensör inanılmaz derecede çok yönlüdür ve sayısız projede kullanılabilir. MPU6050'yi bir sonraki hareket tabanlı projenize entegre etmeyi ve potansiyelini serbest bırakmayı deneyin!