国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

畢業(yè)設(shè)計 單片機語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)

這篇具有很好參考價值的文章主要介紹了畢業(yè)設(shè)計 單片機語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、電路設(shè)計

離線語音識別識別垃圾種類并且垃圾桶自動翻蓋:
說出喚醒詞“垃圾桶”后,再說一句垃圾名稱,語音識別模塊端識別到相應(yīng)關(guān)鍵詞,便會將結(jié)果通過串口發(fā)送到STM32端,STM32端接著會發(fā)送打開相應(yīng)垃圾桶蓋的指令,6s后,垃圾桶蓋自動關(guān)閉。其中翻蓋功能是通過STM32端控制舵機實現(xiàn)。

語音播報功能:
STM32端若判斷到有人說出喚醒詞了,通過串口發(fā)送指令給語音播報模塊,外放喇叭便會播報“你好”的音頻,若判斷到相應(yīng)的垃圾種類,便會播報相應(yīng)的垃圾種類音頻。

APP/網(wǎng)頁端遠(yuǎn)程控制垃圾桶:
STM32端通過串口連接WIFI模塊esp8266-01s,接入Onenet云平臺,實現(xiàn)聯(lián)網(wǎng)功能,通過云端下達指令給設(shè)備,從而控制垃圾桶實現(xiàn)翻蓋及控制繼電器通斷。

OLED屏顯示信息: OLED屏可以顯示作者的相關(guān)信息、及每次語音播報也會顯示相應(yīng)文字信息。

硬件組成

智能垃圾桶的開發(fā)板用到的是STM32F103C8T6最小系統(tǒng)板,各個模塊間都是通過串口和主控進行通信。硬件電路上的連接畫一個PCB接口板即可,所有模塊都可以通過排針或排母直接插上去。由于用到了4個舵機,所以整個系統(tǒng)的供電系統(tǒng)需要用5V2A的電源適配器。所用到的各個模塊材料清單如下圖:

單片機 智能分類垃圾桶,單片機

二、原理圖

單片機 智能分類垃圾桶,單片機

單片機 智能分類垃圾桶,單片機

三、部分代碼

