Cara Memprogram Sensor Gyro Gyroscope Accelerometer Sensor Modul MPU 6050 Pada ESP32

Cara Memprogram Sensor Gyro Gyroscope Accelerometer Sensor Modul MPU 6050 Pada ESP32

Sensor Gyro Gyroscope Accelerometer Sensor Modul MPU-6050 adalah sebuah modul sensor berbasis chip MPU-6050 yang digunakan untuk mengukur gerakan dan orientasi suatu objek.Berikut adalah cara memprogram Sensor Gyro Gyroscope Accelerometer Sensor Modul MPU 6050 pada ESP32 :

#include <Arduino.h>

#include <Wire.h>
#include <mpu6050.h>

mpu6050 sensor_mpu;


void baca_sensor_mpu(float &x, float &y, float &z) {
int16_t gyroX = sensor_mpu.getRotationX();
int16_t gyroY = sensor_mpu.getRotationY();
int16_t gyroZ = sensor_mpu.getRotationZ();
float skalaFaktor = 131.0;
x = gyroX / skalaFaktor;
y = gyroY / skalaFaktor;
z = gyroZ / skalaFaktor;
}


void setup()
{
Serial.begin(9600);
Wire.begin();
sensor_mpu.initialize();
Serial.println(sensor_mpu.testConnection() ? "Koneksi  berhasil" : "Koneksi  gagal");

}
void loop(){
float gyroX, gyroY, gyroZ;
baca_sensor_mpu(gyroX, gyroY, gyroZ);
Serial.print("Gyro X: "); Serial.print(gyroX);
Serial.print(", Y: "); Serial.print(gyroY);
Serial.print(", Z: "); Serial.println(gyroZ);


}

Berikut ini adalah penjelasan dari kode di atas :

1. Library yang digunakan

#include <Arduino.h>
#include <Wire.h>
#include <mpu6050.h>
  • Arduino.h → Library dasar Arduino, otomatis disertakan tapi kadang perlu untuk beberapa compiler.
  • Wire.h → Library untuk komunikasi I2C (MPU-6050 menggunakan I2C).
  • mpu6050.h → Library khusus untuk sensor MPU-6050 yang menyediakan fungsi-fungsi untuk membaca data gyro dan accelerometer.

2. Membuat objek sensor

mpu6050 sensor_mpu;
  • Membuat objek sensor_mpu dari kelas mpu6050 yang nanti digunakan untuk mengakses sensor MPU-6050.

3. Fungsi membaca data gyro

void baca_sensor_mpu(float &x, float &y, float &z) {
  int16_t gyroX = sensor_mpu.getRotationX();
  int16_t gyroY = sensor_mpu.getRotationY();
  int16_t gyroZ = sensor_mpu.getRotationZ();
  float skalaFaktor = 131.0;
  x = gyroX / skalaFaktor;
  y = gyroY / skalaFaktor;
  z = gyroZ / skalaFaktor;
}
  • Fungsi ini mengambil nilai raw (mentah) rotasi dari sensor gyro MPU-6050.
  • getRotationX(), getRotationY(), dan getRotationZ() mengembalikan data rotasi di sumbu X, Y, Z (dalam satuan integer 16-bit).
  • skalaFaktor (131.0) digunakan untuk mengubah nilai raw menjadi derajat per detik (°/s). Ini sesuai dengan pengaturan sensitivitas gyro default ±250 °/s.
  • Nilai akhir dimasukkan lewat parameter reference (&x, &y, &z) sehingga bisa langsung dipakai di luar fungsi.

4. Setup Arduino

void setup() {
  Serial.begin(9600);    // Memulai komunikasi serial dengan baud rate 9600
  Wire.begin();          // Memulai komunikasi I2C
  sensor_mpu.initialize();  // Inisialisasi sensor MPU-6050
  Serial.println(sensor_mpu.testConnection() ? "Koneksi  berhasil" : "Koneksi  gagal");
}
  • Serial.begin(9600) untuk komunikasi serial agar bisa kirim data ke komputer.
  • Wire.begin() mulai komunikasi I2C yang dibutuhkan MPU-6050.
  • sensor_mpu.initialize() menginisialisasi sensor MPU-6050.
  • sensor_mpu.testConnection() mengecek apakah sensor berhasil terhubung, hasilnya dicetak di Serial Monitor.

5. Loop utama

void loop() {
  float gyroX, gyroY, gyroZ;
  baca_sensor_mpu(gyroX, gyroY, gyroZ);   // Memanggil fungsi baca data gyro
  Serial.print("Gyro X: "); Serial.print(gyroX);
  Serial.print(", Y: "); Serial.print(gyroY);
  Serial.print(", Z: "); Serial.println(gyroZ);
}
  • Di loop(), kode terus membaca nilai gyro dari sensor.
  • Memanggil fungsi baca_sensor_mpu() untuk mendapatkan nilai gyro di sumbu X, Y, Z.
  • Mencetak hasil pembacaan ke Serial Monitor agar kamu bisa melihat nilai rotasi dalam derajat per detik.

Kesimpulan

Kode ini berfungsi untuk:

  • Menginisialisasi sensor MPU-6050 lewat I2C.
  • Membaca data gyro (kecepatan rotasi) pada sumbu X, Y, dan Z.
  • Mengubah data mentah menjadi nilai rotasi dalam derajat per detik.
  • Menampilkan hasil pembacaan gyro secara terus-menerus di Serial Monitor.

untuk diskusi bisa kontak dibawah ini :

Sosial media :

Apa itu ESP32?