#include <Wire.h>
#include <MPU6050.h>
#include <math.h>
MPU6050 mpu;
void setup() {
Serial.begin(9600);
Wire.begin();
mpu.initialize();
// Verifikasi koneksi MPU6050
Serial.println(mpu.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");
}
void loop() {
// Membaca data akselerometer
int16_t ax, ay, az;
mpu.getAcceleration(&ax, &ay, &az);
// Faktor skala untuk konversi akselerasi ke g-force (dalam LSB/g)
const float scaleFactor = 16384.0; // sesuai dengan ±2g range, bisa berubah sesuai dengan range yang dipilih pada konfigurasi sensor
// Konversi nilai integer ke percepatan dalam satuan g-force
float accelX = (ax / scaleFactor)*9.8;
float accelY = (ay / scaleFactor)*9.8;
float accelZ = (az / scaleFactor)*9.8;
// Menghitung total akselerasi
float total = sqrt(accelX * accelX + accelY * accelY + accelZ * accelZ);
// Menampilkan data akselerometer ke Serial Monitor
Serial.print("aX = "); Serial.println(accelX);
Serial.print("aY = "); Serial.println(accelY);
Serial.print("aZ = "); Serial.println(accelZ);
Serial.print("Total : "); Serial.println(total);
Serial.println();
delay(1000);
}