Monitoring Accelerometer dan Gyroscope dengan MPU6050 dan OLED SSD1306

Sensor MPU6050 adalah modul IMU (Inertial Measurement Unit) yang berisi 2 sensor utama yaitu accelerometer (percepatan) dan gyroscope (putaran). Jenis sensor ini sering digunakan dalam proyek-proyek seperti robot penyeimbang, drone, alat ukur kemiringan, dan sistem navigasi berbasis gerakan.

Untuk membuat tampilan data lebih informatif, kita akan menambahkan layar OLED 128×64 agar data bisa langsung terlihat tanpa harus membuka Serial Monitor. Tampilan ini akan menampilkan data sumbu X, Y, Z dari accelerometer dan gyroscope secara real-time. Kombinasi ini menjadikan sistem ideal untuk alat monitoring getaran dan gerakan portabel.


Komponen yang Digunakan

  • 1x Arduino Uno / MFB ATMEL 328 micro
  • 1x Sensor MPU6050 (I2C)
  • 1x OLED Display SSD1306 128×64 (I2C)
  • Kabel jumper secukupnya
  • Breadboard (opsional)

Skema Rangkaian


Koneksi Rangkaian

KomponenPin Arduino
VCC MPU60505V
GND MPU6050GND
SDA MPU6050A4
SCL MPU6050A5
VCC OLED5V
GND OLEDGND
SDA OLEDA4
SCL OLEDA5

Catatan: Kedua perangkat (MPU6050 & OLED SSD1306) terhubung ke jalur I2C yang sama (SDA & SCL), karena I2C mendukung koneksi multi-perangkat.


Library yang Harus Ditambahkan

Cara install:

  1. Buka Arduino IDE → Sketch > Include Library > Manage Libraries
  2. Cari dan install masing-masing library di atas

Kode Program Lengkap

cppSalinEdit//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_SSD1306.h>
#include <Adafruit_Sensor.h>

Adafruit_MPU6050 mpu;
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);

void setup() {
  Serial.begin(115200);
  Serial.println("MPU6050 OLED demo");

  if (!mpu.begin()) {
    Serial.println("Sensor init failed");
    while (1) yield();
  }
  Serial.println("Found a MPU-6050 sensor");

  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    while (1);
  }

  display.display();
  delay(500);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setRotation(0);
}

void loop() {
  sensors_event_t a, g, temp;
  mpu.getEvent(&a, &g, &temp);

  display.clearDisplay();
  display.setCursor(0, 0);

  Serial.print("Accelerometer X: "); Serial.print(a.acceleration.x, 1);
  Serial.print(" Y: "); Serial.print(a.acceleration.y, 1);
  Serial.print(" Z: "); Serial.println(a.acceleration.z, 1);

  display.println("Accelerometer - m/s^2");
  display.print(a.acceleration.x, 1); display.print(", ");
  display.print(a.acceleration.y, 1); display.print(", ");
  display.print(a.acceleration.z, 1); display.println("");

  Serial.print("Gyroscope X: "); Serial.print(g.gyro.x, 1);
  Serial.print(" Y: "); Serial.print(g.gyro.y, 1);
  Serial.print(" Z: "); Serial.println(g.gyro.z, 1);

  display.println("Gyroscope - rps");
  display.print(g.gyro.x, 1); display.print(", ");
  display.print(g.gyro.y, 1); display.print(", ");
  display.print(g.gyro.z, 1); display.println("");

  display.display();
  delay(100);
}

Penjelasan Singkat Program

  • Program menginisialisasi sensor MPU6050 dan layar OLED SSD1306.
  • Fungsi mpu.getEvent() digunakan untuk membaca nilai dari accelerometer dan gyroscope.
  • Hasil pembacaan ditampilkan ke Serial Monitor dan juga langsung ke layar OLED dalam format yang ringkas.
  • Format yang ditampilkan:
    • Accelerometer → satuan m/s²
    • Gyroscope → satuan rps (rotation per second)

Kesimpulan

Proyek ini merupakan contoh monitoring gerakan dan rotasi yang sangat bermanfaat dalam dunia industri maupun edukasi. Dengan bantuan OLED display, informasi data menjadi langsung terlihat dan bisa digunakan untuk sistem mobile atau portable device tanpa perlu laptop.

Kamu bisa mengembangkan proyek ini lebih lanjut seperti:

  • Menambahkan deteksi threshold getaran
  • Membuat logger gerakan menggunakan SD Card
  • Menghubungkan ke WiFi atau Bluetooth untuk pengiriman data
manfah.industri@gmail.com
manfah.industri@gmail.com
Articles: 26

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *