项目简介
本项目开发了一套基于STM32F4xx微控制器的微鼠标系统,包含具有自主迷宫求解能力的机器人和能对其无线控制与状态监测的控制器,主要用于解决4x4迷宫问题,可用于相关课程的展示、演示和讲解。
项目的主要特性和功能
- 自主迷宫求解:机器人采用洪水填充算法自动解决4x4迷宫,从西南角向北出发至东北角。
- 硬件控制:利用STM32F4xx的GPIO端口控制电机转动和伺服电机角度。
- 环境感知:通过超声波与伺服传感器检测机器人前左、中、右的墙壁情况。
- 无线控制与监测:用户能通过控制器无线手动控制机器人并实时监测状态。
- 运动调整:机器人以坦克模式驱动,根据超声波反馈调整速度防碰撞。
- 通信功能:借助UART与PC通信,接收控制命令并发送状态信息。
- 电源管理:使用STM32F4xx电源管理模块实现不同低功耗模式。
- 中断处理:运用STM32F4xx中断系统处理定时器和UART中断。
安装使用步骤
硬件组装
- 机器人引脚:PA15 - 伺服PWM;PA1 - 超声波回波;PB8 - 超声波触发;PB6 - 左H桥PWM;PB7 - 右H桥PWM;PA9 - 左H桥方向;PA8 - 右H桥方向;PC6 - USART TX(连接XBEE);PA12 - USART RX(连接XBEE),为连接设备供电,H桥引脚连带Arduino接口的Zumo底盘。
- 控制器引脚:PC0 - 键盘行0;PC1 - 键盘行1;PC2 - 键盘行2;PC3 - 键盘行3;PA8 - 键盘列0;PC7 - 键盘列1;PC8 - 键盘列2;PC9 - 键盘列3;PA2 - USART TX(连接XBEE);PA3 - USART RX(连接XBEE);PB10 - LCD I2C SCL;PB9 - LCD I2C SDA。
- XBEE设置:以9600波特率进行数据传输。
软件准备
下载并安装STM32F4xx的HAL库,包含驱动代码和库文件。
代码烧录
将micromouse目录下的代码烧录到机器人的STM32芯片,将controller目录下的代码烧录到控制器的STM32芯片,同时在代码中配置好伺服角度。
编译与开发环境
使用STM32的集成开发环境(如STM32CubeIDE、Keil uVision等)导入项目代码,编译生成可执行文件。
测试与调试
将编译后的代码烧录到STM32F4xx微控制器,通过UART接口与PC通信,测试机器人的移动和路径搜索功能;在迷宫环境中进行实际测试,验证路径搜索算法的正确性和机器人的移动性能。
注意事项
- 确保硬件连接正确,特别是电机驱动电路和超声波传感器。
- 根据具体硬件环境调整代码中的GPIO引脚和UART通信参数。
- 在使用中断系统时,确保中断优先级设置正确,避免中断冲突。
- 在使用电源管理模块时,注意不同低功耗模式对系统性能的影响。
- 在进行路径搜索算法时,确保迷宫环境的边界条件设置正确。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】