Projelerimize Dahili MPU6050 Nasıl Ekleyebiliriz?
Kendi MPU’nuzu gömmek, sandığınızdan daha kolay..

Gömülü sistemler ve IoT (Nesnelerin İnterneti) projelerinde hareket takibi ve konum analizi kritik bir gereksinim haline geldiğini biliyoruz. Bu noktada MPU6050, düşük maliyeti ve işlevselliği ile yaygın olarak tercih edilen bir IMU (Inertial Measurement Unit) bileşenidir. Bu blog yazısında MPU6050'nin teknik detaylarını, ne işe yaradığını, sistemlere nasıl entegre edildiğini ve şematik düzeyde bağlantı ilkelerini ele alacağız.
MPU6050 Nedir?
MPU6050, InvenSense (şu an TDK tarafından üretilmektedir) tarafından geliştirilmiş, içinde hem 3 eksenli jiroskop hem de 3 eksenli ivmeölçer (accelerometer) barındıran bir 6 serbestlik dereceli (6-DOF) MEMS sensördür.
Teknik Özellikler:
Özellik | Değer |
---|---|
İletişim Arayüzü | MPU6050 yalnızca I²C destekler. SPI arayüzü MPU6000 içindir. |
Gerilim Seviyesi | MPU6050 çipi yalnızca 3.3V seviyesinde çalışır. |
İvme Ölçüm Aralığı | ±2g, ±4g, ±8g, ±16g |
Jiroskop Ölçüm Aralığı | ±250, ±500, ±1000, ±2000 °/s |
Dâhili FIFO | 1024 byte buffer |
Dâhili DMP (Digital Motion Processor) | Var – sensör verilerini işleyebilir |
Sıcaklık Sensörü | Var – -40°C ila +85°C arasında doğruluk sağlar |
MPU6050 Ne İşe Yarar?
Kullanım Amaçları:
- Hareket algılama
- Titreşim analizi
- Konum kestirimi
- Denge sistemleri
- Dron ve uçuş sistemlerinde yön kontrolü
- Oyun denetleyicileri ve VR cihazları
Jiroskop, açısal hız verisi sağlarken; ivmeölçer, lineer ivme ve yerçekimi yönünü algılar. Bu iki sensör kombinasyonu sayesinde, sistem konumunu tahmin edebilir.
MPU6050’in Gömülü Sistemlere Şematik Düzeyde Entegrasyonu
Temel Bağlantı Şeması
Bileşenler:
- MPU6050 (GY-521 breakout board üzerinden önerilir)
- Mikrodenetleyici (ör. ESP32, STM32, ATmega328)
- I²C pull-up dirençleri (genellikle 4.7kΩ, bazı modüllerde dahildir)
Bağlantı Pinleri:
MPU6050 Pin | Açıklama | Mikrodenetleyici Bağlantısı |
---|---|---|
VCC | Güç girişi | 3.3V |
GND | Toprak | GND |
SDA | Veri hattı | I²C SDA |
SCL | Saat hattı | I²C SCL |
INT | Kesme çıkışı | İsteğe bağlı (GPIO) |
Not: I²C hatlarında kısa mesafelerde pull-up dirençler genellikle modül üzerinde vardır. Değilse, harici olarak bağlanmalıdır.
MCU Uyumları
Mikrodenetleyici | Uyum Durumu | Notlar |
---|---|---|
Arduino Uno/Nano | Uyumlu | Wire.h kütüphanesi ile kullanılabilir |
ESP8266/ESP32 | Uyumlu | Düşük güç tüketimi uygulamaları için idealdir |
STM32 (HAL/LL) | Uyumlu | I²C yapılandırması dikkatle yapılmalı |
Raspberry Pi | Uyumlu | Python "smbus" ile çalışır |
MPU6050 Built-in Projelere Gömülebilir mi?
Evet, MPU6050 birçok projeye gömülebilir. Özellikle aşağıdaki tip projelerde başarılı entegrasyon sağlar:
Örnek Kullanım Senaryoları:
- Giyilebilir cihazlar (adım sayar, aktivite takibi)
- Mini denge robotları (PID tabanlı stabilizasyon)
- Joystick benzeri hareketle kontrol projeleri
- Oyun kontrolcüsü/sanal gerçeklik eldiveni
- Kapsamlı uçuş kontrol sistemleri (dronlar)
Dikkat Edilmesi Gerekenler:
- DMP kullanımı için daha gelişmiş kütüphaneler gereklidir (ör. Jeff Rowberg'in MPU6050 DMP kütüphanesi).
- Analog filtreleme için kart tasarımında uygun decoupling kapasitörleri (0.1µF + 10µF) eklenmelidir.
- Sensör titreşime karşı hassastır, uygun filtreleme ve montaj önemlidir.
MPU6050 ile Çalışırken Önemli Yazılım Notları
- AD0 pini GND’ye bağlandığında I²C adresi 0x68, VCC’ye bağlandığında 0x69 olur.
- Kalibrasyon gereklidir (özellikle jiroskop drift’i düzeltmek için).
- Ham veriyle çalışmak yerine, filtrelenmiş DMP verisi tercih edilebilir.
- Basit uygulamalarda Komplementer filtre, ileri düzeyde Kalman filtresi ile veriler birleştirilebilir.
MPU6050, düşük maliyetli olmasına rağmen, karmaşık hareket analizlerini mümkün kılan güçlü bir MEMS sensördür. Gömülü sistemlerde, özellikle hareket algılama, dengeleme ve konum kestirimi gibi alanlarda çok yönlü çözümler sunar. Doğru şematik entegrasyon, yazılım yapılandırması ve filtreleme yöntemleriyle profesyonel düzeyde sonuçlar elde edilebilir.
Şematik olarak bakıldığında, temel bir MPU6050 devresi için yalnızca 3.3V güç kaynağı, uygun I²C bağlantısı ve minimum pasif bileşenler yeterlidir. LED, header gibi yardımcı bileşenler işlevsel değildir ve opsiyoneldir.

Devreyi daha minimal bir hale getirdiğimizde aşağıdaki gibi ihtiyacımız sadece 3 adet 10kΩ direnç, 0.1 µF kapasitör ve 2.2 nF kapasitördür. I²C hatları (SDA, SCL) açık-kollektör olduğu için, lojik seviye aslında pull-up dirençlerinin bağlandığı voltajla belirlenir. Bu yüzden, bu hatlara 5V yerine 3.3V'a çekilmiş pull-up direnç bağlanmalıdır.ESP32 gibi mikrodenetleyiciler 3.3V lojik seviyesinde çalıştığı için MPU6050 ile doğrudan uyumludur. Ancak Arduino Uno veya Nano gibi 5V lojik seviyesinde çalışan sistemlerde, SDA ve SCL hatları için lojik seviye dönüştürücü kullanılması gerekir. Ben burada ESP32 devresinde kullandığım için bir lojik dönüştürücü kullanılmamıştır. İşte aslında ihtiyacımız olan MPU6050 devresi:

MPU6050, I²C haberleşme protokolünü kullandığı için SDA ve SCL hatlarının her ikisinin de 3.3V’a 10kΩ pull-up dirençlerle çekilmesi gerekir. Bu dirençler sayesinde hatlar boştayken HIGH durumunu alabilir. ESP32, 3.3V lojik seviyesinde çalıştığı için bu bağlantılar doğrudan uyumludur ve ek bir seviye dönüştürücüye ihtiyaç duymaz. Bu pull-up dirençlerle yükseltilen SDA ve SCL sinyalleri doğrudan ESP32’nin I²C pinlerine bağlanır.

REGOUT (Pin 10):
ESP32’nin 3.3V çıkışından beslenirse, iç regülatör aktif olur ve REGOUT pinine 0.1 µF kondansatör bağlanmalıdır.
CPOUT (Pin 20):
MPU6050'nin jiroskoplar için gerekli yüksek voltajı üreten şarj pompasının çıkışıdır. Datasheet, bu pine 2.2 nF seramik kondansatör bağlanmasını zorunlu kılar. Bu kapasitör, charge pump’ın stabilitesini ve MEMS jiroskop osilatörlerinin doğru çalışmasını sağlar (“An on-board charge pump generates the high voltage required for the MEMS oscillators. Its output is bypassed by a capacitor at CPOUT”, Bölüm 7.21, Sayfa 31).
MPU6050, düşük maliyetli olmasına rağmen yüksek hassasiyetli hareket ve konum tespiti uygulamalarında oldukça işlevseldir. Yukarıda paylaşılan bilgiler, datasheet'e doğrudan dayalı olup breadboard ortamında doğrulanmıştır. Uzun vadeli sistemlerde ise PCB tabanlı, kararlı bir montaj önerilir.
Not: Teknik detaylar, InvenSense Inc.’in resmi MPU-6000/6050 datasheet dokümanına ve Adafruit’in MPU6050 rehberine dayanmaktadır. Bu devre, sadece breadboard üzerinde test edilmiş olup, uzun süreli uygulamalarda lehimli ve EMI'ye karşı daha dayanıklı bir PCB tasarımı öneririm.
Kaynaklar
Siepert, Bryan, ve bir diğer katkıcı. MPU6050 6-DoF Accelerometer and Gyro. Adafruit, 6 Kasım 2019, en son 21 Ocak 2025 tarihinde güncellenmiştir.
https://learn.adafruit.com/mpu6050-6-dof-accelerometer-and-gyro/downloads. Erişim tarihi: 30 Mart 2025.
InvenSense Inc. MPU-6000 ve MPU-6050 Ürün Özellikleri (Product Specification). Sürüm 3.4, 19 Ağustos 2013.
https://web.archive.org/web/20250314133800/https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf. Erişim tarihi: 30 Mart 2025.