MPU6050: 6 Eksenli İvmeölçer ve Jiroskop Rehberi

MPU6050 Nedir?
MPU6050, küçük bir çip üzerinde iki farklı sensörü birleştiren yüksek teknolojili bir MEMS (Mikro-Elektro-Mekanik Sistem) sensörüdür. Bu iki sensör:
- 3 Eksenli İvmeölçer (Accelerometer)
- 3 Eksenli Jiroskop (Gyroscope)
Bu iki sensörün birleşimi sayesinde MPU6050, bir nesnenin 3 boyutlu uzaydaki konumunu, yönelimini, eğimini ve sarsıntısını algılayabilir. 3 eksen ivmeölçer + 3 eksen jiroskop = 6 Eksen (6-DoF / Six Degrees of Freedom) olarak adlandırılır.
En sık karşımıza çıkan formu, MPU6050 çipinin üzerinde bulunduğu GY-521 (genellikle mavi veya siyah) modülüdür.
İvmeölçer (Accelerometer) Ne Yapar?
İvmeölçer, adından da anlaşılacağı gibi doğrusal ivmeyi ölçer. İki tür ivmeyi algılayabilir:
- Statik İvme (Yerçekimi): Sensör sabit dururken, yerçekiminin hangi eksene (X, Y, Z) ne kadar kuvvet uyguladığını ölçer. Bu özellik sayesinde, sensörün eğimini (tilt) veya hangi tarafının “aşağı” baktığını mükemmel bir şekilde anlayabiliriz.
- Dinamik İvme: Sensörün hareket ettirilmesi (sallanması, çarpması, hızlanması) sonucu oluşan ivmeyi ölçer.
İvmeölçer verisi “gürültülüdür” (noisy). Elinizi hafifçe titreseniz bile, yerçekimi verisi ile hareket verisi birbirine karışır. Sadece ivmeölçere bakarak anlık olarak ne kadar döndüğünüzü anlamak zordur.
Jiroskop (Gyroscope) Ne Yapar?
Jiroskop (veya “cayro”), açısal hızı, yani dönme hızını ölçer.
- X Ekseni: Nesnenin “öne-arkaya” takla atma (pitch) hızını.
- Y Ekseni: Nesnenin “sağa-sola” yatma (roll) hızını.
- Z Ekseni: Nesnenin “kendi etrafında” dönme (yaw) hızını.
Jiroskop, bir nesnenin ne kadar hızlı döndüğünü çok hassas bir şekilde söyler.
Jiroskop verisi zamanla “kayar” (drift). Sensör masada tamamen hareketsiz dursa bile, saniyeler geçtikçe küçük ölçüm hataları birikir ve sensör yavaşça döndüğünü zannetmeye başlar.

İkisinin Gücü: Sensör Füzyonu ve DMP
İşte MPU6050’nin asıl sihri burada başlar. Elimizde iki sensör var:
- İvmeölçer: Kısa vadede gürültülü, ancak uzun vadede stabil (yerçekimi sayesinde eğimi bilir).
- Jiroskop: Kısa vadede çok hassas, ancak uzun vadede kayar (drift).
Bu iki sensörün verisini birleştirmek (Sensör Füzyonu) gerekir. İvmeölçerin stabilitesi ile jiroskopun anlık hassasiyetini birleştiren Kalman Filtresi gibi karmaşık matematiksel algoritmalar kullanılır.
MPU6050’nin En Önemli Özelliği: DMP Bu ağır matematiksel hesaplamaları Arduino’nun yapmasına gerek yoktur. MPU6050’nin içinde DMP (Digital Motion Processor – Dijital Hareket İşlemcisi) adında küçük bir işlemci daha bulunur.
DMP, jiroskop ve ivmeölçer verilerini çipin içinde kendi kendine işler, filtreler ve Arduino’ya doğrudan, filtrelenmiş, sallantısız ve kaymasız bir eğim (oryantasyon) verisi sunar. Bu, Arduino’nun işlem gücünü başka işler için serbest bırakır.
MPU6050 Arduino ile Nasıl Kullanılır?
MPU6050 (GY-521 modülü) I2C haberleşme protokolünü kullanır.
- Bağlantı: Sadece 4 pin gereklidir:
- VCC: 5V (GY-521 modülü üzerinde 3.3V regülatör bulunur, Arduino UNO 5V’u ile güvenle çalışır).
- GND: Arduino GND
- SCL: Arduino SCL pini (UNO’da A5)
- SDA: Arduino SDA pini (UNO’da A4)
- AD0 Pini: Bu pin, I2C adresini değiştirmek içindir. Eğer GND’ye bağlıysa adres 0x68, VCC’ye bağlıysa 0x69’dur. Bu, aynı Arduino’ya iki adet MPU6050 bağlamanıza olanak tanır.
- Kütüphane: MPU6050’den veri okumak ve özellikle DMP’yi kullanmak için
Adafruit MPU6050veyaJeff Rowberg'in MPU6050kütüphaneleri yaygın olarak kullanılır.
MPU6050 Kullanım Alanları
- Denge Robotları (Self-Balancing Robots): Robotun eğimini algılayıp tekerlekleri o yöne sürerek dengede kalmasını sağlar.
- Dronlar ve RC Araçlar: Dronun havada stabil (düz) durmasını sağlar.
- Oyun Kumandaları: Nintendo Wii Remote veya VR gözlükler gibi, kumandanın hareketini algılar.
- Dijital Su Terazisi: Bir yüzeyin eğim açısını dijital olarak gösterir.
- Kamera Sabitleme (Gimbal): Kameranın sarsıntılarını algılayıp motorlarla ters yönde hareket ettirerek görüntüyü sabitler.

