#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_MPU6050.h>
Adafruit_MPU6050 mpu;
void setup() {
Serial.begin(9600);
Wire.begin();
mpu.begin();
mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
mpu.setGyroRange(MPU6050_RANGE_500_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
}
void loop() {
static int count = 0;
static float prevTime = 0.0;
static float prevVelocity = 0.0;
if (count < 50) {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
float currentTime = millis() / 1000.0;
float elapsedTime = currentTime - prevTime;
float acceleration = a.acceleration.y * 9.81;
float velocity = prevVelocity + acceleration * elapsedTime;
Serial.print("Acceleration: ");
Serial.print(acceleration);
Serial.print(" m/s^2, Velocity: ");
Serial.print(velocity);
Serial.println(" m/s");
prevTime = currentTime;
prevVelocity = velocity;
count++;
delay(2000);
}
}