?



    //單片機頭文件
    #include "stm32f10x.h"
    #include "stm32f10x_gpio.h"
    #include "stm32f10x_rcc.h"
    //網(wǎng)絡(luò)協(xié)議層
    #include "onenet.h"
    //網(wǎng)絡(luò)設(shè)備
    #include "esp8266.h"
    //硬件驅(qū)動
    #include "delay.h"
    #include "usart.h"
    //C庫
    #include 
    #include "PWM.h"
    #include "jidianqi.h"
    
    #include "YuYin.h"
    #include "MP3.h"
    #include "SysTick.h"
    #include "oled.h" 


    char T[5]={0,0,0};
    char H[5]={0,0,0};
    u16 temperature=0,humidity=0;
    char ret; 
    u8 hump_temp[10];


    unsigned short timeCount = 0;	//發(fā)送間隔變量
    
    unsigned char *dataPtr = NULL;
    
    short flag = 0;
    
    u8 Target1=0;
    u8 Target2=0;
    u8 Target3=0;
    u8 Target4=0;
    
    u8 all_staus = 0;
    
    u8 Open_JumpEdge=0;
    u8 WakeUp_Flag=0;


    /功能函數(shù)
    
    /*
    ************************************************************
    *	函數(shù)名稱:	Hardware_Init
    *
    *	函數(shù)功能:	硬件初始化
    *
    *	入口參數(shù):	無
    *
    *	返回參數(shù):	無
    *
    *	說明:		初始化單片機功能以及外接設(shè)備
    ************************************************************
    */
    void Hardware_Init(void)
    {
    	
    		NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	//中斷控制器分組設(shè)置
    	
    		delay_init();									//systick初始化
    	  Usart3_Init(115200);				  //串口3,驅(qū)動ESP8266用
     		PWM_Init();                   //初始化PWM
    	  ESP8266_Init();					      //初始化ESP8266
    		LED_Config();									//初始化LED指示燈或者說是繼電器
    		
    		YuYin_Init();									//語音識別初始化
    		MP3_Init();										//播放模塊初始化
    		SysTick_Init();								//公共定時器初始化
    	
    		OLED_Init();									//OLED屏初始化


    }


    /*
    ************************************************************
    *	函數(shù)名稱:	 Keep_Connet_Esp8266
    *
    *	函數(shù)功能:	不斷上傳數(shù)據(jù),使之保持接入物聯(lián)網(wǎng)平臺
    *
    *	入口參數(shù):	無
    *
    *	返回參數(shù):	無
    *
    *	說明:		一旦停止數(shù)據(jù)上傳,物聯(lián)網(wǎng)平臺會斷開
    ************************************************************
    */
    void Keep_Connet_Esp8266 (void)
    {
    	
    			if(++timeCount >= 2000)									//發(fā)送間隔20s
    				{
    					OneNet_SendData();									//發(fā)送數(shù)據(jù)		
    					timeCount = 0;
    					ESP8266_Clear();
    				}
    				
    				dataPtr = ESP8266_GetIPD(0);
    				if(dataPtr != NULL)
    					OneNet_RevPro(dataPtr);
    				
    				delay_ms(10);
    				
    }


    /*
    ************************************************************
    *	函數(shù)名稱:	main
    *
    *	函數(shù)功能:	
    *
    *	入口參數(shù):	無
    *
    *	返回參數(shù):	0
    *
    *	說明:		
    ***
    *********************************************************
    */
    int main(void)
    {


    	Hardware_Init();				//初始化外圍硬件
    
    	while(OneNet_DevLink())			//接入OneNET
    		delay_ms(500);
    
    	OLED_CLS();
    	ShowSmartTrash();				//顯示“智能垃圾桶”
    	Show_Author();					//顯示“設(shè)計·作者名“
    	//ShowTemperature();			//顯示”溫濕度”
	

    	while(1)
    	{

    				Keep_Connet_Esp8266();
	

    				if(YuYin_RX_STA == 1)
    				{
    					if(MP3_State() == 0)
    					{
    						if(YuYin_RX_CMD==49 || YuYin_RX_CMD==50)
    						{
    							WakeUp_Flag = 1;
    							MP3_Star(5);
    						}
    						else if(WakeUp_Flag == 1)
    						{
    							WakeUp_Flag=0;
    							
    							if(YuYin_RX_CMD%4 == 1)
    							{
    								MP3_Star(1);
    								Target1 = 1;
    								Show_chiyu();
    							}
    							else if(YuYin_RX_CMD%4 == 2)
    							{
    								MP3_Star(2);
    								Target2 = 1;
    								Show_qita();
    							}
    							else if(YuYin_RX_CMD%4 == 3)
    							{
    								MP3_Star(3);
    								Target3 = 1;
    								Show_youhai();
    							}
    							else
    							{
    								MP3_Star(4);
    								Target4 = 1;
    								Show_kehuishou();
    							}
    						}
    					}
    					
    					YuYin_RX_STA = 0;
    				}
    		
    		if(SysTick_JumpEdge(&Open;_JumpEdge, &SysTickBit.Time1s;)==1)
    		{
    		  if(Target1 != 0)
    			{
    			  Target1++;
    				TIM_SetCompare1(TIM4,700);
    				if(Target1>6)
    				{					
    					TIM_SetCompare1(TIM4,500);					
    				  Target1 = 0;
    					ShowTrashNoPeople();
    				}					
    			}
    			if(Target2 != 0)
    			{
    				Target2++;
    				TIM_SetCompare2(TIM4,900);
    				if(Target2>6)
    				{
    					TIM_SetCompare2(TIM4,600);
    					ShowTrashNoPeople();
    					Target2 = 0;
    				}	
    			}	
    			if(Target3 != 0)
    			{
    				Target3++;
    				TIM_SetCompare4(TIM4,900);			//有害
    				if(Target3>6)
    				{
    					TIM_SetCompare4(TIM4,500);
    					ShowTrashNoPeople();
    					Target3 = 0;
    				}	
    			}
    			if(Target4 != 0)
    			{
    				Target4++;
    				TIM_SetCompare3(TIM4,900);			//可回收
    				if(Target4>6)
    				{
    					TIM_SetCompare3(TIM4,550);
    					ShowTrashNoPeople();
    					Target4 = 0;
    				}	
    			}
    		}
    		
    		switch( flag )
    		{
    			case 1 :GPIO_SetBits(GPIOA,GPIO_Pin_1); break;
    			case 2 :GPIO_ResetBits(GPIOA, GPIO_Pin_1); break; 
    			case 3 :TIM_SetCompare1(TIM4,700);break;
    			case 4 :TIM_SetCompare1(TIM4,500);break;
    			case 5 :TIM_SetCompare2(TIM4,900);break;
    			case 6 :TIM_SetCompare2(TIM4,600);break;
    			case 7 :TIM_SetCompare4(TIM4,900);break;
    			case 8 :TIM_SetCompare4(TIM4,500);break;
    			case 9 :TIM_SetCompare3(TIM4,900);break;
    			case 10:TIM_SetCompare3(TIM4,550);break;
    
    		}


    	}
    }


