学前班
最后登录1970-1-1
在线时间 小时
注册时间2017-6-7
|
本帖最后由 叮呤 于 2017-7-4 09:53 编辑
您好,用霸道板的MPU6050传感器模块来测加速度和角度信息,使用的是例程2中的软件模拟I2C,不用DMP模块,只是想把历程2中的经ADC转换后的原始数据再转为普通的以g和度为单位的加速度值与角度值,应该用什么方法呢?比如设置在正负2g的加速度模式下,就对原始数据除以分辨率16384LSB/g这样的做法对不对?但是角速度如何简单转换为角度值?您看看下面的程序,谢谢啦
//这是转换加速度的程序
void MPU6050ReadAcc_x(float *accData,float *svm_accData)
{
u8 buf[6];
MPU6050_ReadData(MPU6050_ACC_OUT, buf, 6);
accData[0] = (buf[0] << 8) | buf[1];
accData[0]=accData[0]/16384.0;
accData[1] = (buf[2] << 8) | buf[3];
accData[1]=accData[1]/16384.0;
accData[2] = (buf[4] << 8) | buf[5];
accData[2]=accData[2]/16384.0;
*svm_accData=sqrt(accData[0]*accData[0]+accData[1]*accData[1]+accData[2]*accData[2]);
}
//这是转换角度的程序
void MPU6050ReadGyro_y(float *gyroData,float *svm_gyroData)
{
u8 buf[6];
MPU6050_ReadData(MPU6050_GYRO_OUT,buf,6);
gyroData[0] = (buf[0] << 8) | buf[1];
gyroData[0]=gyroData[0]/131.0;
gyroData[1] = (buf[2] << 8) | buf[3];
gyroData[1]=gyroData[1]/131.0;
gyroData[2] = (buf[4] << 8) | buf[5];
gyroData[2]=gyroData[2]/131.0;
*svm_gyroData=sqrt(gyroData[0]*gyroData[0]+gyroData[1]*gyroData[1]+gyroData[2]*gyroData[2]);
}附件是打印出的一些信息
|
-
|