文章目录
源代码下载地址
项目介绍
《基于FreeRTOS的STM32超声波智能避障平衡小车,实现了小车的自平衡、超声波避障以及通过智能手机远程控制的功能》+源代码+文献资料+环境采集进程的实现+小车PID控制进程的实现+小车蔽障与巡线功能开发+小车交互进程实现
项目整体框架
- 开始
main
FS_Explorer_Init
外设模块初始化Freertos_Init
操作系统初始化- 启动系统
StartTask_200HZ
环境数据采集进程StartTask_100HZ
小车PID控制进程StartTask_Interaction
交互进程- 中断处理程序
环境数据采集进程
- 获取MPU6050数据
osDelay(5)
小车PID控制进程
- 启动超声波测距
- 读取左右轮子的转速
- 确定PID控制参数
- 直立环-速度环-转向环
- 控制电机
osDelay(10)
交互进程
- 创建系统消息队列
- 初始化ESP32通信接口
- 初始化ESP32
- 发送数据给上位机
- 接收处理上位机数据
osDelay(10)
中断处理程序
- ESP32接收中断处理
- 超声波回应中断处理
环境数据采集进程
MPU6050简介
MPU6050、IIC(I2C),和STM32之间存在联系,通常在嵌入式系统中一起使用。
-
MPU6050: MPU6050是一种常用的九轴运动传感器,包括三轴陀螺仪和三轴加速度计,以及温度传感器。它可以测量物体的运动和倾斜等信息。MPU6050通常通过IIC(I2C)接口与微控制器或处理器通信。
-
IIC(I2C):IIC(Inter-Integrated Circuit)是一种串行通信协议,用于连接微控制器、传感器、存储器等外部设备。MPU6050通常使用IIC接口与主控制器(如STM32)进行通信,以传输传感器数据和控制命令。
-
STM32: STM32是一系列基于ARM Cortex-M内核的微控制器。它们常用于嵌入式系统开发,并具有丰富的外设接口和功能。STM32可以连接到MPU6050传感器,通过IIC总线与其通信,从而读取传感器数据并执行相关控制任务,如姿态测量、运动跟踪等。
所以,MPU6050通过IIC接口与STM32微控制器连接,允许STM32读取传感器数据并执行各种应用,例如机器人姿态控制、无人机飞行控制、虚拟现实头显姿态追踪等。这种组合常见于嵌入式系统和物联网设备中。
如何获得这些数据?
1)初始化MPU6050
2)移植MPU6050的eMPL库