I'm trying to understand the values that I'm getting from my MPU6050. I believe that there is a problem with my code. I'm not entirely sure how the code is supposed to look like. There doesn't seem to be very many examples on the MPU6050.
What is wrong?
After taking a look at the system print I found that the numbers that are written out is the time and not the values of the MPU6050. Why am I getting the zeros and nan for?
I also had a library problem thats fixed now.
I got the code from a site and I've modified it because it didn't run for me.
This is my code:
// collect readings
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
// apply gyro scale from datasheet
gsx = gx/gyroScale; gsy = gy/gyroScale; gsz = gz/gyroScale;
// calculate accelerometer angles
ary = -(180/3.141592) * atan(ax / sqrt(square(ay) + square(az)));
arx = (180/3.141592) * atan(ay / sqrt(square(ax) + square(az)));
arz = (180/3.141592) * atan(sqrt(square(ay) + square(ax)) / az);
// set initial values equal to accel values
if (i == 1) {
grx = arx;
gry = ary;
grz = arz;
}
// integrate to find the gyro angle
else{
grx = grx + (timeStep * gsx);
gry = gry + (timeStep * gsy);
grz = grz + (timeStep * gsz);
}
// apply filter
rx = (0.1 * arx) + (0.9 * grx);
ry = (0.1 * ary) + (0.9 * gry);
rz = (0.1 * arz) + (0.9 * grz);
Serial.print(ax); Serial.print("\t");
Serial.print(ay); Serial.print("\t");
Serial.print(az); Serial.print("\t\t");
Serial.print(gx); Serial.print("\t");
Serial.print(gy); Serial.print("\t");
Serial.print(gz); Serial.print("\t\t");
Serial.print(arx); Serial.print("\t");
Serial.print(ary); Serial.print("\t");
Serial.print(arz); Serial.print("\t\t");
Serial.print(grx); Serial.print("\t");
Serial.print(gry); Serial.print("\t");
Serial.print(grz); Serial.print("\t\t");
Serial.print(rx); Serial.print("\t");
Serial.print(ry); Serial.print("\t");
Serial.println(rz);
This is the output im getting
2 1.00 61.00 0.06000 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
3 61.00 139.00 0.07800 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
4 139.00 219.00 0.08000 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
5 219.00 300.00 0.08100 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
6 300.00 380.00 0.08000 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
7 380.00 462.00 0.08200 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
8 462.00 543.00 0.08100 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
9 543.00 624.00 0.08100 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
10 624.00 705.00 0.08100 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
11 705.00 788.00 0.08300 0 0 0 0 0 0 nan nan nan
...
41 3223.00 3307.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
42 3307.00 3392.00 0.08500 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
43 3392.00 3476.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
44 3476.00 3560.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
45 3560.00 3645.00 0.08500 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
46 3645.00 3729.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
47 3729.00 3813.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
48 3813.00 3897.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
49 3897.00 3982.00 0.08500 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
50 3982.00 4066.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
51 4066.00 4150.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
52 4150.00 4234.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
53 4234.00 4319.00 0.08500 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
54 4319.00 4403.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
55 4403.00 4487.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
56 4487.00 4571.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
57 4571.00 4656.00 0.08500 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
58 4656.00 4740.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan
59 4740.00 4824.00 0.08400 0 0 0 0 0 0 nan nan nan nan nan nan nan nan nan