# FreeRTOS CAR **Repository Path**: tao-wenjie/free-rtos-car ## Basic Information - **Project Name**: FreeRTOS CAR - **Description**: 基于FreeRTOS的车辆机器人 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 2 - **Created**: 2024-11-05 - **Last Updated**: 2025-10-24 ## Categories & Tags **Categories**: robot **Tags**: FreeRTOS, 机器人 ## README # FreeRTOS CAR #### 介绍 设计车辆机器人,采用主控 STM32F4,实现物体抓取、路径规划,并识别物体颜色、分类放回。 1. 使用 PWM 驱动 180°、360°舵机转动夹爪。PWM 驱动电机,并通过 PID 算法调节电机稳定运行。 2. 使用 UART 串口与 OpenMV 摄像头通信,设计协议帧结构。通过颜色阈值匹配算法,识别物体颜色、分类。 3. 使用 GPIO 读取灰度数值,对其滤波处理。在 I2C 总线挂载 MPU6050 陀螺仪,实现车辆的黑线循迹和角度转向。 4. 利用 FreeRTOS 的任务调度机制,实现机器人的姿态解算、运动控制和黑线循迹等任务之间的同步和通信。 #### 软件 1. 使用keil5编写C语言代码,烧录代码到STM32,实现相关功能。 2. 使用CubeMX软件配置STM32工程初始化,初始化时钟和GPIO、串口等外设。 3. 使用OpenMVIDE,编写Python代码,控制摄像头识别。 #### 安装软件 1. 在对应官网下载安装Keil5安装包。 2. 在对应官网下载安装CubeMX。 3. 在对应官网下载安装OpenMVIDE。 #### 文件说明 1. CAR ————— 车辆机器人实现物体抓取、黑线循迹等功能代码。 2. Fire ————— 炮台将物体抛投出去的代码。 3. car2.py ————— OpenMV识别物体颜色的代码。 #### 使用说明 1. 下载工程,找到CAR和Fire文件夹,分别进入MDK-ARM文件夹,双击.uvprojx后缀的文件,即可在Keil5打开工程,烧录代码到STM32里。 2. 下载工程,找到CAr文件夹,双击.ioc后缀的文件,即可在CubeMX软件里打开,修改工程初始化配置。 3. 下载工程,将car2.py文件拖入OpenMVIDE中,可以修改代码,烧录代码到摄像头里。 #### 参与贡献 1. Fork 本仓库 2. 新建 main 分支 3. 提交代码 4. 新建 Pull Request