單片機(jī)設(shè)計(jì):基于stm32智能語(yǔ)音識(shí)別藍(lán)牙音響(ld3320語(yǔ)音識(shí)別模塊+mp3模塊+喇叭+點(diǎn)陣屏+OLED+藍(lán)牙+手機(jī)app)
一、主要功能:
1.手機(jī)app播放內(nèi)存卡的音樂(lè)、同時(shí)點(diǎn)陣屏隨音樂(lè)進(jìn)行跳動(dòng)
2.0LED、手機(jī)app顯示當(dāng)前音量以及當(dāng)前狀態(tài)
3.手機(jī)app遠(yuǎn)程調(diào)節(jié)音量閾值,可以切換上一首、下一首,音樂(lè)播放結(jié)束后自動(dòng)下一首
4.語(yǔ)音模塊通過(guò)識(shí)別人的聲音來(lái)控制藍(lán)牙音響的狀態(tài)(上一首,下一首,暫停,播放,音量加,音量減)
當(dāng)然也可以添加其他功能~
定制可贈(zèng)送資料:
1.實(shí)物
2.源碼以及手機(jī)app
3.原理圖
4.售后線上服務(wù)(代碼講解)
二、實(shí)物圖:
三、部分源碼:
主函數(shù)部分:
while (1)
? {
?? ??? ??? ??? ?key = RX;//手機(jī)按鍵值
?? ??? ?MP3(key);
?? ??? ??
?? ??? ?if(flag_song==1)//按鍵的值不等于1 ?1即為暫停(點(diǎn)陣屏)
?? ??? ?{
?? ??? ??? ?for(i=1;i<9;i++)
?? ??? ??? ?{
?? ??? ??? ??? ?num = rand()%10;//隨機(jī)值
?? ??? ??? ??? ?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;
?? ??? ?}?? ??? ?
?? ?
?? ??? ?
? }
語(yǔ)音識(shí)別部分:
void USART3_IRQHandler(void)
{
?? ?if(__HAL_UART_GET_FLAG(&huart3, UART_FLAG_IDLE) != RESET) ?// 空閑中斷標(biāo)記被置位
?? ?{
?? ? ? ?__HAL_UART_CLEAR_IDLEFLAG(&huart3); ?// 清楚中斷標(biāo)記
?? ? ? ?HAL_UART_DMAStop(&huart3); ? ? ? ? ? // 停止DMA接收
?? ? ? ?UART_RX_STA3 = UART_RX_LEN3 - __HAL_DMA_GET_COUNTER(huart3.hdmarx); ?// 總數(shù)據(jù)量減去未接收到的數(shù)據(jù)量為已經(jīng)接收到的數(shù)據(jù)量
?? ? ? ?UART_RX_BUF3[UART_RX_STA3] = 0; ?// 添加結(jié)束符
?? ? ? ?UART_RX_STA3 |= 0X8000; ? ? ? ? // 標(biāo)記接收結(jié)束
?? ??? ?
//?? ??? ?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); ?// 重新啟動(dòng)DMA接收
?? ??? ?
?? ?}
?? ?
?? ?HAL_UART_IRQHandler(&huart3);
}
四、原理圖:
????????以下是整個(gè)工程各個(gè)模塊的原理圖:
?
五、更多:
如果想要更加詳細(xì)的了解整個(gè)工程的話可以去b站看這個(gè)視頻演示,下面為視頻鏈接:
單片機(jī)設(shè)計(jì):基于stm32智能語(yǔ)音識(shí)別藍(lán)牙音響(ld3320語(yǔ)音識(shí)別模塊+mp3模塊+喇叭+點(diǎn)陣屏+OLED+藍(lán)牙+手機(jī)app)_嗶哩嗶哩_bilibili文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-724052.html
給個(gè)免費(fèi)的三連哦?。?!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-724052.html
到了這里,關(guān)于單片機(jī)設(shè)計(jì):基于stm32智能語(yǔ)音識(shí)別藍(lán)牙音響(ld3320語(yǔ)音識(shí)別模塊+mp3模塊+喇叭+點(diǎn)陣屏+OLED+藍(lán)牙+手機(jī)app)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!