版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
緒論1.1系統(tǒng)研究的背景及意義我們國家垃圾產(chǎn)量連年上升的原因有很多,不僅有著人為的,還有著不能從剛開始進行垃圾分類的原因REF_Ref90759249\r\h[1],垃圾分類可以從源頭上把垃圾減量化,減輕處理垃圾的數(shù)量以及工作。我們國家這些年來垃圾的生產(chǎn)堆積數(shù)量高達七十多億噸,這些垃圾所占用的土地面積差不多就要超過七億多平方米,在農(nóng)村垃圾和城市垃圾中城市垃圾的年產(chǎn)量超過一億噸,不僅如此,還有很多城市沒有規(guī)范的堆放垃圾,雖然現(xiàn)在垃圾處理開辟了許多的新技術(shù),例如:用垃圾發(fā)電、衛(wèi)生填埋、垃圾生產(chǎn)沼氣等等都是一種有益的處理技術(shù),但要使用這些技術(shù)的前提是要對垃圾進行大概的分類回收REF_Ref90759349\r\h[2],所以這也是本次畢業(yè)設(shè)計所要解決的問題,也要體現(xiàn)節(jié)能環(huán)保的優(yōu)點。在最近的幾年商品的各種各樣的包裝方式越來越多,使用的材料也越來越廣泛,加之人們購買商品的量也越來越多,再加上我們國家并沒有從根源上做好垃圾的減量,所以垃圾的每年產(chǎn)量逐年遞增。其中,廢紙、塑料也是占比很大,這種一次性耗材品消耗了許多的資源,使垃圾量逐步增加。所以垃圾分類值得我們?nèi)パ芯?,如何是垃圾分類變得更簡單,方便,順理成章的走進大眾的心里。特別是如今電子技術(shù)發(fā)展到相對成熟的階段,讓電子技術(shù)與垃圾分類相結(jié)合可能會產(chǎn)生意想不到的效果。1.2國內(nèi)外研究現(xiàn)狀在我們國家也是在大力的發(fā)展垃圾分類,在上海、北京等發(fā)達城市也開始注重垃圾分類了,并且頒布了一系列關(guān)于垃圾分類的標準,以期達到全面產(chǎn)業(yè)化,如果垃圾可以得到很好的解決也是一項很大的財富。在這之前確實要把垃圾合理分類,這樣才可以讓垃圾處理變得更快捷方便,并且安全。全球在垃圾分類這一塊做得最好的日本,日本對于垃圾分類是非常細的,這是源于居民對于垃圾分類的概念已經(jīng)非常的深刻了,所以說垃圾分類還是要深入人心才可以。僅次于日本的接下來就是澳大利亞,基本上當?shù)鼐用衩考叶紩袔讉€不同顏色的垃圾桶,這是為了更好更方便的區(qū)分垃圾種類,若是居民不按照垃圾分類的規(guī)定去丟垃圾還會被處罰REF_Ref90759395\r\h[3]。1.3主要技術(shù)路線由于傳統(tǒng)垃圾桶對于居民辨認分類的幫助不大,很多人都懶得去記如何分類,這個垃圾歸屬與哪一類,所以我們首先要有語音提示居民這個垃圾屬于哪一類,并且設(shè)計的垃圾桶要有記憶并自己會分類,為了讓人們使用的更加方便我們可以設(shè)計自動打開垃圾桶,所以綜上所述我們可以采用單片機技術(shù)來處理這些問題,結(jié)合語音識別技術(shù)可以更便捷的實現(xiàn)作品功能REF_Ref90759407\r\h[4]。2設(shè)計思路2.1設(shè)計思想基于語言識別分類街道垃圾桶,首先要確定設(shè)計目的是通過軟硬件可以實現(xiàn)語音控制,進行垃圾分類,最后利用STM32強大可編程控制能力,把各部分外設(shè)連接一起,實現(xiàn)分類功能。從而實現(xiàn)用戶每次丟垃圾都不需要糾結(jié)于這個垃圾是屬于什么分類的,他們只需要知道每個垃圾的名字足以REF_Ref90759422\r\h[5],同時系統(tǒng)在分類之后打開目標分類對應(yīng)的垃圾桶蓋子,這個可以給用戶提供很大的方便,特別是力氣不夠的小孩子只要把垃圾桶蓋子打開小孩子也可以很方便的扔垃圾。2.2基本原理本系統(tǒng)采取STM32f103c8t6單片機是以LD3320模塊和JQ8900模塊以及舵機為主要外設(shè)器件,LD3320模塊可以收集語音信息,然后用串口通訊的方法發(fā)送給STM32單片機處理,單片機處理信息后將下一步指令發(fā)送給JQ8900模塊選擇要播放的語音,同時打開舵機垃圾桶,這是一條語音處理的流程。語音處理的過程是在LD3320模塊放置關(guān)鍵詞拼音,說出的語音特征信息與放置關(guān)鍵詞拼音進行識別。若是識別成功就使用串口通信的方法發(fā)送給單片機處理,舵機旋轉(zhuǎn)時連帶著垃圾桶蓋子,當舵機旋轉(zhuǎn)是連帶著垃圾桶蓋子打開,接下來單片機會把指令發(fā)給JQ8900模塊進行相對于垃圾分類名稱的播報。2.3方案設(shè)計與論證方案一:采用STC89C52單片機為主要控制芯片,外設(shè)有LD3320語音識別模塊和4個舵機,再用語音播報模塊和喇叭進行播報。方案二:采取可編程STM32F103C8T6單片機為主要的控制芯片,使用LD3320收集語音并識別輸出給單片機和4個舵機,語音播報模塊和喇叭進行播報。方案三:采取可編程STM32F103C8T6單片機為主要的控制芯片,使用LD3320收集語音并識別輸出給單片機和4個舵機,JQ8900芯片語音播報模塊和喇叭進行播報。運用紅外探測檢測垃圾桶是否滿了,再用OLED顯示垃圾桶滿了,使用WIFI傳上云端觀測垃圾桶是否滿了。綜合比較,方案二對于我來說難度適宜,具有較大的可行性,并且考慮到設(shè)計的產(chǎn)品是要放在街道所以并不是需要很多的功能。同時也有考慮到成本的問題,所以綜合考慮上述幾種方案本設(shè)計采用了方案二。2.4設(shè)計框圖采取可編程STM32F103C8T6單片機為主要的控制芯片,使用LD3320收集語音并識別使用串口進行通信傳輸給單片機,單片機接收到作出反應(yīng),下達指令給4個舵機、語音播報模塊和喇叭進行播報。44路SG90舵機LD3320+stc單片機語音識別模塊LD3320+stc單片機語音識別模塊串口STM32F103C8T6串口STM32F103C8T6核心板JQ8900JQ8900語音播報模塊圖2.1設(shè)計流程圖3主要元器件功能介紹3.1STM32F103C8T6STM32F103C8T6是由意法半導(dǎo)體公司(簡稱ST公司)研發(fā)出來的一款芯片,它的內(nèi)核是在Cortex-M3的基礎(chǔ)之上設(shè)計的32位為控制處理器REF_Ref90759702\r\h[6],STM32F103C8T6采取的是LQFP48封裝,芯片所需要的電壓是3.3V,一旦超過3.3V芯片會燒毀,低于3.3V芯片大概率不會正常工作。在芯片上一共引出44個引腳,但在stm32f103c8t6最小系統(tǒng)有A、B、C、D三種引腳接口,A口是有16個引腳為A0-A15,B口也有16個為B0-B15,C口只有3個C13-C15,而D口有2個D0-D1,除此之外還有三個GND引腳,兩個3.3V引腳,一個5V引腳屬于ST公司微控制器中的STM32系列REF_Ref90759719\r\h[7]。圖3-1STM32F103C8T6實物圖圖3-2STM32F103C8T6引腳功能圖3.2LD3320芯片LD3320在語音識別領(lǐng)域的應(yīng)用非常廣范的芯片,其研發(fā)生產(chǎn)銷售公司是ICRoute。LD3320內(nèi)部有語音識別處理器并且圍繞語音識別處理設(shè)計了一系列外圍電路,外圍電路又通常有音頻輸出接口、數(shù)模/模數(shù)轉(zhuǎn)換器、麥克風(fēng)接口等。這個芯片相比于其他語音識別產(chǎn)品芯片比較注重節(jié)能,它可以單獨使用不用外接其他的輔助芯片F(xiàn)LASH、RAM,只要結(jié)合在已有的產(chǎn)品上面就可以達到語音識別、聲控的效果,更上一層的作用還可以實現(xiàn)人機交互對話的功能。在非特別指定的人語音識別搜索能力上與其他的同等價位的語音識別芯片相比優(yōu)勢非常大,搜索能力高效,它在設(shè)計上還有完整的語音識別特征庫。不僅如此它圍繞語音識別處理而專門做了硬件優(yōu)化以及加速。在語音識別的關(guān)鍵詞拼音的列表上面可以由用戶隨意更改的,這也體現(xiàn)開發(fā)具有更大的自由。圖3-3LD3320引腳功能圖3.3JQ8900JQ8900是一款單片機內(nèi)核并具有可以播放MP3格式音頻的語音播放芯片,它有許多種優(yōu)點:音質(zhì)比較好并且順暢的說出一句語音、研究應(yīng)用范圍很廣很多產(chǎn)品都可以應(yīng)用、穩(wěn)定性強的優(yōu)點。與其他語音播報芯片相比,他完美解決了使用范圍小的缺點,并且把價格降低了許多,集合了多種功能有按鍵控制模式在此之上還開發(fā)了組合按鍵控制模式,除此之外還有數(shù)據(jù)一位位順序發(fā)送的串口控制模式以及8位同時發(fā)送的并口控制模式。不僅如此,JQ8900還有一個很重要的功能SPI-FLASH在線下載的模式。連接電腦跟U盤一樣操作即可。它具有以下優(yōu)點功能:1.支持MP3WAV硬件解碼2.支持FAT文件系統(tǒng)3.支持U盤、TF卡、SPIFLASH4.支持USB聲卡,讀卡器,HID控制。5.SPIFLASH可以模擬成為U盤,與使用U盤一樣更換SPIFLASH中的語音。6.可以控制通過控制引腳高低電平切換上一曲、下一曲、開始播放、暫停播放、選取音頻燈操作。圖3-4JQ8900芯片實物圖3.4SG90舵機舵機主要是有位置檢測硬件、電路板、外殼、減速器、驅(qū)動馬達一同構(gòu)造成了整個舵機結(jié)構(gòu)。大部分的伺服電機十八細銅線與轉(zhuǎn)子有規(guī)律的纏繞在一起,當有電流通過線圈的同時就會發(fā)生磁場,轉(zhuǎn)自四周的磁性鐵開始產(chǎn)生排斥力反應(yīng),所以會產(chǎn)生轉(zhuǎn)動的作用力。這個時候在加入接收機由其發(fā)出信號傳給舵機,舵機主板的ic驅(qū)動馬達收到信號就立刻開始轉(zhuǎn)動,擺臂受到轉(zhuǎn)速齒輪的動力時,在擺臂到達標志位置是,位置檢測器的作用就是發(fā)送擺臂到達標志位信息,位置檢測器之所以可以檢測到是因為其是由可變電阻組成的,但位置角度變化時可變電阻的值也會發(fā)生相應(yīng)的變化,這樣就可以達到檢測位置角度的目的了。舵機有三個引腳,第一個是棕色的接地、第二個是接電源的電源線、第三個信號線,接收STM32單片機產(chǎn)生的PWM波的信號線,具體的控制方法如下:(1)采用PWM控制的方式來進行舵機的操縱(2)舵機的控制必須由STM32單片機的定時器產(chǎn)生周期為20ms的脈沖信號,高電平在5ms-2.5ms之間來回跳動,舵機的旋轉(zhuǎn)角就在0到180°之間了。(3)角度數(shù)據(jù)轉(zhuǎn)換:0.5ms2.5%的占空比為250,對應(yīng)角度為0°;1.0ms5.0%的占空比為500,對應(yīng)角度為45°;1.5ms7.5%的占空比為750,對應(yīng)角度為90°;2.5ms12.5%的占空比為1250,對應(yīng)角度為180°;圖3-5SG90電路原理圖3.5喇叭本次設(shè)計采用的是4Ω、3W的喇叭,喇叭是由磁鐵、紙盤、線圈等組成,紙盤的震動表示把電信號轉(zhuǎn)變?yōu)槁曇粜盘柌シ懦鰜恚€圈是可以接受數(shù)量不一的電子能量,此時線圈自身也會產(chǎn)生能量,同時和磁鐵產(chǎn)生的磁場之間相互作用,在這個時候紙圓盤會震動,電子能量不可能一成不變,當變化時,線圈會發(fā)生前后運動,紙圓盤也會跟著一起運動,線圈的運動會擠壓空氣,讓周圍的空氣密度發(fā)生變化,所以產(chǎn)生了聲音。3.610uF電解電容在DC電源和GND之間可以接一個10uF的電解電容,這個電解電容就成為濾波電容。濾波電容的使用范圍很廣,它可以濾除掉來自電源的雜波信號和交流信號,因為電容本身具有通直流阻交流的作用,具有穩(wěn)定直流電壓,保存電能。濾波電容取值普遍在10-4-4.7*10-3F之間。取值與負載電流和對電源的純凈度有關(guān),若是大電容可以給大電容并聯(lián)一個小電容,在電路中,高頻雜波往往是產(chǎn)生自激的首要原因,電路有自激干擾信號會導(dǎo)致電路不穩(wěn)定工作,所以電容并聯(lián)一個小電容可以解決自激帶來的問題。使電路可以在正常工作范圍之內(nèi)。而電容的取值范圍是要看高頻雜波部分的頻率所決定的。這樣是為了讓電源和地之間降低阻抗,使電源可以最大限度的接近理想電壓電源。4電路總設(shè)計電路按功能可以劃分為STM32F103C8T6最小系統(tǒng)模塊、語音識別電路模塊、語音播報模塊、電源供電電路模塊以及舵機控制垃圾桶蓋電路模塊。4.1語音識別電路模塊這個語音識別電路模塊REF_Ref90759756\r\h[8]以STC11F56XE單片機REF_Ref90759769\r\h[9]構(gòu)建一個最小系統(tǒng),銜接LD3320構(gòu)成一個語音識別電路模塊,這個模塊需要單獨燒寫程序控制。模塊必須要5V或者3.3V供電,預(yù)留兩個TXD,RXD串口,與STM32F103C8T6引腳接在一起。在作品中起著檢測識別是否有觸發(fā)語音的產(chǎn)生,如果有就會返回一組數(shù)值上傳給STM32F103C8T6處理。模塊是檢測人說出來的話,然后去用預(yù)置關(guān)鍵詞的拼音和那個人說的話的拼音去做對比,模塊是在預(yù)置關(guān)鍵字拼音中尋找與說出聲音者的發(fā)音來相比,但兩者的拼音達到一定的相似程度就會認為這是識別正確的結(jié)果。所以這一個缺陷的,錯誤識別的概率是很大的。比如你現(xiàn)在有一個關(guān)鍵詞:篇幅,然后你說了一句:“片名,在模塊識別的發(fā)音中“片名”和“篇幅”的發(fā)音是有一半相同的,在預(yù)置關(guān)鍵詞中是沒有與它更相似的關(guān)鍵詞發(fā)音了,所以他就會輸出篇幅的結(jié)果。也就是這樣子會導(dǎo)致識別錯誤。在設(shè)置關(guān)鍵詞的時候不可避免的會遇到同音字,這就會導(dǎo)致不知不覺中就出發(fā)了。在整個信號流程中,咪頭是接收語音信號轉(zhuǎn)成電信號,LD3320REF_Ref90759807\r\h[10]接收到信號后,由于其內(nèi)部電路可以進行頻譜分析,解析出咪頭接收的語音信息的特征,通過GPIO口將數(shù)據(jù)上傳STC11F56XE,進行關(guān)鍵詞拼音比較的方式,如果符合的話就會通過串口發(fā)送給主控芯片STM32F103C8T6進行下一步的處理。圖4-1LD3320模塊實物圖和工作流程圖4.2語音播報電路模塊這個電路模塊是以JQ8900為主控IC,8002a音頻功放IC,SPI-LASHA25Q32IC以及一個USB插座組成一個語音播報電路模塊,通過這個模塊我們可以把預(yù)置詞條像U盤一樣直接復(fù)制進芯片里面。JQ8900語音識別模塊整體采用SOC方案,JQ8900是一個具有16位的單片機,ADSP是JQ8900對音頻解碼的一個重要解碼器,這是一個硬解碼的方式,這個方式的作用在于保護音質(zhì),不讓音質(zhì)失真.在系統(tǒng)穩(wěn)定性這一塊也可以得到很好的保證。JQ8900語音播報模塊的內(nèi)部spi-flash里的音頻可以隨意的更改,這就是這個模塊最大的優(yōu)點了,沒有了使用上位機去更改spi-flash里音頻那樣繁瑣,SPI-Flash可以擬態(tài)成為U盤,跟拷貝U盤一樣方便人們使用。為了使研究生產(chǎn)有多種渠道選擇,JQ8900設(shè)置有一線串口模式來直接調(diào)用,還有另一種是使用RX232串口來控制的方法。每一次播放設(shè)置都是要按照組合來命名,文件是要存在固定2個英文字母文件下,組合里的文件名需要是2個字節(jié)的,不過普遍使用數(shù)字。如:00001.mp3,000002.mp3,當然也能用兩個字母或一個漢字命名,本次采用前一種。圖4-2語音識別模塊電路原理圖圖4-3JQ8900引腳功能圖4.3舵機控制垃圾桶蓋電路模塊舵機電路模塊是由SG90組成,SG90有三個引腳,一個接電源5V,一個接地,還有一個接STM32F103C8T6引腳,由STM32f103c8t6控制舵機的轉(zhuǎn)動的角度,進而控制垃圾桶蓋子的開關(guān)閉合。圖4-4舵機引腳圖4.4電源供電電路模塊這個電路模塊是由是由DC005母座、六角按鍵、電阻和LED燈、10uF的電解電容、以及電源線組成。在DC005提供5V驅(qū)動這個電路的電源,六角按鍵是控制電路電源開關(guān),在需要的時候開以及閉,LED燈和1K電阻窗簾在一起,1K電阻是為了不讓LED燈燒掉,起到分壓的作用,EC1是一個電解電容,在這里是起到濾波的作用:濾除其中的交流成分。圖4-5供電電路圖4.5STM32F103C8T6最小系統(tǒng)電路模塊.整個最小系統(tǒng)是由核心STM32F103C8T6芯片、復(fù)位電路、晶振電路、SWD模式下載電路、5V轉(zhuǎn)3.3V電路、以及芯片引腳引出電路組成。在整個系統(tǒng)中復(fù)位電路、程序下載電路和晶振電路尤其重要。SWD模式下載電路是給STM32燒錄程序的接口,舉個恰當?shù)谋扔魉褪墙o整個系統(tǒng)注入一個靈魂。復(fù)位電路是STM32F103C8T6最小系統(tǒng)中不可缺少的電路,電容105和按鍵并聯(lián)后串聯(lián)10K電阻再接3.3V的直流電,如圖所示,當按鍵按下的時候RESET引腳可以得到一瞬間的低電平,這樣可以給STM32的寄存器恢復(fù)到程序初始狀態(tài),讓程序從頭開始運行,但是備份寄存器是不會被擦除的。復(fù)位電路這樣設(shè)計的原因是根據(jù)RC充放電原理來設(shè)計的。圖4-6復(fù)位電路圖晶振電路是由兩個電容接公共地后與晶振并聯(lián)組成,構(gòu)成了一個諧振電路。為整個STM32提供一個基準外部時鐘使整個最小系統(tǒng)保持同步。圖4-7晶振電路圖轉(zhuǎn)換電路是由REG1117-3.3V和4個電容組成,在芯片的輸入端輸入5V然后就可以輸出3.3V了。圖4-85V轉(zhuǎn)3.3V電路圖圖4-9STM32F103C8T6最小系統(tǒng)原理圖4.6總設(shè)計圖AltiumDesinger畫的原理圖:在DC1上供5V的直流電,單片機一開機就會給語音播報模塊下達指令開始播報“我是語音識別垃圾桶”,當有符合的聲音關(guān)鍵就可以喚醒LD3320語音識別模塊,語音識別模塊把聲音信號轉(zhuǎn)為電信號處理,再通過串口發(fā)送STM32處理,處理好之后單片機就會同時給語音播報模塊和舵機發(fā)送指令,旋轉(zhuǎn)舵機,喇叭也開始播報。圖4-10總設(shè)計圖4.7電路PCB圖如下圖,這是AltiumDesinger原理圖編譯之后生成的PCB圖,這也是打印PCB板的電路圖。PCB的底層都是各元器件的電氣連接布線,而在頂層都是放置元器件所用的,有三根紅線,這是在頂層跳線所用的。P1、P2、P3、P4是用來接舵機的。圖4-11PCB圖5軟件及代碼調(diào)試5.1KEIL5軟件介紹keiluvision5又名keil5,單片機開發(fā)軟件可以用keil來進行編程指令。該軟件界面可設(shè)置中英文、且界面清晰,keiluvision5里面有對各模塊一起組成,具體有鏈接器,可以支持使用C語音編譯的C編譯器,可以清晰管理MCU庫的庫管理,還有同步進行仿真的仿真調(diào)試庫,這些構(gòu)成了KEIL5開發(fā)流程的完整方案,由此KEIL5生產(chǎn)HEX文件編譯告訴有效,大部分的指令翻譯成匯編語言代碼非常緊密,上下聯(lián)系通順。,易于理解。同時,keiluvision5能夠和ARM器件進行完美的匹配,用戶以此可以運用更改的有apm芯片的器件,還擁有調(diào)試器和VisualIDE、ARMC/C++編譯器和重要的組件,還有集成環(huán)境也是非常的易于理解方便使用的,在軟件仿真這一塊也不可忽視,它的作用極其強大直觀有效,可以給開發(fā)人員減少開發(fā)難度。5.2JQ8900語音合成軟件在系統(tǒng)協(xié)助分類的時候,需要由喇叭播報屬于什么垃圾,語音播報的音頻需要提前去合成做好,類似于U盤一樣把音頻復(fù)制進JQ8900。只要把需要合成的音頻用文本轉(zhuǎn)化就可以了,可以選擇男聲或者女聲。最終生成的音頻是MP3格式。圖5-1語音合成軟件圖5.3識別關(guān)鍵詞添加部分代碼分析“uint8LD_AsrAddFixed()”在該段代碼的主要作用是用于給語音識別模塊添加預(yù)置語音關(guān)鍵詞,并且把關(guān)鍵詞匹配到一個數(shù)據(jù)上傳給stm32f103c8t6單片機,在語音識別模塊上面有一個咪頭,在這些都垃圾的中文拼音的關(guān)鍵詞都是有順序的,比如廚余垃圾是在第2到第6個關(guān)鍵詞為一組,以此類推,每一個關(guān)鍵詞賦予一個位置編號,它可以把聲音信號轉(zhuǎn)換成電信號,這樣我們在說出垃圾的名稱后,語音識別模塊就可以檢測到電信號的信息與預(yù)置關(guān)鍵詞對比,如果對比一致的話就開始把數(shù)據(jù)上傳給單片機。圖5-2識別關(guān)鍵詞添加代碼圖以下代碼是識別,他們與關(guān)鍵詞一一對應(yīng)的,這也是串口通信所要發(fā)送的數(shù)據(jù)。這一部分是可以更改的,隨著關(guān)鍵詞拼音的更改識別碼也要更改。順序也要與關(guān)鍵詞拼音一樣?!癈ODE_”加上關(guān)鍵字的拼音的首字母組成識別碼。圖5-3識別關(guān)鍵詞匹配識別碼代碼圖5.4語音播報模塊部分代碼分析已經(jīng)事先把預(yù)置語音播放詞條通過U盤方式復(fù)制到語音播報模塊當中去了,并且要有順序標號,例如:00001.MP3?!眝oidSendJQ8900Data(u8addr)”此函數(shù)是配置JQ8900語音播報模塊串口發(fā)送數(shù)據(jù)的函數(shù),“voidJQ8900Speak(u8num)”是選擇發(fā)送位于第幾行語音播放第條所在的位置數(shù)。圖5-4語音播報模塊部分代碼圖5.5舵機模塊部分代碼分析控制舵機的方法是采取PWM來控制的方法,PWM脈沖寬度調(diào)制就是我們通常所說的PWM調(diào)制,高電平的時間所占整個脈沖周期的波形。在實際的使用中也是這么調(diào)節(jié)高電平時間的比例來間接的控制舵機旋轉(zhuǎn)角度。首先先給定時器3(TIM3)進行中斷初始化,產(chǎn)生一個20ms周期的脈沖,寬度從0.5ms到2.5ms就可以產(chǎn)生0-180°的旋轉(zhuǎn)角,但高電平到達2.5ms時,就可以旋轉(zhuǎn)90°。當“SG90Flag=1”時觸發(fā)舵機旋轉(zhuǎn)90°,當“SG90Flag=0”時觸發(fā)舵機復(fù)位。圖5-5舵機模塊部分代碼圖5.6語音識別分類部分代碼分析語音識別模塊通過串口通信發(fā)送給STM32的數(shù)據(jù),因為在模塊里已經(jīng)給關(guān)鍵詞編好號碼,只要把號碼通過串口發(fā)送給單片機就可以了,單片機在子函數(shù)“voidgetLD3320Temp()”里進行分類,使用一個if和四個elseif來判斷。第一個if語句是用來判斷廚余垃圾的,串口傳來的數(shù)據(jù)在1-5判斷為廚余垃圾,剩余再分別用elseif語句判斷6-10、11-15、16-20分別為其他垃圾、有害垃圾、可回收垃圾。剩下的21號是喚醒整個系統(tǒng)的關(guān)鍵詞。圖5-6語音識別分類部分代碼圖5.7程序流程圖一開始對程序進行初始化,進行打開STM32F103C8T6的串口,使LD3320語音識別模塊和STM32F103C8T6之間使用串口通信上傳數(shù)據(jù),同時打開定時器,若是串口接收到數(shù)據(jù)則進行下一步,否則就返回繼續(xù)打開串口、定時器,當STM32F103C8T6接收到串口數(shù)據(jù)的時候?qū)ζ溥M行解析,判斷串口接收數(shù)據(jù)的垃圾歸屬類別,下一步則打開語音播報垃圾所應(yīng)該歸屬的垃圾類別,驅(qū)動舵機旋轉(zhuǎn)打開垃圾桶,等待3秒后舵機旋轉(zhuǎn)控制垃圾桶蓋子關(guān)閉,返回到判斷串口接收數(shù)據(jù)的垃圾歸屬類別。初始化初始化 打開串口、定時器打開串口、定時器判斷串口接收數(shù)據(jù)收數(shù)據(jù)收到判斷串口接收數(shù)據(jù)收數(shù)據(jù) 收到解析串口數(shù)據(jù),得出垃圾所屬類別解析串口數(shù)據(jù),得出垃圾所屬類別 收到語音播報類別名稱,并驅(qū)動對應(yīng)舵機打開語音播報類別名稱,并驅(qū)動對應(yīng)舵機打開3秒后關(guān)閉圖5-7程序流程圖6電路調(diào)試及故障分析6.1電路調(diào)試1.首先先測試語音識別模塊是否可以正常工作運行,因為語音識別模塊是以STC11F56XE為主控的,所以用TTL下載器把程序燒錄進語音模塊,連接串口喊出“小杰”的關(guān)鍵詞,當串口窗口上返回收到指令時,那樣語音模塊可以正常工作。2.把焊好的電路板REF_Ref90759871\r\h[11]用數(shù)字的萬用表的蜂鳴檔測試元件與元件之間的引腳通不通,檢測電路是否有斷路。3.把所有元器件都焊上電路板后,用5V電源線供電,測試STM32F103C8T6最小系統(tǒng)的5V引腳是否有5V,有的話證明最小系統(tǒng)可以正常啟動REF_Ref90759899\r\h[12]。4.所有都準備好后,開始調(diào)試成品,上電成功后,喇叭會播報“你好,我是語音控制垃圾箱保護環(huán)境人人有責”,接下來當喊出“小杰“之后,播報“請說出垃圾名”,再喊出你所要丟的垃圾,它就可以幫你把垃圾分類好了,并播報出你所要丟掉垃圾屬于什么垃圾。6.2調(diào)試故障分析在調(diào)試的過程中,給PCB板上電,一上電電源指示燈就亮一下就滅了,很明顯這是電壓太大,導(dǎo)致LED燈燒掉的的后果REF_Ref90759925\r\h[13]。后來給LED燈串聯(lián)了一個1K的電阻后就可以正常發(fā)光了。6.3垃圾分類混亂故障分析但我叫出垃圾名的時候,它分類會不準確,比如我叫出“菜根”本應(yīng)該分類到“廚余垃圾”的,它卻分類到“其他垃圾”上去了。我先排除是不是把“廚余垃圾”插到了“其他垃圾”上面去了我把它換了[過來后,在試著叫出“其他垃圾”的垃圾名依舊會錯亂,就確定是程序代碼的問題了,仔細檢查程序看到語音代碼的二十個預(yù)置垃圾關(guān)鍵詞條缺少一個,把最后一個補上就可以正確分類了。圖6-1關(guān)鍵詞添加代碼圖6.3語音接收不靈敏故障分析當叫出關(guān)鍵詞的時候,語音模塊沒有反應(yīng),再多叫幾次卻又可以反應(yīng)過來,有時候叫一次可以有時候叫幾次語音才可以。我以為是硬件的問題,更換了接收聲音的咪頭之后,依舊沒有多大的變化。再次仔細的查閱代碼,發(fā)現(xiàn)缺少控制聲音收集范圍的代碼REF_Ref90759953\r\h[14],添加后在設(shè)置合理的范圍就可以靈敏的使用了REF_Ref90759973\r\h[15]。圖6-2靈敏度控制代碼總結(jié)這次的畢設(shè)是整
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026湖南郴州市市直學(xué)校面向高校畢業(yè)生公開招聘教師25人備考題庫附答案
- 2026福建三明市衛(wèi)生健康委員會關(guān)于醫(yī)療衛(wèi)生高層次人才專項公開招聘39人的通告?zhèn)淇碱}庫附答案
- 2026福建龍巖市教育部組織公費師范畢業(yè)生“雙向選擇”專項招聘8人參考題庫附答案
- 2026遼寧沈陽市沈北匯置育邦實驗學(xué)校小學(xué)招聘英語老師1人參考題庫附答案
- 2026陜西省面向北京郵電大學(xué)招錄選調(diào)生備考題庫附答案
- 2026年及未來5年市場數(shù)據(jù)中國圖書館RFID行業(yè)發(fā)展全景監(jiān)測及投資方向研究報告
- 北京中西醫(yī)結(jié)合醫(yī)院編外崗位招聘10人考試備考題庫附答案
- 成都東部人才發(fā)展有限公司擬招聘編外人員10名外派至成都東部新區(qū)應(yīng)急管理局工作備考題庫附答案
- 新疆分院招聘廣東電信規(guī)劃設(shè)計院2026屆校招開啟(12人)備考題庫附答案
- 浙江國企招聘考試備考題庫附答案
- 集團債權(quán)訴訟管理辦法
- 上海物業(yè)消防改造方案
- 鋼結(jié)構(gòu)施工進度計劃及措施
- 供應(yīng)商信息安全管理制度
- 智慧健康養(yǎng)老服務(wù)與管理專業(yè)教學(xué)標準(高等職業(yè)教育??疲?025修訂
- 2025年農(nóng)業(yè)機械化智能化技術(shù)在農(nóng)業(yè)防災(zāi)減災(zāi)中的應(yīng)用報告
- 發(fā)展與安全統(tǒng)籌策略研究
- 移動式壓力容器安全技術(shù)監(jiān)察規(guī)程(TSG R0005-2011)
- 2025年廣東省惠州市惠城區(qū)中考一模英語試題(含答案無聽力原文及音頻)
- 征兵體檢超聲診斷
- 云南省大理白族自治州2025屆高三上學(xué)期二??荚?英語 含解析
評論
0/150
提交評論