从mpu 9150获得钙化值

时间:2016-02-02 11:31:42

标签: arduino accelerometer gyroscope magnetometer

对于一个学校项目,我们得到了一个mpu 9150(陀螺仪/加速度计/磁力计(?)),我们希望获得它的滚动/俯仰/偏航/航向。

我使用了一个代码作为库中的一个例子,但它只给我们这种格式的原始数据:ax / ay / az / gx / gy / gz / mx / my / mz。那不是我们想要的。

到目前为止,我设法使用以下代码段进行滚动和推销:

roll = atan2(ay, az)+PI;
pitch = atan2(-ax, az)+PI;

// Convert everything from radians to degrees:
pitch *= 180.0 / PI;
roll  *= 180.0 / PI;

我读到我必须使用磁力计来获得偏航,但我不知道我需要什么样的形式。

在示例代码中,内部也有这个片段,也许这就是我需要使用的,或者任何人都知道我可以使用的其他功能/方法?

// read raw accel/gyro measurements from device
accelgyro.getMotion9(&ax, &ay, &az, &gx, &gy, &gz, &mx, &my, &mz);

// these methods (and a few others) are also available
//accelgyro.getAcceleration(&ax, &ay, &az);
//accelgyro.getRotation(&gx, &gy, &gz);

我使用I2Cdev和MPU6050库

另一个问题是,我可以从传感器获得什么样的东西?是否有可能获得它的高度或高度差异?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你的mpu的原始值大多非常不精确,漂移,......不太可用。 MPU6050库对于获取有用的值非常有用。要获得你的偏航/滚动/俯仰,你可以使用MPU6050 Libary,就像这个example sketch中描述的例子一样。只需添加

#define OUTPUT_READABLE_YAWPITCHROLL

在这个代码的顶部运行它(使用正确的波特率)。

使用传感器也可以获得实际温度。