赞
踩
单片机设计:基于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
给个免费的三连哦!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。