基于STM32的语音控制电机
项目简介
本项目利用STM32F103C8T6单片机和ASRPRO语音模块,通过语音指令控制RGB灯和五线四相步进电机。ASR模块通过天问Block开发,串口2通信,步进电机通过ULN2003驱动。代码包括主程序、初始化、系统运行、LED及电机控制等部分。
项目功能
- 语音控制:通过语音指令控制小灯的亮灭,以及电机的启停、正反转、运行模式、运行速度、转动角度等。
- 硬件配置:使用STM32F103C8T6作为主控芯片,MDK keil5作为编译环境,基础配置使用STM32CubeMx生成。
- 模块通信:ASRPRO语言识别模块使用串口1,设置波特率为9600,与STM32通过串口2通信,波特率同样为9600。
所需元件
- STM32F103C8T6最小系统
- ASRPRO语音模块
- ULN2003驱动板模块
- 五线四相步进电机
- RGB灯
端口定义
- STM32串口2:
- PA2 ——> USART2_TX
- PA3 ——> USART2_RX
- ASRPRO语言识别模块:
- PA2 ——> USART1_TX
- PA3 ——> USART1_RX
代码结构
- 主程序:包括系统初始化、外设设置、系统运行等。
- 初始化代码:包括串口中断、定时器启动、电机参数初始化等。
- 系统运行代码:包括系统运行、错误处理、参数错误处理等。
- LED灯代码:包括LED的开关、翻转等功能。
- 步进电机控制代码:包括电机方向调整、速度调整、步进一个脉冲等功能。
使用说明
- 硬件连接:按照端口定义连接各模块。
- 软件配置:使用MDK keil5打开项目,编译并下载到STM32。
- 语音指令:通过ASRPRO模块发送语音指令,控制RGB灯和步进电机的状态。
注意事项
- 确保各模块的电源和信号线连接正确。
- 语音指令需与ASRPRO模块的识别词库匹配。
- 调试过程中注意观察串口输出,确保通信正常。
项目作者
- 朽木自雕i
- CSDN C/C++领域优质创作者
版权声明
本项目遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。