#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
// Inisialisasi objek MPU6050
Adafruit_MPU6050 mpu;
void setup() {
// Memulai komunikasi serial
Serial.begin(115200);
while (!Serial) {
delay(10); // Menunggu serial siap
}
// Memulai sensor MPU6050
if (!mpu.begin()) {
Serial.println("Gagal menginisialisasi sensor MPU6050!");
while (1) {
delay(10);
}
}
// Pengaturan awal sensor
mpu.setAccelerometerRange(MPU6050_RANGE_2_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("Sensor MPU6050 siap!");
}
void loop() {
// Membaca data dari sensor
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
// Menampilkan data akselerasi
Serial.print("Akselerasi (m/s^2) pada sumbu X: ");
Serial.println(a.acceleration.x);
Serial.print("Akselerasi (m/s^2) pada sumbu Y: ");
Serial.println(a.acceleration.y);
Serial.print("Akselerasi (m/s^2) pada sumbu Z: ");
Serial.println(a.acceleration.z);
// Menampilkan data gyroscope (rotasi)
Serial.print("Rotasi (derajat/s) pada sumbu X: ");
Serial.println(g.gyro.x * 180 / 3.14159);
Serial.print("Rotasi (derajat/s) pada sumbu Y: ");
Serial.println(g.gyro.y * 180 / 3.14159);
Serial.print("Rotasi (derajat/s) pada sumbu Z: ");
Serial.println(g.gyro.z * 180 / 3.14159);
// Delay sebelum pembacaan berikutnya
delay(1000);
}