基于STM32的语音控制电机

2023-04-03

基于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的开关、翻转等功能。
  • 步进电机控制代码:包括电机方向调整、速度调整、步进一个脉冲等功能。

使用说明

  1. 硬件连接:按照端口定义连接各模块。
  2. 软件配置:使用MDK keil5打开项目,编译并下载到STM32。
  3. 语音指令:通过ASRPRO模块发送语音指令,控制RGB灯和步进电机的状态。

注意事项

  • 确保各模块的电源和信号线连接正确。
  • 语音指令需与ASRPRO模块的识别词库匹配。
  • 调试过程中注意观察串口输出,确保通信正常。

项目作者

  • 朽木自雕i
  • CSDN C/C++领域优质创作者

版权声明

本项目遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

下载链接

基于STM32的语音控制电机