項目獲取:

https://gitee.com/feifei1122/simulation-project文章來源地址http://www.zghlxwxcb.cn/news/detail-858285.html

到了這里,關(guān)于畢業(yè)設(shè)計 單片機語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【畢業(yè)設(shè)計】20-基于單片機的指紋識別系統(tǒng)設(shè)計(原理圖工程+源代碼工程+實物操作圖+答辯論文+答辯PPT)

    【畢業(yè)設(shè)計】20-基于單片機的指紋識別系統(tǒng)設(shè)計(原理圖工程+源代碼工程+實物操作圖+答辯論文+答辯PPT)

    · 資料包含:畢業(yè)設(shè)計全套資料(精品) 原理圖工程文件 原理圖截圖 搭建視頻 答辯論文低重復(fù)率文檔,25354字 英文文獻及翻譯 答辯PPT 實物操作圖 摘要 對于如何實現(xiàn)家庭防盜這一問題,傳統(tǒng)機械鎖由于構(gòu)造簡單,被撬事件屢見不鮮;電子鎖由于其保密性高,使用靈活性好

    2024年01月17日
    瀏覽(92)
  • 基于單片機的畢業(yè)設(shè)計推薦

    ** ** 1、基于51單片機的多功能門禁系統(tǒng)(低端、功能限制較大)。 2、基于單片機的多功能實時時鐘。 3、基于單片機的音樂播放器。 4、基于STM32單片機的多功能門禁系統(tǒng)(高端、沒有限制)。 5、基于單片機的智能窗簾系統(tǒng)。 6、基于單片機的智能燈光系統(tǒng)。 7、基于單片機

    2024年02月06日
    瀏覽(177)
  • 【單片機畢業(yè)設(shè)計】【mcuclub-jj-011】基于單片機的加濕器的設(shè)計

    【單片機畢業(yè)設(shè)計】【mcuclub-jj-011】基于單片機的加濕器的設(shè)計

    項目名:加濕器 項目編號:mcuclub-jj-011 單片機類型:STC89C52 具體功能: 1、通過DHT11獲取濕度值,當(dāng)濕度值低于設(shè)置最小值,則啟動加濕器加濕,大于設(shè)置最大值,則停止加濕 2、通過液位檢測模塊檢測加濕器中是否還有水,如果沒有,則自動停止加濕、聲光提醒 3、通過按鍵

    2023年04月17日
    瀏覽(109)
  • 畢業(yè)設(shè)計 單片機選題100例(一)

    畢業(yè)設(shè)計 單片機選題100例(一)

    【單片機畢業(yè)設(shè)計項目分享系列】 ?? 單片機畢業(yè)設(shè)計及享100例系列的第一篇,目的是分享高質(zhì)量的畢設(shè)作品給大家,包含全面內(nèi)容:源碼+原理圖+PCB+實物演示+論文。 ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的單片機項目缺少創(chuàng)新和亮點,往往達不到

    2024年02月07日
    瀏覽(95)
  • 【單片機畢業(yè)設(shè)計】【mcuclub-dz-032】基于單片機的智能門禁控制系統(tǒng)設(shè)計

    【單片機畢業(yè)設(shè)計】【mcuclub-dz-032】基于單片機的智能門禁控制系統(tǒng)設(shè)計

    項目名:基于單片機的門禁的設(shè)計 單片機:STM32F103C8T6 mcuclub-dz-032 功能簡介: 1、通過掃碼槍進行掃描二維碼,當(dāng)二維碼識別成功,10s內(nèi)需觸發(fā)紅外避障管,并通過紅外測溫模塊進行測溫,如果溫度正常,則自動開鎖,如果溫度異常,則聲光報警3次,鎖不打開 2、通過RFID進行

    2024年01月18日
    瀏覽(97)
  • 【單片機畢業(yè)設(shè)計】【mcuclub-dz-198】基于單片機的車輛安全駕駛預(yù)警系統(tǒng)設(shè)計

    【單片機畢業(yè)設(shè)計】【mcuclub-dz-198】基于單片機的車輛安全駕駛預(yù)警系統(tǒng)設(shè)計

    項目名:基于單片機的車輛安全駕駛預(yù)警系統(tǒng)設(shè)計 項目名:駕駛檢測(實物)(mcuclub-105) 項目編號:mcuclub-dz-198 單片機類型:STM32F103C8T6 具體功能: 1、通過紅測速模塊管檢測當(dāng)前老年車的速度; 2、通過超聲波測距測量車前障礙物的距離,若距離大于設(shè)定最大值,綠燈亮;

    2024年02月20日
    瀏覽(94)
  • 【單片機畢業(yè)設(shè)計】【mcuclub-dz-196】基于單片機下的新型智能花盆設(shè)計

    【單片機畢業(yè)設(shè)計】【mcuclub-dz-196】基于單片機下的新型智能花盆設(shè)計

    項目名:基于單片機下的新型智能花盆設(shè)計 項目名:花盆(實物) 項目編號:mcuclub-dz-196 單片機類型:STM32F103C8T6 具體功能: 1、通過防水式DS18B20測量土壤溫度,當(dāng)溫度高于設(shè)置最大值時,進行風(fēng)扇降溫,低于設(shè)置最大值,進行防水加熱 2、通過土壤濕度傳感器檢測濕度值,

    2024年02月19日
    瀏覽(98)
  • 畢業(yè)設(shè)計 - 基于單片機的智能飲水機系統(tǒng)設(shè)計與實現(xiàn) (物聯(lián)網(wǎng) 嵌入式 單片機)

    畢業(yè)設(shè)計 - 基于單片機的智能飲水機系統(tǒng)設(shè)計與實現(xiàn) (物聯(lián)網(wǎng) 嵌入式 單片機)

    Hi,大家好,學(xué)長今天向大家介紹一個 單片機項目 基于單片機的智能飲水機系統(tǒng)設(shè)計與實現(xiàn) 大家可用于 課程設(shè)計 或 畢業(yè)設(shè)計 這次設(shè)計的智能飲水機就是單片機結(jié)合傳感器的一個應(yīng)用。 該系統(tǒng)設(shè)計綜合單片機以及電子技術(shù)理論,從生活實際出發(fā),完善了飲水機的功能。整個

    2024年02月03日
    瀏覽(107)
  • 畢業(yè)設(shè)計單片機可以用萬能板嗎?

    畢業(yè)設(shè)計單片機可以用萬能板嗎?

    可以是可以,就是焊接起來比較麻煩,特別是有好幾個重復(fù)連線點的時候,檢測起來就不那么容易了,而且布線看起來亂糟糟的,如果后期一不小心把線弄斷了,查起來就更麻煩了,倒不如pcb打板來的方便。最近很多小伙伴找我,說想要一些單片機的資料,然后我根據(jù)自己從

    2024年02月04日
    瀏覽(92)
  • 【畢業(yè)設(shè)計】基于單片機控制的交通燈畢業(yè)設(shè)計(附源代碼)

    【畢業(yè)設(shè)計】基于單片機控制的交通燈畢業(yè)設(shè)計(附源代碼)

    目 錄 摘 ? 要 Abstract 前 ? 言 一、工程簡介 ( 一)、概述 ( 二 ) 、 工藝 流程圖 二、工程設(shè)計 (一)、控制方案的確定 (二)、硬件部分 ( 1 )、交通燈控制系統(tǒng)的硬件設(shè)計 ( 2 )、硬件系統(tǒng)的設(shè)計具備以下原則 ( 3 ) 、硬件結(jié)構(gòu)框圖 (如圖 3 所示) ( 4 ) 、交通燈控

    2024年04月23日
    瀏覽(97)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包