#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Servo.h>
Servo servo;
Adafruit_MPU6050 mpu;
void setup(void) {
Serial.begin(115200);
servo.attach(9);
Wire.begin();
if (!mpu.begin()) {
Serial.println("MPU6050 tidak terdeteksi!");
while (1) delay(10);
}
// Setting konfigurasi sensor
mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
mpu.setGyroRange(MPU6050_RANGE_500_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
servo.write(0); // Posisi awal servo
delay(100);
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
float accY = a.acceleration.y;
int value = map(accY, -10, 10, 90, 0); // Mapping nilai Y ke sudut servo
value = constrain(value, 0, 90); // Hindari nilai ekstrem
servo.write(value);
Serial.print("Y: ");
Serial.print(accY);
Serial.print(" => Servo: ");
Serial.println(value);
delay(10);
}