標(biāo)題:
STM32C8T6+MUP6050+DMP+輸出俯仰角+翻滾角+偏航角
[打印本頁(yè)]
作者:
k455619
時(shí)間:
2017-9-14 14:00
標(biāo)題:
STM32C8T6+MUP6050+DMP+輸出俯仰角+翻滾角+偏航角
利用mup6050自帶的DMP,在mup6050中直接輸出俯仰角+翻滾角+偏航角,下載好程序后,將mup6050水平放置,因?yàn)橐詸z,如果不水平放置,自檢不會(huì)通過(guò),則不能初始化DMP,在程序中,inv_mpu_dmp_motion_driver.c以及inv_mpu.c是官方的示例程序經(jīng)由正點(diǎn)原子修改,我直接移植該程序。
2.png
(26.7 KB, 下載次數(shù): 66)
下載附件
水平放置初始化DMP后的角度
2017-9-14 13:56 上傳
stm32單片機(jī)源程序如下:
#include "delay.h"
#include "usart.h"
#include "mup6050.h"
#include "mup6050iic.h"
#include "inv_mpu.h"
#include "inv_mpu_dmp_motion_driver.h"
u16 G_X,G_Y,G_Z,A_X,A_Y,A_Z;
u8 A[6],G[6],J[1],i;
int main(void){
delay_init();
uart_init(115200);
IIC_Init();
delay_ms(200);
i=mpu_dmp_init();
while(1){
float pitch,roll,yaw;
mup6050_R_l(0x68,0x3b,6,A);
A_X=((u16)A[0]<<8)|A[1];
A_Y=((u16)A[2]<<8)|A[3];
A_Z=((u16)A[4]<<8)|A[5];
mup6050_R_l(0x68,0x43,6,G);
G_X=((u16)G[0]<<8)|G[1];
G_Y=((u16)G[2]<<8)|G[3];
G_Z=((u16)G[4]<<8)|G[5];
mpu_dmp_get_data(&pitch,&roll,&yaw);
printf("\r\n出錯(cuò)于第%d步\r\n",i);
printf("\r\n---------俯仰角---------%f\r\n",pitch);
printf("\r\n---------翻滾角---------%f\r\n",roll);
printf("\r\n---------航篇---------%f\r\n",yaw);
printf("\r\n---------加速度X軸原始數(shù)據(jù)---------%d \r\n",A_X);
printf("\r\n---------加速度Y軸原始數(shù)據(jù)---------%d \r\n",A_Y);
printf("\r\n---------加速度Z軸原始數(shù)據(jù)---------%d \r\n",A_Z);
printf("\r\n---------陀螺儀X軸原始數(shù)據(jù)---------%d \r\n",G_X);
printf("\r\n---------陀螺儀Y軸原始數(shù)據(jù)---------%d \r\n",G_Y);
printf("\r\n---------陀螺儀Z軸原始數(shù)據(jù)---------%d \r\n",G_Z);
delay_ms(10);
}
}
復(fù)制代碼
所有資料51hei提供下載:
MUP6050+STM32.rar
(337.09 KB, 下載次數(shù): 93)
2017-9-14 16:39 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
dxa572862121
時(shí)間:
2017-9-27 15:35
恩,最近也在做這樣的課題
作者:
jiangkeqin_sy
時(shí)間:
2019-7-30 09:02
恩,最近也在做這樣的課題
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1