#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu;
void setup(void) {
Serial.begin(115200);
//Try to initialise
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip");
while (1) {
delay(10);
}
}
mpu.setAccelerometerRange(MPU6050_RANGE_16_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("");
delay(100);
}
void loop() {
double accelDataArrayx[10];
double accelDataArrayy[10];
double accelDataArrayz[10];
//defining sums of arrays
double sumx = 0;
double sumy = 0;
double sumz = 0;
//creating arrays
for (int i = 0; i < 10; i++)
{
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
accelDataArrayx[i] = (a.acceleration.x);
//Serial.println(accelDataArrayx[i]);
accelDataArrayy[i] = (a.acceleration.y);
//Serial.println(accelDataArrayy[i]);
accelDataArrayz[i] = (a.acceleration.z);
//Serial.println(accelDataArrayz[i]);
//Calculations
sumx = sumx + accelDataArrayx[i];
sumy = sumy + accelDataArrayy[i];
sumz = sumz + accelDataArrayz[i];
}
//Averages
double avgx = sumx/10;
Serial.print("Average of x array values is: ");
Serial.println(avgx);
double avgy = sumy/10;
Serial.print("Average of y array values is: ");
Serial.println(avgy);
double avgz = sumz/10;
Serial.print("Average of z array values is: ");
Serial.println(avgz);
//Delay of when the next array is calcualted
delay(5000);
}