Sensor MPU6050 merupakan salah satu modul IMU (Inertial Measurement Unit) yang sangat populer di dunia elektronika dan robotika. Sensor ini menggabungkan accelerometer 3 sumbu dan gyroscope 3 sumbu dalam satu chip, memungkinkan perangkat untuk mendeteksi percepatan linear dan rotasi sudut. MPU6050 banyak digunakan pada drone, robot penyeimbang, sistem navigasi, hingga wearable device seperti smart band dan VR tracker.
Dalam tutorial kali ini, kita akan menampilkan data percepatan (acceleration) dan rotasi (gyroscope) secara real-time menggunakan Arduino dan mencetak hasilnya di Serial Monitor. Proyek ini akan membuka jalan bagi kamu yang ingin mempelajari sistem kendali berbasis gerakan atau membuat robot cerdas berbasis sensor IMU.
Komponen yang Digunakan
- 1x Arduino Uno / MFB ATMEL 328 micro
- 1x Modul MPU6050
- Kabel jumper secukupnya
- Breadboard (opsional)
Skema Rangkaian

Koneksi Rangkaian
Pin MPU6050 | Pin Arduino Uno |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Library yang Harus Ditambahkan
Untuk membaca data dari sensor MPU6050, kamu perlu menginstal library dari Adafruit:
🔗 Adafruit MPU6050 Library
🔗 Adafruit Unified Sensor Library
Cara menambahkan:
- Buka Arduino IDE → Sketch > Include Library > Manage Libraries
- Cari
Adafruit MPU6050
, klik install - Lakukan hal yang sama untuk
Adafruit Unified Sensor
Kode Program Lengkap
//PROGRAM INI DI BUAT OLEH : MANFAHBOT INDUSTRIAL AUTOMATION
//HAK CIPTA PROGRAM/CODING : LUKMAN HAKIM A.
//WEBSITE : http://manfahbot.cc
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu;
void setup(void) {
Serial.begin(115200);
while (!Serial) {
delay(10); // Tunggu serial siap (untuk Arduino Leonardo, Zero, dll)
}
if (!mpu.begin()) {
Serial.println("Gagal mendeteksi chip MPU6050");
while (1) {
delay(10);
}
}
// Atur sensitivitas dan bandwidth
mpu.setAccelerometerRange(MPU6050_RANGE_16_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("MPU6050 Siap...");
delay(100);
}
void loop() {
// Membaca nilai sensor
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
// Tampilkan data ke Serial Monitor
Serial.print(a.acceleration.x); Serial.print(",");
Serial.print(a.acceleration.y); Serial.print(",");
Serial.print(a.acceleration.z); Serial.print(", ");
Serial.print(g.gyro.x); Serial.print(",");
Serial.print(g.gyro.y); Serial.print(",");
Serial.print(g.gyro.z); Serial.println("");
delay(10); // delay kecil untuk kecepatan pembacaan
}
Penjelasan Singkat Program
mpu.begin()
digunakan untuk memulai komunikasi I2C dengan sensor MPU6050.getEvent()
digunakan untuk membaca nilai dari sensor: percepatan (acceleration
) dan gyroscope (gyro
).- Data ditampilkan dalam format CSV (comma-separated values) agar mudah dibaca atau diproses lebih lanjut di Excel atau aplikasi plotting seperti Processing, Python, atau MATLAB.
- Fungsi
delay(10)
digunakan untuk mengatur kecepatan sampling data sekitar 100 Hz.
Tampilan Serial Monitor

Kesimpulan
Sensor MPU6050 adalah modul serbaguna yang sangat cocok untuk mengembangkan sistem yang mendeteksi gerakan dan orientasi. Dengan Arduino dan bantuan library Adafruit, kamu dapat dengan mudah membaca data percepatan dan rotasi yang akurat. Proyek ini adalah langkah awal yang tepat untuk masuk ke dunia robotika cerdas, drone, atau perangkat wearable.
Ke depannya, kamu dapat mengembangkan proyek ini dengan:
- Menambahkan layar OLED untuk menampilkan data
- Menyimpan data ke SD card
- Menggabungkan dengan Bluetooth untuk kirim data ke smartphone
- Atau membuat robot self-balancing seperti Segway