#include <AccelStepper.h>
#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
//tentukan pin driver motor stepper
#define STEPPin 9
#define DIRPin 8
#define enablePin 7
#define MPU6050_ADDR 0x60
//inisialisasi sensor mpu6050
Adafruit_MPU6050 mpu;
//inisialisasi driver motor stepper
AccelStepper stepper(AccelStepper :: DRIVER, STEPPin, DIRPin);
const int stepsPerRevolution = 200;
void setup() {
Wire.begin();
mpu.begin(MPU6050_ADDR);
//mengatur kecepatan dan akselarasi motor driver
stepper.setMaxSpeed(1000);
stepper.setAcceleration(100);
}
void loop() {
//membaca data sensor mpu6050
sensors_event_t a, g, event;
mpu.getEvent(&a, &g, &event);
int16_t ax, ay, az, gx, gy, gz;
//gunakan data sensor untuk memngontrol pergerakan motor stepper
int targetPos = map(ax, -32768, 32768, 0, 1000);
stepper.move(targetPos);
stepper.run();
}