MPU6050如何获取三个轴加速度的原始数据呢
如何获取MPU6050里加速度的原始数据?我在下图中自己编写了一个函数,在主函数中调用了一下,但是编译总是报错?程序猿大大能帮忙看看吗 Read_DMP的时候已经读出了,记得有2个数组存放的,你看一下 Read_DMP的时候已经读出了,记得有2个数组存放的,你看一下 admin 发表于 2017-4-23 20:14Read_DMP的时候已经读出了,记得有2个数组存放的,你看一下
void Read_DMP(void)
{
unsigned long sensor_timestamp;
unsigned char more;
long quat;
dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors, &more);
if (sensors & INV_WXYZ_QUAT )
{
q0=quat / q30;
q1=quat / q30;
q2=quat / q30;
q3=quat / q30;
Pitch = asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3;
Roll = atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 + 1)* 57.3; // roll
Yaw = atan2(2*(q1*q2 + q0*q3),q0*q0+q1*q1-q2*q2-q3*q3) * 57.3;
}
}
这个里面只有解算之后的欧拉角啊,没有xyz各个轴的原始加速度值和陀螺仪值,我想看看解算之前的数据,我觉得可以程序里应该有相关函数,但是不知道在哪 凌天007 发表于 2017-4-23 20:34
void Read_DMP(void)
{
unsigned long sensor_timestamp;
gyro, accel, admin 发表于 2017-4-24 00:26
gyro, accel,
谢谢程序猿大大的技术支持,赞一个{:2_27:},已经可以得到原始数据了,并且通过单位转换得到具有实际物理意义的数据。 admin 发表于 2017-4-24 00:26
gyro, accel,
请问,在发的MPU6050程序里利用卡尔曼滤波算法后,在串口软件上只能显示俯仰角吗,能不能显示旋转角或者横滚角 可以啊,自己添加啊,上位机有十个通道,把变量添加上去就行了 魂萦xy 发表于 2017-5-8 20:09
可以啊,自己添加啊,上位机有十个通道,把变量添加上去就行了
就是在程序里这句:
printf("互 补 滤 波 输 出 Pitch:%f\r\n",Angle_Balance);//y
我要串口显示旋转角或者横滚角,程序里貌似没有啊 凌天007 发表于 2017-5-8 20:52
就是在程序里这句:
printf("互 补 滤 波 输 出 Pitch:%f\r\n",Angle_Balance);//y
我要串口显示 ...
把Roll和Yaw也发到上位机即可
页:
[1]
2