# 幻尔小车Demo(STM32F407VET6) **Repository Path**: jori-wang/car-demo ## Basic Information - **Project Name**: 幻尔小车Demo(STM32F407VET6) - **Description**: 基于幻尔阿克曼地盘和幻尔STM32F407VET6的小车控制代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-09-01 - **Last Updated**: 2026-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STM32智能小车项目 基于STM32F407VET6微控制器的智能小车控制系统,支持蓝牙控制、OLED显示、电机驱动等功能。 ## 目录结构 ``` ├── Core/ # 核心代码目录 │ ├── Inc/ # 头文件目录 │ │ ├── Bluetooth_USART.h # 蓝牙串口通信 │ │ ├── Buzzer.h # 蜂鸣器控制 │ │ ├── Handler_Command.h # 命令处理 │ │ ├── LED.h # LED控制 │ │ ├── Motor.h # 电机驱动 │ │ ├── Oled_Font.h # OLED字体 │ │ ├── Oled_I2C.h # OLED I2C显示 │ │ ├── ServoMotor.h # 舵机控制 │ │ ├── Tim_Encoder.h # 定时器编码器 │ │ ├── gpio.h # GPIO配置 │ │ ├── i2c.h # I2C配置 │ │ ├── main.h # 主程序头文件 │ │ ├── stm32_assert.h # STM32断言 │ │ ├── stm32f4xx_it.h # 中断服务程序 │ │ ├── tim.h # 定时器配置 │ │ └── usart.h # 串口配置 │ └── Src/ # 源文件目录 │ ├── Bluetooth_USART.c # 蓝牙通信实现 │ ├── Buzzer.c # 蜂鸣器控制实现 │ ├── Handler_Command.c # 命令处理实现 │ ├── LED.c # LED控制实现 │ ├── Motor.c # 电机控制实现 │ ├── Oled_I2C.c # OLED显示实现 │ ├── ServoMotor.c # 舵机控制实现 │ ├── Tim_Encoder.c # 定时器编码器实现 │ ├── gpio.c # GPIO配置实现 │ ├── i2c.c # I2C配置实现 │ ├── main.c # 主程序 │ ├── stm32f4xx_it.c # 中断服务程序实现 │ ├── system_stm32f4xx.c # 系统初始化 │ ├── tim.c # 定时器配置实现 │ └── usart.c # 串口配置实现 ├── Drivers/ # STM32驱动库 │ ├── CMSIS/ # ARM CMSIS库 │ │ ├── Core/ # 核心CMSIS文件 │ │ ├── Core_A/ # Cortex-A CMSIS文件 │ │ ├── DSP/ # DSP库 │ │ ├── Device/ # 设备特定文件 │ │ ├── Include/ # 包含文件 │ │ ├── Lib/ # 库文件 │ │ ├── NN/ # 神经网络库 │ │ ├── RTOS/ # RTOS模板 │ │ ├── RTOS2/ # RTOS2库 │ │ └── docs/ # 文档 │ └── STM32F4xx_HAL_Driver/ # STM32 HAL驱动库 │ ├── Inc/ # 头文件目录 │ │ ├── Legacy/ # 传统支持文件 │ │ └── *.h # HAL驱动头文件 │ ├── Src/ # 源文件目录 │ └── LICENSE.txt # 许可证文件 ├── MDK-ARM/ # Keil MDK工程文件 │ ├── DebugConfig/ # 调试配置 │ ├── RTE/ # 运行时环境 │ ├── car/ # 编译输出文件 │ │ ├── *.crf # 交叉引用文件 │ │ ├── *.d # 依赖文件 │ │ ├── *.o # 目标文件 │ │ ├── car.axf # 可执行文件 │ │ ├── car.hex # HEX文件 │ │ └── car.map # 映射文件 │ ├── EventRecorderStub.scvd # 事件记录器 │ ├── JLinkLog.txt # J-Link日志 │ ├── JLinkSettings.ini # J-Link设置 │ ├── car.uvguix.jori # Keil用户界面配置 │ ├── car.uvoptx # Keil工程选项 │ ├── car.uvprojx # Keil工程文件 │ ├── startup_stm32f407xx.lst # 启动文件列表 │ └── startup_stm32f407xx.s # 启动汇编文件 ├── .git/ # Git版本控制 ├── .gitignore # Git忽略文件 ├── .mxproject # STM32CubeMX项目文件 └── car.ioc # STM32CubeMX配置文件 ``` ## 硬件列表 ### 主控芯片 - **STM32F407VET6**: ARM Cortex-M4内核,主频168MHz - **幻尔RRC-V1.2开发板**: 机器人控制器开发板 ### 传感器模块 - **MPU-6050**: 六轴陀螺仪加速度计 - **QMI8658C**: 六轴惯性测量单元 ### 显示模块 - **OLED 0.96寸**: I2C接口OLED显示屏 - 支持4针、6针、7针等多种接口 - 可选8针TFT显示屏 ### 通信模块 - **蓝牙转串口模块**: 无线通信控制 - **CH9102F**: USB转串口芯片 - **CH9140**: 蓝牙通信芯片 ### 电源管理 - **RT8289GSP**: DC-DC电源管理芯片 - **SA8870C**: 音频功放芯片 ### 执行器 - **直流电机**: 小车驱动电机 - **舵机**: 方向控制舵机 - **蜂鸣器**: 声音提示 - **LED**: 状态指示灯 - **底盘**: 幻尔阿克曼双层底盘(含2个直流电机和1个舵机) ## 功能特性 - 🚗 **智能小车控制**: 前进、后退、左转、右转 - 📱 **蓝牙遥控**: 手机APP无线控制 - 📺 **OLED显示**: 实时状态信息显示 - 🔊 **声音提示**: 蜂鸣器状态反馈 - 💡 **LED指示**: 运行状态可视化 - 🎯 **舵机控制**: 精确方向控制 - 📊 **传感器数据**: 姿态和运动检测 ## 开发工具版本 - STM32CubeMX: v6.15.0 - Keil MDK: v5.32 ## 快速开始 1. 使用STM32CubeMX (v6.15.0) 打开`car.ioc`文件查看硬件配置 2. 使用Keil MDK (v5.32) 打开项目文件进行编译和调试开`MDK-ARM/car.uvprojx`工程文件 3. 编译并下载程序到STM32开发板 4. 连接蓝牙模块,使用手机APP进行控制