久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: STM32單片機語音識別分類垃圾桶代碼 [打印本頁]

作者: 2422518914    時間: 2022-7-31 11:32
標(biāo)題: STM32單片機語音識別分類垃圾桶代碼
有干、濕、有害、可回收四個分類
電路原理圖如下:


單片機源程序如下:
  1. #include "sys.h"

  2. u8 Target1=0;//舵機控制時間
  3. u8 Target2=0;
  4. u8 Target3=0;
  5. u8 Target4=0;

  6. u8 Open_Time=0;//開垃圾桶單位時間
  7. u8 WakeUp_Flag=0;//喚醒標(biāo)志位
  8. int main(void)
  9. {       
  10.         SystemInit();        //參數(shù)為向量表的偏移地址
  11.   delay_init();

  12.         gpio_Init();
  13.         MP3_Init();//初始化MP3語音播報模塊
  14.         Voice_Init(); //初始化語音識別模塊
  15.         SysTick_Init();//初始化多功能定時器
  16.         PWM_Init();//初始化PWM

  17.   YHGUI_Config();
  18.   YHGUI_DispString(0,0,"廚余垃圾",16,1);
  19.         YHGUI_DispString(0,16,"其它垃圾",16,1);               
  20.   YHGUI_DispString(0,32,"有害垃圾",16,1);
  21.   YHGUI_DispString(0,48,"可回收物",16,1);       
  22.          
  23.         while(1)
  24.         {
  25.                 if((Infrared1 == 0)||(Infrared2 == 0)||(Infrared3 == 0)||(Infrared4 == 0))
  26.                 {
  27.                         delay_ms(1);
  28.                         if((Infrared1 == 0)||(Infrared2 == 0)||(Infrared3 == 0)||(Infrared4 == 0))
  29.                         {
  30.                                         if(Infrared1 == 0)
  31.                                         {
  32.                                                 BEEP = 1;
  33.                                                 YHGUI_DispString(106,0,"滿",16,1);
  34.                                         }
  35.                                         else
  36.                                         {
  37.                                                 YHGUI_DispString(106,0,"  ",16,1);                       
  38.                                         }
  39.                                        
  40.                                         if(Infrared2 == 0)
  41.                                         {
  42.                                                 BEEP = 1;
  43.                                                 YHGUI_DispString(106,16,"滿",16,1);                       
  44.                                         }
  45.                                         else
  46.                                         {
  47.                                                 YHGUI_DispString(106,16,"  ",16,1);
  48.                                         }
  49.                                        
  50.                                         if(Infrared3 == 0)
  51.                                         {
  52.                                                 BEEP = 1;
  53.                                                 YHGUI_DispString(106,32,"滿",16,1);                               
  54.                                         }
  55.                                         else
  56.                                         {
  57.                                                 YHGUI_DispString(106,32,"  ",16,1);                       
  58.                                         }
  59.                                        
  60.                                         if(Infrared4 == 0)
  61.                                         {
  62.                                                 BEEP = 1;
  63.                                                 YHGUI_DispString(106,48,"滿",16,1);                                       
  64.                                         }
  65.                                         else
  66.                                         {
  67.                                                 YHGUI_DispString(106,48,"  ",16,1);                                               
  68.                                         }
  69.                         }               
  70.                 }       
  71.                 else
  72.                 {
  73.                         BEEP = 0;       
  74.                        
  75.                 }
  76.                 if(Voice_RX_STA == 1)//收到語音指令
  77.                 {
  78.                         if(MP3_State() == 0)
  79.                         {
  80.                                 if(Voice_RX_CMD==49 || Voice_RX_CMD==50)//喚醒
  81.                                 {
  82.                                         WakeUp_Flag = 1;//喚醒詞標(biāo)志位置位
  83.                                         MP3_Star(5);
  84.                                 }
  85.                                 else if(WakeUp_Flag == 1)
  86.                                 {
  87.                                        
  88.                                         if(Voice_RX_CMD%4 == 1)//廚余垃圾
  89.                                         {
  90.                                                 MP3_Star(1);
  91.                                                 Target1 = 1;
  92.                                         }
  93.                                         else if(Voice_RX_CMD%4 == 2)//其他垃圾
  94.                                         {
  95.                                                 MP3_Star(2);
  96.                                                 Target2 = 1;
  97.                                         }
  98.                                         else if(Voice_RX_CMD%4 == 3)//有害垃圾
  99.                                         {
  100.                                                 MP3_Star(3);
  101.                                                 Target3 = 1;
  102.                                         }
  103.                                         else//可回收物
  104.                                         {
  105.                                                 MP3_Star(4);
  106.                                                 Target4 = 1;
  107.                                         }
  108.                                 }
  109.                         }               
  110.                         Voice_RX_STA = 0;
  111.                 }
  112.        
  113.                 if(SysTick_JumpEdge(&Open_Time, &SysTickBit.Time1s)==1)//開垃圾桶單位時間到
  114.                 {
  115.                   if(Target1 != 0)//廚余垃圾桶打開
  116.                         {         

  117.                                 YHGUI_DispString(0,0,"廚余垃圾 開啟",16,1);
  118.                                        
  119.                           Target1++;
  120.                                 TIM_SetCompare1(TIM4,1000);//打開
  121.                                 if(Target1>6)
  122.                                 {
  123.                                         TIM_SetCompare1(TIM4,400);//時間到關(guān)閉
  124.                                   Target1 = 0;
  125.                                         YHGUI_DispString(0,0,"廚余垃圾     ",16,1);
  126.                                 }                                       
  127.                         }
  128.                         if(Target2 != 0)//其他垃圾桶打開
  129.                         {

  130.                                 YHGUI_DispString(0,16,"其它垃圾 開啟",16,1);               
  131.                        
  132.                                 Target2++;
  133.                                 TIM_SetCompare2(TIM4,1000);//打開
  134.                                 if(Target2>6)
  135.                                 {
  136.                                         TIM_SetCompare2(TIM4,400);//時間到關(guān)閉
  137.                                         Target2 = 0;
  138.                                         YHGUI_DispString(0,16,"其它垃圾     ",16,1);       
  139.                                 }       
  140.                         }       
  141.                         if(Target3 != 0)//有害垃圾桶打開
  142.                         {

  143.                                 YHGUI_DispString(0,32,"有害垃圾 開啟",16,1);
  144.                                
  145.                                 Target3++;
  146.                                 TIM_SetCompare3(TIM4,1000);//打開
  147.                                 if(Target3>6)
  148.                                 {
  149.                                         TIM_SetCompare3(TIM4,400);//時間到關(guān)閉
  150.                                         Target3 = 0;
  151.                                         YHGUI_DispString(0,32,"有害垃圾     ",16,1);
  152.                                 }       
  153.                         }
  154.                         if(Target4 != 0)//可回收物桶打開
  155.                         {

  156.                                 YHGUI_DispString(0,48,"可回收物 開啟",16,1);       
  157.                                
  158.                                 Target4++;
  159.                                 TIM_SetCompare4(TIM4,1000);//打開
  160.                                 if(Target4>6)
  161.                                 {
  162.                                         TIM_SetCompare4(TIM4,400);//時間到關(guān)閉
  163.                                         Target4 = 0;
  164.                                         YHGUI_DispString(0,48,"可回收物     ",16,1);
  165.                                 }       
  166.                         }
  167.                 }
  168.                
  169.         }       
  170. }