MPU6050 ESP32 (Arduino IDE) Örnek Kodu
Gerekli Kütüphaneler: “Adafruit_MPU6050” ve “Adafruit Unified Sensor”
//muratdonmez.com.tr
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu;
void setup(void) {
Serial.begin(115200);
if (!mpu.begin()) {
Serial.println("Hata: MPU6050 sensörü bulunamadı!");
while (1) { delay(10); }
}
Serial.println("MPU6050 bulundu!");
mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
mpu.setGyroRange(MPU6050_RANGE_500_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
Serial.print("İvme (X,Y,Z): ");
Serial.print(a.acceleration.x); Serial.print(", ");
Serial.print(a.acceleration.y); Serial.print(", ");
Serial.print(a.acceleration.z); Serial.println(" m/s^2");
Serial.print("Dönüş (X,Y,Z): ");
Serial.print(g.gyro.x); Serial.print(", ");
Serial.print(g.gyro.y); Serial.print(", ");
Serial.print(g.gyro.z); Serial.println(" rad/s");
Serial.println("-----------------------------------");
delay(500);
}
Eğer akıllı ev, IOT projeleri ile ilgili sorularınız veya yapmak istediğiniz bir projeniz varsa, yedek alma ve yedekten dönme planınız veya felaket kurtarma planınız yoksa, işletmeniz için nasıl bir Sunucu, Bilgisayar veya Kesintisiz Güç Kaynağı seçmeniz gerektiğini bilmiyorsanız danışmanlık hizmetlerimden faydalanmak isterseniz bana WhatsApp üzerinden ulaşabilirsiniz.
İlgili Yazılar
- DS18B20 (Dijital Sıcaklık Sensörü)
- DHT11 / DHT22: Doğru Sıcaklık ve Nem Sensörünü Seçme Rehberi
- BME280: 3’ü 1 Arada Yüksek Hassasiyetli Ortam Sensörü
- BME680: Evinizdeki Havayı Kapsamlı Analiz Edin
- BMP388 ve BMP180: İrtifa ve Basınç Sensör Rehberi
- BH1750 Dijital Işık Sensörü: Lüx (Lux) Ölçer Rehberi
- TDS Sensörü: Su Kalitesi ve PPM Ölçer Rehberi
- Anemometre: Rüzgar Hızı Sensörü Nedir, Nasıl Çalışır?
Sık Sorulan Sorular
- MPU6050 nedir?
MPU6050, tek bir çip üzerinde 3 eksenli ivmeölçer ve 3 eksenli jiroskop barındıran, toplam 6 eksenli (6-DoF) bir hareket algılama sensörüdür. Genellikle GY-521 modülü üzerinde bulunur. - İvmeölçer ve Jiroskop arasındaki fark nedir?
İvmeölçer, doğrusal ivmeyi (hızlanma, sarsıntı) ve yerçekimini (eğim) ölçer. Jiroskop ise açısal hızı (dönme hızını) ölçer. - MPU6050’nin 6 ekseni (6-DoF) ne anlama gelir?
3 eksen ivmeölçer (X, Y, Z) ve 3 eksen jiroskop (X, Y, Z) toplam 6 farklı hareket verisi (Degrees of Freedom – Serbestlik Derecesi) sağladığı anlamına gelir. - DMP nedir ve neden MPU6050 için bu kadar önemlidir?
DMP (Digital Motion Processor – Dijital Hareket İşlemcisi), MPU6050 çipinin içindeki dahili bir işlemcidir. İvmeölçerin “gürültüsünü” ve jiroskopun “kaymasını” (drift) filtrelemek için karmaşık hesaplamalar yapar. Bu sayede Arduino’ya işlenmiş, temiz ve stabil bir yönelim (oryantasyon) verisi gönderir. - MPU6050 modülü (GY-521) 5V ile çalışır mı?
Evet. MPU6050 çipi 3.3V ile çalışsa da, yaygın olarak kullanılan GY-521 modülü üzerinde bir voltaj regülatörü ve seviye dönüştürücü bulunur. Bu sayede Arduino UNO gibi 5V’luk kartların VCC pinine doğrudan bağlanabilir.




Henüz yorum yapılmamış.