第八章V1.5:MPU6050陀螺仪使用方法及姿态解算(DMP/STM32)

时间:2025-11-02  作者:Diven  阅读:0

功能介绍放开头, 使用便捷无需愁。

第八章V1.5:MPU6050陀螺仪使用方法及姿态解算(DMP/STM32)

这是全网最详细、性价比最高的STM32实战项目入门教程,通过合理的硬件设计和详细的视频笔记介绍,硬件使用STM32F103主控资料多方便学习,通过3万字笔记、12多个小时视频、20多章节代码手把手教会你如何开发和调试。让你更快掌握嵌入式系统开发。

V1.5.0-STM32智能小车

V1.5.0:库函数开发。功能:循迹、避障、跟随、遥控、电池电压显示等。

视频合集链接推荐观看

[https://www.bilibili.com/video/BV1SY411L7rJ/?spm_id_from=333.337.search-card.all.clICk]
**V3.3.0-STM32智能小车 **

V3:HAL库开发、功能:PID速度控制、PID循迹、PID跟随、遥控、避障、PID角度控制、视觉控制、电磁循迹、RTOS等功能。

视频合集链接推荐观看

[https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.clICk]

MPU6050姿态传感器使用(这个没有用视频也没有讲给大家自行扩展
使用)
温湿度传感器、光照传感器、摄像头模块都是大家自己可以扩展使用的其中摄像头教程再规划中

移植正点原子例程文件。

在这里插入图片描述
添加xxx.c 与xxx.h文件

在这里插入图片描述
在这里插入图片描述

**如图 **

**6050_SDA--PB9 **

**6050_SCL--PB8 **

" />

更改驱动代码

更改mpuiic.c中的的MPU_IIC_Init(void) 函数

//初始化IICvoid MPU_IIC_Init(void){ GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//先使能外设IO PORTB时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_8; // 端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化GPIO GPIO_SetBits(GPIOB,GPIO_Pin_9|GPIO_Pin_8); //PB9,PB9输出高}

更改mpuiic.h 相关宏

//IO方向设置#define MPU_SDA_IN() {GPIOB- >CRH&=0XFFFFFF0F;GPIOB- >CRH|=8< < 4;}//注意这里 容易出错#define MPU_SDA_OUT() {GPIOB- >CRH&=0XFFFFFF0F;GPIOB- >CRH|=3< < 4;}​//IO操作函数 #define MPU_IIC_SCL PBout(8) //SCL#define MPU_IIC_SDA PBout(9) //SDA #define MPU_READ_SDA PBin(9) //输入SDA

注意理解

//IO方向设置#define MPU_SDA_IN() {GPIOB- >CRH&=0XFFFFFF0F;GPIOB- >CRH|=8< < 4;}//注意这里 容易出错#define MPU_SDA_OUT() {GPIOB- >CRH&=0XFFFFFF0F;GPIOB- >CRH|=3< < 4;}

" />

" />

检查6050其程序发现在mpu6050.c中有对PA15的初始化 我们需要将其注释掉,防止影响其程序。

在main.c声明部分变量

extern u8 TIM5CH1_CAPTURE_STA;//输入捕获状态 extern u16TIM5CH1_CAPTURE_VAL;//输入捕获值

在main.c定义变量

float pitch,roll,yaw; //欧拉角short aacx,aacy,aacz;//加速度传感器原始数据short gyrox,gyroy,gyroz;//陀螺仪原始数据short temp;//温度

初始化6050与mpu

MPU_Init();//初始化MPU6050 while(MPU_Init()!=0);while(mpu_dmp_init()!=0);

通过mpu 获得数据

delay_ms(500);mpu_dmp_get_data(&pitch,&roll,&yaw);//返回值:0,DMP成功解出欧拉角 printf("nr 俯仰角=%0.2f 横滚角=%0.2f 偏航角=%0.2f nr", pitch,roll,yaw);

发现读取数据为零,搜索发现

" />

然后尝试

mpu_dmp_get_data 使用方法

delay_ms(500);while(mpu_dmp_get_data(&pitch,&roll,&yaw)!=0){}printf("nr 俯仰角=%0.2f 横滚角=%0.2f 偏航角=%0.2f nr", pitch,roll,yaw);​

可以获得数据
在这里插入图片描述

审核编辑 黄宇

猜您喜欢

现代电子设备中,连接器是非常重要的配件。CONN_10.16X8.49MM_TM是一款具有高性能和多功能性的连接器,应用于各种电子设备中。本文将详细介绍该连接器...
2025-04-20 23:31:13

采样电阻作为测量电流和电压的重要元件,是关键配件。TA-I(大毅)采样电阻作为市场上受到关注的品牌,优良的品质和稳定的性能赢得了众多工程师和企业的青睐。那么,T...
2013-10-17 10:56:30

MEMS陀螺仪是一种应用广泛的新型微惯性传感器,可实现高精度、小体积、抗干扰性强的角速度测量,被广泛应用于航空航天、平台钻井、自动驾驶、可穿戴设备以及手机中。近...
2024-05-16 09:03:00

贴片电阻作为电子电路中不可或缺的元件,拥有各种各样的型号,让人眼花缭乱。了解这些型号的含义,对于选择合适的电阻至关重要。贴片电阻的型号通常由数字和字母组成,例如...
2025-04-14 15:02:20

贴片电阻上的332标识代表其阻值为3300欧姆,也就是3.3kΩ。这三个数字的含义遵循一种通用的编码规则:前两位数字表示有效数字,最后一位数字表示10的幂次方。...
2024-11-29 10:25:56

现代电子设备中,连接器是非常重要的配件。不仅负责电气信号的传递,还影响着设备的整体性能和可靠性。本文将重点介绍CONN_39.76X8.6MM_TM,这是一款具...
2025-04-26 04:00:47

工作服在现代职场中是重要的配件,不仅仅是服装,更是企业文化和团队形象的体现。工作服能够提升员工的专业形象,使其在客户和合作伙伴面前显得更加可信和可靠。统一的工作...
2008-10-05 00:00:00

贴片电阻作为基础的电子组件,是不可少的配件。而提及贴片电阻,一个不容忽视的名字便是TT Electronics(英国)。作为行业内的佼佼者,TT Electro...
2019-07-31 22:54:08

灭火器箱是火灾安全管理中不可少的重要设施,其主要优势体现在以下几个方面。灭火器箱能够集中存放灭火器,便于管理和维护,确保灭火器随时处于良好状态,提升灭火效率。灭...
2011-01-12 00:00:00

显微镜是重要的光学仪器,用于观察细小物体和结构。通过放大物体的细节,使我们能够深入了解微观世界。显微镜的基本原理是利用透镜的折射作用,将光线聚焦,从而形成清晰的...
2016-02-01 00:00:00