復(fù)制代碼

Keil代碼下載:
代碼.7z (269.06 KB, 下載次數(shù): 55)

作者: tzh_123    時間: 2022-8-1 11:47
語音識別,不需要專門的芯片嗎?光用stm32能實現(xiàn)語音識別嘛。
作者: 2422518914    時間: 2022-8-3 15:57
tzh_123 發(fā)表于 2022-8-1 11:47
語音識別,不需要專門的芯片嗎?光用stm32能實現(xiàn)語音識別嘛。

有啊,如圖AD上的語音識別,買識別模塊的時候店家會附送源代碼,改改關(guān)鍵詞就好
作者: 2422518914    時間: 2022-8-3 16:00
tzh_123 發(fā)表于 2022-8-1 11:47
語音識別,不需要專門的芯片嗎?光用stm32能實現(xiàn)語音識別嘛。

我是用LD3320,核心是STC11的那個模塊
作者: qmh15    時間: 2022-11-10 16:44
2422518914 發(fā)表于 2022-8-3 15:57
有啊,如圖AD上的語音識別,買識別模塊的時候店家會附送源代碼,改改關(guān)鍵詞就好

你好,ld3320具體改什么。還是說改改識別的拼音,然后燒入stc11,連接stm32就可以使用嗎
作者: xmcolong    時間: 2022-11-25 00:35
STM32是可以做簡單的語音識別的,DTW+傅立葉算法處理即可。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产乱码精品一区二区三区av | 亚洲三级av | 久久精品一区二 | 一区二区三区精品 | 亚洲一区二区精品视频 | 欧美日韩国产精品一区二区 | 国产一级片 | 四虎影音 | 亚洲导航深夜福利涩涩屋 | 日日操天天射 | 国产精品1区2区3区 一区中文字幕 | 巨大荫蒂视频欧美另类大 | 成人亚洲网站 | 日韩成人av在线播放 | 日韩欧美一级 | 欧美精品乱码99久久影院 | 久久精品国产亚洲 | 亚洲一级视频在线 | 毛片网站在线观看视频 | 国产欧美精品一区 | 一区二区三区国产 | 国产国拍亚洲精品av | 美女视频一区二区三区 | 成人黄色av网址 | av官网在线 | 亚洲国产中文字幕 | 在线资源视频 | 毛片视频观看 | 国产日韩欧美在线一区 | 亚洲婷婷六月天 | 国产一区免费 | 羞羞视频网站免费观看 | 国产精品成人一区二区 | av一级久久 | 成人亚洲视频 | 国产成人网| 欧美性一级 | 亚洲人成人一区二区在线观看 | 国产精品欧美一区二区 | 日韩一区二区三区视频 | 99精品一区二区三区 |