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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3460|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

STM32單片機(jī)語音識別分類垃圾桶代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:778907 發(fā)表于 2022-7-31 11:32 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
有干、濕、有害、可回收四個分類
電路原理圖如下:


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

  2. u8 Target1=0;//舵機(jī)控制時間
  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)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1002058 發(fā)表于 2022-8-1 11:47 | 只看該作者
語音識別,不需要專門的芯片嗎?光用stm32能實現(xiàn)語音識別嘛。
回復(fù)

使用道具 舉報

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

有啊,如圖AD上的語音識別,買識別模塊的時候店家會附送源代碼,改改關(guān)鍵詞就好
回復(fù)

使用道具 舉報

地板
ID:778907 發(fā)表于 2022-8-3 16:00 | 只看該作者
tzh_123 發(fā)表于 2022-8-1 11:47
語音識別,不需要專門的芯片嗎?光用stm32能實現(xiàn)語音識別嘛。

我是用LD3320,核心是STC11的那個模塊
回復(fù)

使用道具 舉報

5#
ID:933456 發(fā)表于 2022-11-10 16:44 | 只看該作者
2422518914 發(fā)表于 2022-8-3 15:57
有啊,如圖AD上的語音識別,買識別模塊的時候店家會附送源代碼,改改關(guān)鍵詞就好

你好,ld3320具體改什么。還是說改改識別的拼音,然后燒入stc11,連接stm32就可以使用嗎
回復(fù)

使用道具 舉報

6#
ID:13282 發(fā)表于 2022-11-25 00:35 | 只看該作者
STM32是可以做簡單的語音識別的,DTW+傅立葉算法處理即可。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 美女天天干天天操 | 欧美日韩最新 | 精品欧美激情精品一区 | 国产精品特级毛片一区二区三区 | 精品粉嫩超白一线天av | 国产一区二区高清在线 | 国产精品高潮呻吟久久 | 91精品国产91久久久久久丝袜 | 欧美一区二区在线播放 | 天天躁天天操 | 免费观看的av毛片的网站 | 午夜爽爽爽男女免费观看影院 | 中文在线一区二区 | 国产色在线 | 日韩三级在线观看 | 午夜不卡福利视频 | a在线观看 | 精品在线一区二区 | 国产一区视频在线 | 国产精品一区二区在线免费观看 | 国产精品毛片一区二区在线看 | 欧美一级欧美一级在线播放 | 成人毛片一区二区三区 | 国产精品欧美精品 | 免费黄网站在线观看 | 久久一区二区三区免费 | 免费一区二区三区 | 精品国产一区二区三区成人影院 | 日韩欧美不卡 | 爱高潮www亚洲精品 中文字幕免费视频 | 午夜视频一区二区 | 日韩av一区二区在线观看 | 精品熟人一区二区三区四区 | 一区二区在线 | 日韩不卡一区二区三区 | 国产精品美女 | 亚洲国产精品一区二区久久 | 九九精品在线 | 欧美精品成人一区二区三区四区 | 久久久精品一区 | 超碰在线播 |