单片机设计:基于stm32智能语音识别蓝牙音响(ld3320语音识别模块+mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app)

单片机设计:基于stm32智能语音识别蓝牙音响(ld3320语音识别模块+mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app)

一、主要功能:

1.手机app播放内存卡的音乐、同时点阵屏随音乐进行跳动

2.0LED、手机app显示当前音量以及当前状态

3.手机app远程调节音量阈值,可以切换上一首、下一首,音乐播放结束后自动下一首

4.语音模块通过识别人的声音来控制蓝牙音响的状态(上一首,下一首,暂停,播放,音量加,音量减)

当然也可以添加其他功能~

定制可赠送资料:

1.实物

2.源码以及手机app

3.原理图

4.售后线上服务(代码讲解)

二、实物图:

三、部分源码:

主函数部分:

while (1)
  {
        

        key = RX;//手机按键值
        MP3(key);
         
        if(flag_song==1)//按键的值不等于1  1即为暂停(点阵屏)
        {
            for(i=1;i<9;i++)
            {
                num = rand()%10;//随机值
                MAX7219_WRITE(i,disp1[num][0]);
            } 
            HAL_Delay(200);        
        }
        if(led_flag==1)
        {
            HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);
            HAL_Delay(1000);
            HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);
            led_flag = 0;
        }

        
    
        
  }

语音识别部分:

void USART3_IRQHandler(void)
{
    if(__HAL_UART_GET_FLAG(&huart3, UART_FLAG_IDLE) != RESET)  // 空闲中断标记被置位
    {
        __HAL_UART_CLEAR_IDLEFLAG(&huart3);  // 清楚中断标记
        HAL_UART_DMAStop(&huart3);           // 停止DMA接收
        UART_RX_STA3 = UART_RX_LEN3 - __HAL_DMA_GET_COUNTER(huart3.hdmarx);  // 总数据量减去未接收到的数据量为已经接收到的数据量
        UART_RX_BUF3[UART_RX_STA3] = 0;  // 添加结束符
        UART_RX_STA3 |= 0X8000;         // 标记接收结束
        
//        if(strcmp((char *)UART_RX_BUF3,"1111")==0){RX=2;led_flag=1;HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);}//播放
//        if(strcmp((char *)UART_RX_BUF3,"2222")==0){RX=1;led_flag=1;HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);}//暂停
//        if(strcmp((char *)UART_RX_BUF3,"3333")==0){RX=4;led_flag=1;HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);}//上一首
//        if(strcmp((char *)UART_RX_BUF3,"4444")==0){RX=3;led_flag=1;HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);}//下一首
//        if(strcmp((char *)UART_RX_BUF3,"5555")==0){RX=5;led_flag=1;HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);}//音量加
//        if(strcmp((char *)UART_RX_BUF3,"6666")==0){RX=6;led_flag=1;HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);}//音量减
        if(strcmp((char *)UART_RX_BUF3,"1111")==0){RX=2;led_flag=1;}//播放
        if(strcmp((char *)UART_RX_BUF3,"2222")==0){RX=1;led_flag=1;}//暂停
        if(strcmp((char *)UART_RX_BUF3,"3333")==0){RX=4;led_flag=1;}//上一首
        if(strcmp((char *)UART_RX_BUF3,"4444")==0){RX=3;led_flag=1;}//下一首
        if(strcmp((char *)UART_RX_BUF3,"5555")==0){RX=5;led_flag=1;}//音量加
        if(strcmp((char *)UART_RX_BUF3,"6666")==0){RX=6;led_flag=1;}//音量减
        UART_RX_STA3=0;
        
        HAL_UART_Receive_DMA(&huart3, UART_RX_BUF3, UART_RX_LEN3);  // 重新启动DMA接收
        
    }
    
    HAL_UART_IRQHandler(&huart3);
}

四、原理图:

        以下是整个工程各个模块的原理图:

 

五、更多:

如果想要更加详细的了解整个工程的话可以去b站看这个视频演示,下面为视频链接:

单片机设计:基于stm32智能语音识别蓝牙音响(ld3320语音识别模块+mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app)_哔哩哔哩_bilibili

给个免费的三连哦!!!

  • 7
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LD3320识别芯片介绍: LD3320 是一颗基于非特定人语音识别 (SI-ASR:Speaker-Independent Automatic Speech Recognition)技术的语音识别/声控芯片。提供了真正的单芯片语音识别解决方案。 LD3320 芯片上集成了高精度的 A/D 和 D/A 接口,不再需要外接辅助的Flash 和 RAM,即可以实现语音识别/声控/人机对话功能。并且,识别的关键词语列表是可以动态编辑的。 基于 LD3320,可以在任何的电子产品中,甚至包括简单的 51 作为主控芯片的系统中,轻松实现语音识别/声控/人机对话功能。为所有的电子产品增加 VUI(Voice User Interface)语音用户操作界面。 LD3320语音识别模块视频演示: 语音识别LD3320模块主要特色功能: 非特定人语音识别技术:不需要用户进行录音训练 可动态编辑的识别关键词语列表:只需要把识别的关键词语以字符串的形式传送进芯片,即可以在下次识别中立即生效。比如,用户在 51 等 MCU 的编程中,简单地通过设置芯片的寄存器,把诸如“你好”这样的识别关键词的内容动态地传入芯片中,芯片就可以识别这样设定的关键词语了。 真正单芯片解决方案:不需要任何外接的辅助 Flash 和 RAM,真正降低系统成本。 内置高精度 A/D和D/A通道:不需要外接 AD 芯片,只需要把麦克风接在芯片的AD 引脚上;可以播放声音文件,并提供 550mW 的内置放大器。 高准确度和实用的语音识别效果。 支持用户自由编辑 50 条关键词语条:在同一时刻,最多在 50 条关键词语中进行识别,终端用户可以根据场景需要,随时编辑和更新这 50 条关键词语的内容。 LD3320与Arduino实物连接图: 相关链接:LD3320 在Arduino上的应用 LD3320模块主要技术参数内置单声道mono 16-bit A/D 模数转换 内置双声道stereo 16-bit D/A 数模转换 内置 20mW 双声道耳机放大器输出 内置 550mW 单声道扬声器放大器输出 支持并行接口或者 SPI 接口 内置锁相电路 PLL,输入主控时钟频率为 2MHz - 34MHz 工作电压:(VDD: for internal core) 3.3V 48pin 的 QFN 7*7 标准封装 省电模式耗电:1uA 内置单声道mono 16-bit A/D 模数转换 内置双声道stereo 16-bit D/A 数模转换 内置 20mW 双声道耳机放大器输出 内置 550mW 单声道扬声器放大器输出 支持并行接口或者 SPI 接口 内置锁相电路 PLL,输入主控时钟频率为 2MHz - 34MHz 工作电压:(VDD: for internal core) 3.3V 48pin 的 QFN 7*7 标准封装 省电模式耗电:1uA LD3320示例程序截图(具体的演示详见附件内容): 技术文档截图: 实物购买链接:https://www.waveshare.net/shop/LD3320-Board.htm

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值