




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
智能環(huán)保垃圾桶PAGEIV題目摘要:隨著城市化進(jìn)程的加速和人口增長(zhǎng),垃圾處理問(wèn)題越來(lái)越突出,如何實(shí)現(xiàn)垃圾分類和回收利用已成為各國(guó)政府和社會(huì)關(guān)注的焦點(diǎn)。為了解決這個(gè)問(wèn)題,本文研究了一種基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)語(yǔ)音識(shí)別和自動(dòng)開蓋等功能,為垃圾分類和處理提供了一種新的思路。本文首先介紹了系統(tǒng)設(shè)計(jì)的背景和意義,重點(diǎn)介紹了垃圾分類和回收利用的重要性以及當(dāng)前存在的問(wèn)題和挑戰(zhàn)。接著,對(duì)相關(guān)研究進(jìn)行了綜述,介紹了目前已有的一些智能垃圾桶系統(tǒng)的設(shè)計(jì)方案和技術(shù)路線。在此基礎(chǔ)上,本文提出了一種基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng)的設(shè)計(jì)方案。系統(tǒng)硬件部分采用了Arduino開發(fā)板和HLK-V20語(yǔ)音識(shí)別模塊,Arduino開發(fā)板作為主控芯片,控制垃圾桶的開合,HLK-V20語(yǔ)音識(shí)別模塊用于語(yǔ)音識(shí)別。本文詳細(xì)介紹了系統(tǒng)硬件的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程,包括Arduino和語(yǔ)音識(shí)別模塊的介紹、電路設(shè)計(jì)和硬件連接等。軟件部分采用了ArduinoIDE開發(fā)環(huán)境和語(yǔ)音識(shí)別庫(kù)進(jìn)行開發(fā),ArduinoIDE是一款基于C語(yǔ)言的開發(fā)環(huán)境,適合嵌入式開發(fā)。語(yǔ)音識(shí)別庫(kù)是一個(gè)開源的語(yǔ)音識(shí)別庫(kù),能夠?qū)崿F(xiàn)語(yǔ)音的識(shí)別和轉(zhuǎn)換。本文詳細(xì)介紹了軟件開發(fā)的流程和實(shí)現(xiàn)過(guò)程,包括語(yǔ)音識(shí)別庫(kù)的使用和代碼編寫等。在實(shí)驗(yàn)方面,本文對(duì)系統(tǒng)進(jìn)行了多個(gè)方面的測(cè)試和評(píng)估,包括語(yǔ)音識(shí)別準(zhǔn)確率、垃圾桶開蓋實(shí)驗(yàn)、響應(yīng)速度和穩(wěn)定性等。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)具有較高的語(yǔ)音識(shí)別準(zhǔn)確率和開蓋準(zhǔn)確率,響應(yīng)速度快且穩(wěn)定性好。通過(guò)本文的研究,我們成功實(shí)現(xiàn)了一種基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng),該系統(tǒng)可以有效地實(shí)現(xiàn)垃圾分類和處理。此外,該系統(tǒng)具有一定的創(chuàng)新性和應(yīng)用價(jià)值,為智能垃圾分類技術(shù)的研究和應(yīng)用提供了參考和支持。同時(shí),本文還探討了該系統(tǒng)的不足之處和改進(jìn)方向。關(guān)鍵詞:智能垃圾桶;Arduino;語(yǔ)音識(shí)別;垃圾分類;HLK-V20AbstractWiththeaccelerationofurbanizationandpopulationgrowth,theproblemofgarbagedisposalhasbecomeincreasinglyprominent.Howtorealizegarbageclassificationandrecyclinghasbecomeafocusofattentionforgovernmentsandsocietiesaroundtheworld.Inordertosolvethisproblem,thispaperstudiesanintelligentvoiceclassificationgarbagebinsystembasedonArduino,whichcanrealizefunctionssuchasvoicerecognitionandautomaticopening,providinganewideaforgarbageclassificationanddisposal.Thispaperfirstintroducesthebackgroundandsignificanceofthesystemdesign,focusingontheimportanceofgarbageclassificationandrecycling,aswellasthecurrentproblemsandchallenges.Then,relatedresearchisreviewed,introducingthedesignschemesandtechnicalroutesofsomeexistingintelligentgarbagebinsystems.Basedonthis,thispaperproposesadesignschemeforanintelligentvoiceclassificationgarbagebinsystembasedonArduino.ThehardwarepartofthesystemusesanArduinodevelopmentboardandanHLK-V20voicerecognitionmodule.TheArduinodevelopmentboardservesasthemaincontrolchip,controllingtheopeningandclosingofthegarbagebin,andtheHLK-V20voicerecognitionmoduleisusedforvoicerecognition.Thispaperdetailsthedesignandimplementationprocessofthesystemhardware,includingtheintroductionofArduinoandvoicerecognitionmodules,circuitdesign,andhardwareconnection.ThesoftwarepartusestheArduinoIDEdevelopmentenvironmentandvoicerecognitionlibraryfordevelopment.ArduinoIDEisadevelopmentenvironmentbasedontheClanguage,suitableforembeddeddevelopment.Thevoicerecognitionlibraryisanopen-sourcevoicerecognitionlibrarythatcanachievevoicerecognitionandconversion.Thispaperdetailsthesoftwaredevelopmentprocessandimplementation,includingtheuseofvoicerecognitionlibrariesandcodewriting.Intermsofexperiments,thispaperconductedvarioustestsandevaluationsofthesystem,includingvoicerecognitionaccuracy,garbagebinopeningexperiment,responsespeed,andstability.Theexperimentalresultsshowthatthesystemhashighvoicerecognitionaccuracyandopeningaccuracy,fastresponsespeed,andgoodstability.Throughtheresearchinthispaper,wehavesuccessfullyrealizedanintelligentvoiceclassificationgarbagebinsystembasedonArduino,whichcaneffectivelyrealizegarbageclassificationanddisposal.Inaddition,thesystemhascertaininnovationandapplicationvalue,providingreferenceandsupportfortheresearchandapplicationofintelligentgarbageclassificationtechnology.Atthesametime,thispaperalsodiscussestheshortcomingsandimprovementdirectionsofthesystem..Inconclusion,theintelligentgarbagebinsystembasedonsingle-chipmicrocomputerandRaspberryPiproposedinthisarticleachievesautomaticgarbageclassificationanduploadofgarbageinformationanddataprocessingthroughvisualrecognitionanddataprocessing.Thesystemhascertainpracticalityandapplicationprospectsandhasmadecertaincontributionstogarbageclassificationandenvironmentalprotection..Keywords:Intelligentgarbagebin,Arduino,voicerecognition,Vgarbageclassification,HLK-V20
西安文理學(xué)院本科畢業(yè)論文(設(shè)計(jì))PAGE81緒論1.1研究背景在現(xiàn)今社會(huì)中,人類生產(chǎn)的垃圾逐漸多樣化、復(fù)雜化,許多垃圾含有化學(xué)物質(zhì)或有害成分,如若垃圾沒(méi)有妥善處理,許多垃圾混雜在一起有可能會(huì)產(chǎn)生化學(xué)反應(yīng),產(chǎn)生出有害物質(zhì)影響環(huán)境從而危機(jī)人類的身體健康[1]。而若對(duì)垃圾進(jìn)行不針對(duì)的焚燒或掩埋,將會(huì)影響環(huán)境,浪費(fèi)資源,所以盡早的進(jìn)行垃圾分類是處理垃圾利用垃圾的有效解決方式。垃圾分類要長(zhǎng)期、科學(xué),如果光靠相關(guān)工作人員進(jìn)行處理是不可行的,要靠社會(huì)中的每一位公民形成垃圾分類的意識(shí)與習(xí)慣[2]。垃圾分類的特點(diǎn)是回收、處理、利用具有高效性,最大限度降低二次污染的可能性。分類后的垃圾可以將有價(jià)值的垃圾進(jìn)行二次利用,從而使資源可持續(xù)利用??傊?,垃圾的分類與處理對(duì)經(jīng)濟(jì)可持續(xù)發(fā)展和保護(hù)環(huán)境具有重大意義[3]。國(guó)外對(duì)垃圾桶控制系統(tǒng)的設(shè)計(jì)和研究相對(duì)較早。到目前為止,許多國(guó)家已經(jīng)實(shí)現(xiàn)了垃圾的分類和回收利用,有的還廣泛采用了帶有太陽(yáng)能設(shè)備的垃圾桶控制系統(tǒng)。具有這種控制系統(tǒng)的垃圾桶通常被稱為太陽(yáng)能垃圾桶[1]。最早采用太陽(yáng)能裝置控制系統(tǒng)的垃圾桶于2006年8月在美國(guó)紐約出現(xiàn)。由于它能容納比傳統(tǒng)垃圾桶多8倍的垃圾,被稱為“大胃王”。但是,根據(jù)其系統(tǒng)的具體工作原理,它的實(shí)際名稱應(yīng)該是太陽(yáng)能壓縮機(jī)。它的控制系統(tǒng)以太陽(yáng)光為操作系統(tǒng)的能量來(lái)源,通過(guò)自動(dòng)壓縮處理,將垃圾體積縮小到原來(lái)的八分之一。有了這個(gè)功能,這種垃圾桶可以容納1362升的垃圾。由于其容量大,也大大減少了環(huán)衛(wèi)工人收集的垃圾數(shù)量但與此同時(shí),其控制系統(tǒng)也存在一定的缺陷。首先,它的價(jià)格非常昂貴,其次,由于內(nèi)部系統(tǒng)中高科技部件的比例很高,損壞后很難修復(fù)[2]。在“胃王”出現(xiàn)之后,英國(guó)劍橋大學(xué)在美國(guó)智能垃圾桶控制系統(tǒng)研究的基礎(chǔ)上,研發(fā)出了另一款更符合英國(guó)當(dāng)?shù)丨h(huán)境的太陽(yáng)能垃圾桶控制系統(tǒng)。同樣的,這類垃圾桶的控制系統(tǒng)也會(huì)對(duì)里面的垃圾進(jìn)行壓縮,但是要實(shí)現(xiàn)對(duì)垃圾的壓縮,只需要從外面接收到少量的陽(yáng)光,因?yàn)檫@類垃圾桶控制系統(tǒng)的動(dòng)力來(lái)自一組太陽(yáng)能電池。這種設(shè)計(jì)使得這種類型的垃圾桶在英國(guó)多霧的天氣里也能正常工作。此外,在該垃圾桶的控制系統(tǒng)中還安裝了智能傳感器和無(wú)線發(fā)射器[3]。當(dāng)環(huán)衛(wèi)工的手機(jī)收到來(lái)自無(wú)線發(fā)射器的信息提醒他清理垃圾箱時(shí),就意味著容器內(nèi)的垃圾超過(guò)了預(yù)設(shè)范圍。接收到的信息是一個(gè)簡(jiǎn)單的數(shù)字,例如1或2代表垃圾箱的編號(hào),這樣環(huán)衛(wèi)工人就知道該去哪個(gè)垃圾箱進(jìn)行清潔。由于該系統(tǒng)具有向環(huán)衛(wèi)工提供即時(shí)信息的功能,因此在劍橋市對(duì)這種垃圾桶進(jìn)行了測(cè)試,結(jié)果令人滿意。現(xiàn)如今垃圾桶是生活中不可或缺的產(chǎn)品,隨著人們逐漸增加的環(huán)保意識(shí),垃圾桶的款式與功能越來(lái)越多樣化。垃圾桶根據(jù)使用場(chǎng)合的不同,分為公共式、家庭式、醫(yī)用式;根據(jù)盛放形式的不同,分為獨(dú)立式、分類式;根據(jù)開啟方式有揭蓋式、踩踏式等[4]。隨著垃圾桶的跟新?lián)Q代,智能垃圾桶逐漸走進(jìn)人們的生活中,智能垃圾桶則可以通過(guò)自動(dòng)分類和回收利用,減輕人力負(fù)擔(dān),提高垃圾處理效率和準(zhǔn)確率。本文旨在研究基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng),探索智能垃圾分類技術(shù)的應(yīng)用,為城市垃圾處理提供一種新的解決方案。1.2研究目的和意義本文的研究目的是設(shè)計(jì)和開發(fā)基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)自動(dòng)語(yǔ)音識(shí)別和分類,為城市垃圾處理提供一種新的智能化解決方案。具體來(lái)說(shuō),本研究的目標(biāo)包括以下方面:設(shè)計(jì)并實(shí)現(xiàn)基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng),該系統(tǒng)能夠自動(dòng)識(shí)別語(yǔ)音指令,控制垃圾桶蓋的開合,并對(duì)垃圾進(jìn)行分類??紤]到垃圾桶所處的環(huán)境和使用場(chǎng)景,系統(tǒng)需要具備較高的可靠性和穩(wěn)定性,能夠在復(fù)雜的環(huán)境下正常工作。研究智能垃圾分類技術(shù)的應(yīng)用和實(shí)現(xiàn),探索如何通過(guò)智能化的方式提高垃圾處理的效率和準(zhǔn)確率。本文的研究意義在于探索智能化垃圾分類技術(shù)的應(yīng)用,為解決城市垃圾處理難題提供一種新的思路和方案。本研究開發(fā)的智能語(yǔ)音分類垃圾桶系統(tǒng)具有實(shí)際應(yīng)用價(jià)值,可以有效減輕人工操作的負(fù)擔(dān),提高垃圾處理的效率和準(zhǔn)確率,具有較高的社會(huì)和經(jīng)濟(jì)效益。同時(shí),本研究也為智能化垃圾處理技術(shù)的研究和應(yīng)用提供了一定的參考和借鑒價(jià)值。1.3研究?jī)?nèi)容和結(jié)構(gòu)本文的研究?jī)?nèi)容主要包括以下三個(gè)部分:系統(tǒng)實(shí)現(xiàn):本部分將介紹基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng)的具體實(shí)現(xiàn)過(guò)程,包括硬件組裝和軟件編程兩個(gè)方面。此外,本部分還將介紹系統(tǒng)的測(cè)試和性能評(píng)估結(jié)果。系統(tǒng)應(yīng)用:本部分將介紹基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng)的實(shí)際應(yīng)用情況,包括在城市垃圾處理中的應(yīng)用和效果評(píng)估。此外,本部分還將探討智能化垃圾處理技術(shù)在未來(lái)的發(fā)展方向和應(yīng)用前景。本文的結(jié)構(gòu)如下:第一章:緒論。介紹研究背景、意義和目的,概述論文的研究?jī)?nèi)容和結(jié)構(gòu)。第二章:相關(guān)技術(shù)和理論。介紹基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng)的設(shè)計(jì)方案,包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面并且介紹與本研究相關(guān)的技術(shù)理論和模塊介紹,包括Arduino開發(fā)環(huán)境、語(yǔ)音識(shí)別技術(shù)、舵機(jī)驅(qū)動(dòng)模塊、指示電路模塊等內(nèi)容。第三章:系統(tǒng)軟件設(shè)計(jì)。介紹基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng)的具體實(shí)現(xiàn)過(guò)程,包括硬件組裝和軟件編程兩個(gè)方面。第四章:實(shí)驗(yàn)和結(jié)果分析。介紹基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng)的實(shí)際應(yīng)用情況。第五章:總結(jié)與展望??偨Y(jié)本文的研究成果,探討智能化垃圾處理技術(shù)的發(fā)展前景和應(yīng)用方向,提出今后研究的方向和建議。2智能垃圾桶架構(gòu)設(shè)計(jì)2.1系統(tǒng)架構(gòu)設(shè)計(jì)基于Arduino的智能語(yǔ)音分類垃圾桶系統(tǒng)的架構(gòu)設(shè)計(jì)主要包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面。硬件設(shè)計(jì)部分主要包括以下幾個(gè)模塊:垃圾桶、語(yǔ)音識(shí)別模塊、舵機(jī)控制模塊和電源模塊。垃圾桶模塊包括垃圾桶本身以及其上部的開蓋裝置。開蓋裝置可以通過(guò)舵機(jī)控制模塊實(shí)現(xiàn)自動(dòng)開蓋和關(guān)閉的功能。語(yǔ)音識(shí)別模塊采用的是HLK-V20,它可以對(duì)人類的聲音進(jìn)行識(shí)別和分類,從而實(shí)現(xiàn)對(duì)垃圾進(jìn)行分類。電源模塊主要用于為整個(gè)系統(tǒng)提供電力,確保系統(tǒng)的穩(wěn)定運(yùn)行。軟件設(shè)計(jì)部分主要包括以下幾個(gè)模塊:語(yǔ)音識(shí)別模塊驅(qū)動(dòng)程序、舵機(jī)控制程序和用戶交互程序。語(yǔ)音識(shí)別模塊驅(qū)動(dòng)程序負(fù)責(zé)對(duì)語(yǔ)音識(shí)別模塊進(jìn)行初始化和驅(qū)動(dòng),從而實(shí)現(xiàn)對(duì)聲音的采集和分類。舵機(jī)控制程序負(fù)責(zé)對(duì)舵機(jī)控制模塊進(jìn)行控制,實(shí)現(xiàn)自動(dòng)開蓋和關(guān)閉的功能。用戶交互程序負(fù)責(zé)接收用戶的指令,并將指令轉(zhuǎn)換為相應(yīng)的控制信號(hào),從而控制系統(tǒng)的運(yùn)行。如圖所示:圖2.SEQ圖\*ARABIC\s11系統(tǒng)整體框圖2.2智能垃圾桶硬件設(shè)計(jì)2.2.1Arduino開發(fā)板模塊Arduino開發(fā)板是一種基于開源硬件平臺(tái)的微控制器開發(fā)板,由意大利開發(fā)商貢獻(xiàn)。Arduino開發(fā)板的設(shè)計(jì)目的是為了簡(jiǎn)化微控制器的使用,使它更易于理解和使用[5]。Arduino開發(fā)板由一個(gè)微控制器(通常是AtmelAVR系列)。Arduino開發(fā)環(huán)境是一款開源軟件,可用于編寫、上傳和運(yùn)行Arduino程序。Arduino開發(fā)板擁有一個(gè)簡(jiǎn)單易學(xué)的編程語(yǔ)言,它基于C/C++語(yǔ)言,具有很強(qiáng)的易用性和靈活性[6]。用戶可以在Arduino開發(fā)環(huán)境中編寫自己的程序,并將其上傳到開發(fā)板上運(yùn)行。Arduino開發(fā)板有許多型號(hào)和變種,例如ArduinoUno、ArduinoMega、ArduinoLeonardo等,它們?cè)谛酒阅堋⑤斎胼敵龆丝跀?shù)等方面有所不同,可以根據(jù)具體的應(yīng)用需求進(jìn)行選擇[7]。此外,Arduino開發(fā)板還有大量的開源庫(kù)和示例代碼可供用戶參考和使用,這些資源使得用戶能夠快速開發(fā)自己的項(xiàng)目[8]。Arduino開發(fā)板是一種易于學(xué)習(xí)和使用的開源硬件平臺(tái),它極大地降低了微控制器編程的門檻,為愛(ài)好者、學(xué)生和工程師提供了一個(gè)快速、靈活、低成本的開發(fā)平臺(tái)。圖2.2Arduino開發(fā)板實(shí)物圖圖2.3ArduinoNano管腳圖2.2.2HLK-V20語(yǔ)音識(shí)別模塊HLK-V20,一款基于非特定人自動(dòng)語(yǔ)音識(shí)別技術(shù)的語(yǔ)音識(shí)別聲控芯片,提供了真正的單芯片語(yǔ)音識(shí)別解決方案。該芯片內(nèi)部集成了高精度的模數(shù)轉(zhuǎn)換(A/D)和數(shù)模轉(zhuǎn)換(D/A)接口,不需要額外的Flash和RAM就能實(shí)現(xiàn)語(yǔ)音識(shí)別/聲控/人機(jī)對(duì)話功能。此外,它可以動(dòng)態(tài)編輯識(shí)別的關(guān)鍵詞列表[9]。利用HLK-V20,無(wú)論是任何電子產(chǎn)品,甚至是以最簡(jiǎn)單的51芯片為主控的系統(tǒng),都可以輕易地實(shí)現(xiàn)語(yǔ)音識(shí)別/聲控/人機(jī)對(duì)話功能,為所有的電子產(chǎn)品增加語(yǔ)音用戶操作界面(VUI)。主要特性包括非特定人語(yǔ)音識(shí)別技術(shù),無(wú)需用戶進(jìn)行錄音訓(xùn)練,可以動(dòng)態(tài)編輯識(shí)別的關(guān)鍵詞列表,只需要將識(shí)別的關(guān)鍵詞以字符串形式發(fā)送給芯片,便可在下次識(shí)別時(shí)生效[10]。HLK-V20能夠設(shè)定自定義語(yǔ)音,其中可以自定義開機(jī)播報(bào)語(yǔ)、自定義語(yǔ)言喚醒詞、自定義語(yǔ)言命令詞、自定義TTS語(yǔ)音播報(bào)等。圖2.4HLK-V20語(yǔ)音識(shí)別模塊實(shí)物圖模塊有16個(gè)引腳,包括功放輸出、差分輸入與串口。具體定義說(shuō)明見(jiàn)下表:引腳名稱類型說(shuō)明1B8IGeneralpurposeinput/output2B7I/0Generalpurposeinput/output3B6I/0Generalpurposeinput/output4A27I/0Generalpurposeinput/output5A26I/0Generalpurposeinput/output6SPK+0功放差分輸出P端7SPK-0功放差分輸出N端8VCCPWR電源(3.3V-5V)9GNDGNDGND10B2I/0Generalpurposeinput/output11B3I/0Generalpurposeinput/output12A25I/0Generalpurposeinput/output13MIC-IMIC1差分輸入N端14MIC+IMIC1差分輸入P端15RXI/0Uartrx16TXI/0Uarttx表2.1引腳定義說(shuō)明圖2.5模塊引腳分布圖在電路圖2.6的語(yǔ)音識(shí)別模塊使用中,僅需連接5V電源,然后將模塊的串行通信端口與Arduino的3號(hào)腳相連即可。圖2.6語(yǔ)音識(shí)別模塊原理圖2.2.3舵機(jī)驅(qū)動(dòng)模塊本垃圾桶涉及到控制四臺(tái)舵機(jī)的運(yùn)動(dòng)。舵機(jī)是一種能夠根據(jù)位置進(jìn)行伺服控制的驅(qū)動(dòng)裝置,適合在需要不斷改變角度并能保持這種變化的控制系統(tǒng)中使用。它主要由外殼、電路板、驅(qū)動(dòng)電機(jī)、減速器和位置檢測(cè)組件組成[11]。它的運(yùn)行原理是通過(guò)接收器向舵機(jī)發(fā)送信號(hào),然后由電路板上的集成電路驅(qū)動(dòng)無(wú)心電機(jī)開始旋轉(zhuǎn),通過(guò)減速齒輪將動(dòng)力傳遞到擺桿,同時(shí)位置檢測(cè)器返回信號(hào),確定是否已到達(dá)預(yù)定位置。位置檢測(cè)器實(shí)際上是一個(gè)可變電阻,當(dāng)舵機(jī)轉(zhuǎn)動(dòng)時(shí),電阻值也會(huì)隨之改變,通過(guò)檢測(cè)電阻值就可以知道轉(zhuǎn)動(dòng)的角度ADDINNE.Ref.{5390A051-8BB5-4447-C42}[12]。步機(jī)舵機(jī)驅(qū)動(dòng)電路圖如圖2.7所示:圖2.7步機(jī)舵機(jī)驅(qū)動(dòng)電路原理圖電源線和接地線用于為轉(zhuǎn)向機(jī)內(nèi)的直流電機(jī)和控制線提供能量。電壓通常在4到6V之間,通常取5V。請(qǐng)注意,轉(zhuǎn)向機(jī)的電源應(yīng)提供足夠的動(dòng)力??刂凭€的輸入是具有可調(diào)寬度和20ms周期(即50Hz頻率)的周期性方波脈沖信號(hào)。當(dāng)方波的脈沖寬度發(fā)生變化時(shí),轉(zhuǎn)向軸的角度發(fā)生變化,角度變化與脈沖寬度的變化成正比。某型轉(zhuǎn)向器輸出軸的角度與輸入信號(hào)的脈沖寬度之間的關(guān)系如圖2.8所示。圖2.8舵機(jī)輸出轉(zhuǎn)角與輸入信號(hào)脈沖寬度的關(guān)系2.2.4指示電路模塊指示電路的作用是顯示垃圾桶的工作狀態(tài),其中LED1表示可回收垃圾桶開蓋;LED2表述廚余垃圾桶開蓋;LED3表示其它垃圾桶開蓋;LED4表示有害垃圾桶開蓋。指示電路圖如圖2.9所示:圖2.9指示電路原理圖2.2.5按鍵電路模塊本設(shè)計(jì)采用的按鍵開關(guān)為6*6*4.3MM微動(dòng)開關(guān)。按鍵使用溫度范圍是-25°~+-85°C;額定負(fù)荷為DC12V0.1A;接觸電阻<=0.03Ω;耐壓AC250V(50Hz)/MIN;絕緣電阻>=100MΩ;壽命100000times(次)。按鍵結(jié)構(gòu)圖如圖2.10所示:圖2.10按鍵結(jié)構(gòu)圖本設(shè)計(jì)有1個(gè)功能按鍵K1,它的作用是手動(dòng)開/關(guān)垃圾桶按鍵,按下按鍵所有的垃圾桶都會(huì)打開蓋子,再按一下就會(huì)關(guān)閉蓋子。按鍵電路如圖2.11所示:圖2.11按鍵電路原理圖2.2.6電源電路模塊本設(shè)計(jì)的單片機(jī)是5V供電,語(yǔ)音識(shí)別模塊也是5V供電,所以這里僅需要一個(gè)5V直流供電即可。S1是電源開關(guān),電容C1是電源濾波電容。穩(wěn)壓電路如圖2.12所示:圖2.12電源電路2.2.7DC電源插座模塊DC-005為常見(jiàn)直流插座,插入配套φ5.5插頭后,可以自動(dòng)斷開電路內(nèi)部電源。引腳定義:1.電源正極;2.負(fù)極靜觸點(diǎn);3.負(fù)極動(dòng)觸點(diǎn)。當(dāng)插頭插入時(shí),頂部打開觸點(diǎn)3,切斷電路內(nèi)部的電池負(fù)極路徑,內(nèi)部電源停止供電,然后接入外部負(fù)極電源,1、3腳形成外部電源路徑。電氣接線原理如下圖所示:圖2.13電氣連接原理圖2.3軟件介紹2.3.1ArduinoIDE開發(fā)環(huán)境ArduinoIDE是一款開源的集成開發(fā)環(huán)境(IDE),用于編寫和上傳程序到Arduino開發(fā)板。它是一款跨平臺(tái)的軟件,支持Windows、MacOSX和Linux等操作系統(tǒng)ADDINNE.Ref.{533DFBF6-0299-4EF9-BE97-46B00C0C11AD}[14]。ArduinoIDE包含了一系列的工具,例如代碼編輯器、編譯器、串口監(jiān)視器等,可以幫助用戶編寫、調(diào)試和上傳程序。同時(shí),它還提供了許多示例程序和開源庫(kù),用戶可以借鑒和使用這些資源來(lái)快速開發(fā)自己的項(xiàng)目。ArduinoIDE的編程語(yǔ)言基于C/C++,并添加了一些庫(kù)和函數(shù),以便用戶可以輕松地控制Arduino的輸入輸出端口和其他外設(shè)。用戶可以通過(guò)IDE中的串口監(jiān)視器,將程序輸出信息打印到計(jì)算機(jī)上,進(jìn)行調(diào)試和驗(yàn)證。ArduinoIDE還支持各種Arduino開發(fā)板的兼容性,并可以根據(jù)需要選擇合適的開發(fā)板。用戶可以通過(guò)IDE中的菜單欄進(jìn)行設(shè)置,并自動(dòng)配置編譯器、串口和其他參數(shù)ADDINNE.Ref.{CFC9C5E7-9602-4560-BFC8-70FD864CE93E}[15]。ArduinoIDE是一款簡(jiǎn)單易用的開發(fā)環(huán)境,為Arduino開發(fā)者提供了一個(gè)良好的編程環(huán)境和開發(fā)工具,使得他們能夠快速、輕松地開發(fā)Arduino項(xiàng)目。2.3.2Arduino語(yǔ)音識(shí)別庫(kù)使用Arduino語(yǔ)音識(shí)別庫(kù)是一種在Arduino平臺(tái)上使用語(yǔ)音識(shí)別模塊的軟件庫(kù)。它包含了一系列的函數(shù)和API,可以幫助Arduino程序快速實(shí)現(xiàn)語(yǔ)音識(shí)別功能,例如識(shí)別特定的語(yǔ)音指令或控制外設(shè)ADDINNE.Ref.{D218584C-6B02-474C-BA56-6AB8B4CF9D0D}[16]。使用Arduino語(yǔ)音識(shí)別庫(kù)可以大大簡(jiǎn)化開發(fā)過(guò)程,無(wú)需深入理解語(yǔ)音識(shí)別技術(shù)和協(xié)議,只需簡(jiǎn)單地調(diào)用庫(kù)中的函數(shù)和API即可實(shí)現(xiàn)語(yǔ)音識(shí)別功能。在使用Arduino語(yǔ)音識(shí)別庫(kù)之前,需要將語(yǔ)音識(shí)別模塊與Arduino開發(fā)板進(jìn)行連接,并配置串口參數(shù)等相關(guān)信息。接下來(lái),用戶需要下載并安裝Arduino語(yǔ)音識(shí)別庫(kù),將其導(dǎo)入到ArduinoIDE中,然后編寫相應(yīng)的程序ADDINNE.Ref.{CE05F365-4BAB-4022-ACA4-A637860FA886}[17]。在編寫程序時(shí),用戶需要先初始化語(yǔ)音識(shí)別模塊,并設(shè)置相應(yīng)的參數(shù),例如語(yǔ)音指令的識(shí)別模式、音量等級(jí)等。然后,用戶可以使用庫(kù)中提供的函數(shù)和API,監(jiān)聽(tīng)串口數(shù)據(jù)并實(shí)時(shí)處理語(yǔ)音指令。例如,用戶可以使用Serial.available()函數(shù)監(jiān)聽(tīng)串口輸入緩沖區(qū)中是否有數(shù)據(jù),并使用Serial.read()函數(shù)讀取緩沖區(qū)中的數(shù)據(jù)。然后,用戶可以將讀取到的數(shù)據(jù)傳遞給語(yǔ)音識(shí)別庫(kù)中的函數(shù)進(jìn)行識(shí)別和處理。Arduino語(yǔ)音識(shí)別庫(kù)是一種方便快捷的軟件庫(kù),可以幫助Arduino程序員快速實(shí)現(xiàn)語(yǔ)音識(shí)別功能。使用它,開發(fā)人員可以更專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而不需要關(guān)注太多語(yǔ)音識(shí)別的技術(shù)細(xì)節(jié)。2.4本章小結(jié)這一章將詳細(xì)討論語(yǔ)音識(shí)別垃圾箱控制系統(tǒng)的各硬件模塊設(shè)計(jì)。通過(guò)運(yùn)用基礎(chǔ)知識(shí)和實(shí)際操作經(jīng)驗(yàn),我們對(duì)此設(shè)計(jì)的硬件電路制定了具體的要求和實(shí)施步驟。參考各類相關(guān)文獻(xiàn),我們逐步建立了各模塊的結(jié)構(gòu)框架,并最終繪制了原理圖。評(píng)估一個(gè)硬件模塊設(shè)計(jì)的成功不僅取決于各模塊是否獨(dú)立實(shí)現(xiàn)了其功能,更重要的是它們是否能協(xié)同工作,共同完成整個(gè)硬件的功能。完成了硬件設(shè)計(jì)后,我們對(duì)整個(gè)設(shè)計(jì)的架構(gòu)和目標(biāo)有了更明確的理解,為之后的軟件設(shè)計(jì)工作打下了堅(jiān)實(shí)的基礎(chǔ)。3智能垃圾桶系統(tǒng)軟件設(shè)計(jì)3.1程序流程設(shè)計(jì)程序是使許多不同的子模塊連接成一個(gè)整體的搭建,用程序?qū)崿F(xiàn)系統(tǒng)的邏輯控制功能。語(yǔ)言識(shí)別模塊聽(tīng)到語(yǔ)言命令,根據(jù)其內(nèi)容控制輸出電路從而實(shí)現(xiàn)語(yǔ)音識(shí)別垃圾的功能?;贏rduino的智能語(yǔ)音分類垃圾桶系統(tǒng)采用了模塊化設(shè)計(jì)的思想,將整個(gè)系統(tǒng)分為多個(gè)模塊,每個(gè)模塊都有獨(dú)立的功能和任務(wù)。通過(guò)良好的協(xié)作和配合,實(shí)現(xiàn)了系統(tǒng)的高效穩(wěn)定運(yùn)行。本次設(shè)計(jì)用模塊化結(jié)構(gòu),程序由主程序和子程序構(gòu)成。主程序流程圖如圖所示:圖3.1主程序流程圖3.2舵機(jī)子程序設(shè)計(jì)在這個(gè)設(shè)計(jì)中,我們使用Nano的D6/D9/D10/D11端口輸出PWM信號(hào)以控制舵機(jī)的轉(zhuǎn)動(dòng)角度。其工作原理如下:PWM控制信號(hào)由微控制器發(fā)送到舵機(jī)的信號(hào)調(diào)制芯片,得到直流偏壓電壓。芯片內(nèi)部有一個(gè)基準(zhǔn)電路,生成周期為20ms,寬度為0.5ms的基準(zhǔn)信號(hào),并將獲得的直流偏壓電壓與電位器的電壓進(jìn)行比較,得到電壓差輸出。最后,電壓差的正負(fù)決定電機(jī)的正反轉(zhuǎn),通過(guò)級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),當(dāng)電機(jī)轉(zhuǎn)速穩(wěn)定時(shí),電位器旋轉(zhuǎn)使電壓差為0,電機(jī)停止旋轉(zhuǎn),從而達(dá)到驅(qū)動(dòng)垃圾桶蓋開關(guān)的目的。智能垃圾桶實(shí)現(xiàn)開蓋子的動(dòng)作需將舵機(jī)旋轉(zhuǎn)到0°,那么只需要輸出一個(gè)占空比為1.5ms的控制脈沖,開蓋子程序流程圖如圖3.2所示:圖3.2開蓋子序流程智能垃圾桶實(shí)現(xiàn)關(guān)蓋子的動(dòng)作需將舵機(jī)旋轉(zhuǎn)到-90°,那么只需要輸出一個(gè)占空比為0.5ms的控制脈沖,關(guān)蓋子程序流程圖如圖3.3所示:圖3.3關(guān)蓋子序流程3.3語(yǔ)音識(shí)別子程序設(shè)計(jì)模塊可配合微控制單元(MicrocontrollerUnit;MCU)的串口使用,語(yǔ)音模塊識(shí)別語(yǔ)音指令后通過(guò)串口輸出協(xié)議數(shù)據(jù),MCU端串口接收語(yǔ)音模塊串口數(shù)據(jù)后進(jìn)行處理。圖3.1模塊應(yīng)用示例圖HLK-V20上電初始化后,系統(tǒng)開始周期性地讀取數(shù)據(jù)。若未收到數(shù)據(jù),則清楚緩存。若收到數(shù)據(jù)則讀取指令并判斷垃圾類型,依次判斷指令內(nèi)容,若為C4則執(zhí)行有害垃圾開蓋,若否則步進(jìn)1位,若為C5,則廚余垃圾開蓋;依次步進(jìn)一位,以判斷是否為其他垃圾和可回收垃圾,并執(zhí)行開蓋操作。語(yǔ)音識(shí)別流程圖如圖3.4所示:圖3.4語(yǔ)音識(shí)別程序流程圖3.4硬件系統(tǒng)實(shí)現(xiàn)實(shí)現(xiàn)基于Arduino的智能語(yǔ)音分類垃圾桶的硬件系統(tǒng),需要按照以下步驟進(jìn)行:第一步編寫Arduino代碼,實(shí)現(xiàn)語(yǔ)音識(shí)別和控制LED燈的功能??梢允褂肁rduino語(yǔ)音識(shí)別庫(kù)和串口通信庫(kù)來(lái)實(shí)現(xiàn)語(yǔ)音識(shí)別和與PC機(jī)的通信。在識(shí)別到特定的語(yǔ)音指令時(shí),通過(guò)Arduino的數(shù)字輸出引腳控制LED燈的亮滅。第二步連接電路:將Arduino開發(fā)板與HLK-V20語(yǔ)音識(shí)別模塊、LED燈等硬件設(shè)備連接,按照上一步中給出的硬件連接步驟進(jìn)行連接。上傳代碼將編寫好的Arduino代碼上傳到開發(fā)板中。測(cè)試系統(tǒng):連接電源,使用錄制好的語(yǔ)音指令對(duì)系統(tǒng)進(jìn)行測(cè)試??梢酝ㄟ^(guò)串口監(jiān)視器查看Arduino的輸出信息,檢查系統(tǒng)是否能夠正確地識(shí)別語(yǔ)音指令并控制LED燈的亮滅。通過(guò)以上步驟,就可以實(shí)現(xiàn)基于Arduino的智能語(yǔ)音分類垃圾桶的硬件系統(tǒng)。示例代碼如下:#include<EEPROM.h>//EEPROM庫(kù)的頭文件#include<MsTimer2.h>//定時(shí)器庫(kù)的頭文件#include<Servo.h>//舵機(jī)庫(kù)的頭文件#include<SoftwareSerial.h>//串口頭文件//新建一個(gè)softSerial對(duì)象,rx:3,tx:13SoftwareSerialsoftSerial1(3,13);//手動(dòng)開蓋按鈕constintkey_1=19;//垃圾桶開蓋指示constintled_1=5;constintled_2=7;constintled_3=8;constintled_4=12;//定義舵機(jī)Servoservo1;Servoservo2;Servoservo3;Servoservo4;//定義變量unsignedinttime_dj=20;//舵機(jī)工作時(shí)間unsignedinttime_ys=300;//關(guān)蓋延時(shí)時(shí)間unsignedintds1=0;//延時(shí)計(jì)數(shù)器unsignedintds2=0;unsignedintds3=0;unsignedintds4=0;unsignedcharflag_open1=1;//開蓋標(biāo)志unsignedcharflag_open2=1;unsignedcharflag_open3=1;unsignedcharflag_open4=1;booleanflag_sd1=0;//手動(dòng)標(biāo)志booleanflag_sd2=0;booleanflag_sd3=0;booleanflag_sd4=0;booleanflag_yy1=0;//語(yǔ)音標(biāo)志booleanflag_yy2=0;booleanflag_yy3=0;booleanflag_yy4=0;unsignedcharflag_key=3;}voideeprominit(void){unsignedchartest;test=EEPROM.read(20);while(test==0xff);}//主循環(huán)voidloop(){while(softSerial1.available()>0){UART_dat1[bz1]=softSerial1.read();//暫存串口數(shù)據(jù)switch(bz1){case0:if(UART_dat1[bz1]==0x43){bz1=1;}else{if(UART_dat1[bz1]==0x42){bz1=2;}else{bz1=0;}}break;case1://讀命令command1=UART_dat1[bz1]-0x30;bz1=0;break;case2://讀命令bommand=UART_dat1[bz1]-0x30;bz1=0;break;}}if(!digitalRead(key_1)&&flag_key==0){delay(50);//手動(dòng)控制if(!digitalRead(key_1)){flag_key=1;}while(!digitalRead(key_1));}if(!digitalRead(key_1)&&flag_key==1){delay(50);if(!digitalRead(key_1)){flag_key=3.5硬件連接在實(shí)現(xiàn)基于Arduino的智能語(yǔ)音分類垃圾桶時(shí),需要連接多個(gè)硬件設(shè)備,包括Arduino開發(fā)板和HLK-V20語(yǔ)音識(shí)別模塊。硬件連接的步驟如下:將Arduino開發(fā)板與電腦連接,打開ArduinoIDE,選擇合適的開發(fā)板類型和串口號(hào),并上傳一個(gè)簡(jiǎn)單的程序,以驗(yàn)證連接是否成功。將HLK-V20語(yǔ)音識(shí)別模塊連接到Arduino開發(fā)板。需要將模塊的VCC引腳連接到Arduino的5V引腳,GND引腳連接到GND引腳,TXD引腳連接到Arduino的RX引腳,RXD引腳連接到Arduino的TX引腳。給HLK-V20模塊供電??梢允褂靡粋€(gè)9V電池或外部電源模塊來(lái)為模塊供電。連接一個(gè)LED燈到Arduino開發(fā)板上,以模擬控制垃圾桶蓋的開關(guān)。需要將LED的正極連接到Arduino的數(shù)字輸出引腳(例如D2),將負(fù)極連接到GND引腳。完成硬件連接后,使用ArduinoIDE打開示例程序,將其上傳到Arduino開發(fā)板上,并打開串口監(jiān)視器,以驗(yàn)證程序是否能夠正常工作。以上就是實(shí)現(xiàn)基于Arduino的智能語(yǔ)音分類垃圾桶的硬件連接步驟。在連接硬件時(shí)需要注意引腳的對(duì)應(yīng)關(guān)系和電源的供應(yīng)情況,以保證整個(gè)系統(tǒng)能夠正常工作。如圖所示:圖3.5硬件連接前期圖3.6硬件連接后期3.6硬件調(diào)試在實(shí)現(xiàn)基于Arduino的智能語(yǔ)音分類垃圾桶的硬件系統(tǒng)后,還需要進(jìn)行硬件調(diào)試,以確保系統(tǒng)的正常運(yùn)行。以下是一些常見(jiàn)的硬件調(diào)試步驟:電源檢查:首先需要檢查電源是否正常。如果電源不足或不穩(wěn)定,可能會(huì)導(dǎo)致硬件設(shè)備不能正常工作??梢允褂萌f(wàn)用表等工具來(lái)檢查電源的電壓和電流。信號(hào)檢查:接下來(lái)需要檢查信號(hào)是否正常。可以使用示波器等工具來(lái)檢查信號(hào)波形是否正確。如果信號(hào)波形不正確,可能是由于線路連接錯(cuò)誤或設(shè)備損壞等原因?qū)е隆?shù)據(jù)傳輸測(cè)試:如果系統(tǒng)中存在數(shù)據(jù)傳輸,還需要進(jìn)行數(shù)據(jù)傳輸測(cè)試??梢允褂么诒O(jiān)視器等工具來(lái)檢查數(shù)據(jù)傳輸是否正常。如果數(shù)據(jù)傳輸不正常,可能是由于串口通信配置錯(cuò)誤或軟件錯(cuò)誤等原因?qū)е隆Mㄟ^(guò)以上硬件調(diào)試步驟,可以確保系統(tǒng)的正常運(yùn)行,并且解決可能存在的硬件問(wèn)題,使系統(tǒng)更加穩(wěn)定可靠。若系統(tǒng)正常工作,當(dāng)說(shuō)出垃圾的名稱,垃圾桶判斷垃圾分類,隨之會(huì)相應(yīng)的亮起開蓋指示燈并打開垃圾桶蓋。圖3.7硬件功能說(shuō)明3.7軟件調(diào)試在開發(fā)基于Arduino的智能語(yǔ)音分類垃圾桶的軟件時(shí),采用了以下軟件開發(fā)流程,需求分析:分析智能語(yǔ)音分類垃圾桶的功能需求,確定需要實(shí)現(xiàn)的功能。例如,識(shí)別特定的語(yǔ)音指令并執(zhí)行對(duì)應(yīng)的垃圾桶開蓋操作等。設(shè)計(jì)階段:設(shè)計(jì)軟件的結(jié)構(gòu),確定軟件模塊的功能和接口。例如,設(shè)計(jì)語(yǔ)音識(shí)別模塊和控制模塊,確定它們之間的交互方式和數(shù)據(jù)傳輸方式等。編碼階段:根據(jù)軟件設(shè)計(jì)階段的結(jié)果,進(jìn)行編碼工作。例如,編寫語(yǔ)音識(shí)別模塊的代碼,編寫控制模塊的代碼,以及處理兩者之間交互的代碼等。調(diào)試階段:在編碼完成后,進(jìn)行軟件調(diào)試,發(fā)現(xiàn)并解決軟件中存在的錯(cuò)誤。例如,檢查語(yǔ)音識(shí)別模塊是否可以準(zhǔn)確地識(shí)別語(yǔ)音指令,檢查控制模塊是否可以正??刂评暗?。測(cè)試階段:對(duì)整個(gè)軟件系統(tǒng)進(jìn)行測(cè)試,確保系統(tǒng)的功能和性能符合需求。例如,測(cè)試語(yǔ)音識(shí)別模塊和控制模塊之間的交互是否正常,測(cè)試?yán)笆欠窨梢哉_開蓋等。部署階段:將軟件部署到硬件設(shè)備上,進(jìn)行最終測(cè)試和優(yōu)化。例如,將語(yǔ)音識(shí)別模塊和控制模塊燒錄到Arduino開發(fā)板上,進(jìn)行最終的測(cè)試和優(yōu)化等。維護(hù)階段:軟件部署后,需要進(jìn)行維護(hù)工作,包括錯(cuò)誤修復(fù)和性能優(yōu)化等。例如,檢查軟件系統(tǒng)是否存在漏洞或者性能問(wèn)題,及時(shí)修復(fù)和優(yōu)化等。在軟件開發(fā)流程中,需求分析和設(shè)計(jì)階段同樣是非常重要的,因?yàn)檫@兩個(gè)階段的結(jié)果將直接影響后續(xù)的開發(fā)和測(cè)試工作。編碼、調(diào)試、測(cè)試、部署和維護(hù)階段則是具體的實(shí)現(xiàn)過(guò)程,需要花費(fèi)相應(yīng)的時(shí)間和精力進(jìn)行開發(fā)。同時(shí),在進(jìn)行IDE環(huán)境的調(diào)試時(shí),報(bào)錯(cuò)是常有的事情,這需要我們仔細(xì)地尋找并解決問(wèn)題。(1)一種常見(jiàn)的問(wèn)題來(lái)源是標(biāo)點(diǎn)符號(hào)的輸入環(huán)境。有時(shí)候,我們可能在全英文環(huán)境下編程,但卻使用了中文標(biāo)點(diǎn),這會(huì)導(dǎo)致程序報(bào)錯(cuò)。盡管我們反復(fù)檢查代碼,可能都發(fā)現(xiàn)不了錯(cuò)誤,因?yàn)檎Z(yǔ)句本身并沒(méi)有問(wèn)題,只是標(biāo)點(diǎn)符號(hào)的環(huán)境出了問(wèn)題。對(duì)于這類問(wèn)題的解決方法,一種方式是確保在編程時(shí)始終保持同一種語(yǔ)言環(huán)境,例如全英文。對(duì)于中文的注釋,可以先用拼音表示,或者在完成一個(gè)完整的模塊編寫后,再進(jìn)行語(yǔ)言環(huán)境的切換。這樣就可以避免此類錯(cuò)誤的發(fā)生。(2)另一種常見(jiàn)的錯(cuò)誤來(lái)源是數(shù)字和字母的混淆,特別是字母“O”和數(shù)字“0”。由于外觀上的相似,如果我們?cè)诰幊虝r(shí)打字速度過(guò)快,就很容易按錯(cuò)鍵盤。這種錯(cuò)誤往往難以被肉眼發(fā)現(xiàn),只有在調(diào)試環(huán)境下程序報(bào)錯(cuò)時(shí),我們才能察覺(jué)并進(jìn)行修改。在編程過(guò)程中,我們需要對(duì)此保持警惕,盡量避免這種錯(cuò)誤的發(fā)生。3.8本章小結(jié)軟件編程的主體部分是主程序的總體流程設(shè)計(jì),它決定了軟件系統(tǒng)的質(zhì)量和性能。以流程框架的形式呈現(xiàn),使得編程人員對(duì)整個(gè)軟件編寫的條理更為明晰。同時(shí),對(duì)主程序進(jìn)行分析,對(duì)各個(gè)子程序進(jìn)行詳細(xì)的文字描述和解釋,幫助我們?cè)谒季S中形成清晰的編譯路徑。通過(guò)對(duì)軟件系統(tǒng)的分析,我們將復(fù)雜的整體分解為更易處理的部分,這在一定程度上降低了編程的難度,同時(shí)也增強(qiáng)了我們完成這個(gè)系統(tǒng)設(shè)計(jì)的信心。4實(shí)驗(yàn)和結(jié)果分析4.1舵機(jī)模塊測(cè)試要在單片機(jī)系統(tǒng)中實(shí)現(xiàn)對(duì)伺服電機(jī)輸出角度的控制,首先必須完成兩個(gè)任務(wù):一是產(chǎn)生基本的PWM周期信號(hào)。本設(shè)計(jì)的目標(biāo)是產(chǎn)生一個(gè)20ms的周期信號(hào);接下來(lái)是脈寬的調(diào)整,即微控制器模擬PWM信號(hào)的輸出并調(diào)整占空比。當(dāng)系統(tǒng)中只需要控制一臺(tái)伺服電機(jī)時(shí),采用的控制方法是改變單片機(jī)一個(gè)定時(shí)器中斷的初始值,將20ms分為兩個(gè)中斷執(zhí)行時(shí)間,一個(gè)短時(shí)間中斷和一個(gè)長(zhǎng)時(shí)間中斷。這不僅節(jié)省了硬件電路,而且減少了軟件開銷,從而提高了控制系統(tǒng)的效率和控制精度。如圖4.1所示,手動(dòng)開/關(guān)功能正常,四個(gè)按鈕控制相應(yīng)的垃圾桶開/關(guān)。圖4.1舵機(jī)驅(qū)動(dòng)垃圾桶蓋4.2智能環(huán)保垃圾桶控制系統(tǒng)的功能調(diào)試功能演示:將系統(tǒng)連接到5V電源后,系統(tǒng)開始工作,并伴有語(yǔ)音提示:“歡迎來(lái)到分類垃圾桶”。當(dāng)有人扔垃圾時(shí),他們對(duì)著垃圾桶說(shuō):“垃圾桶,玉米”。垃圾桶能自動(dòng)識(shí)別垃圾類型,并伴隨廣播語(yǔ)音:“廚余”和相應(yīng)的指示燈亮,并控制舵機(jī)打開廚余垃圾桶;對(duì)垃圾桶說(shuō):“垃圾桶,報(bào)紙”,垃圾桶就能自動(dòng)識(shí)別類型,廣播聲音:“可回收”和相應(yīng)的指示燈亮,并控制舵機(jī)打開垃圾桶的可回收材料。圖4.2可回收垃圾開蓋圖4.3廚余垃圾開蓋圖4.4其它垃圾開蓋圖4.5有害垃圾開蓋4.1語(yǔ)音識(shí)別及語(yǔ)音播報(bào)測(cè)試在測(cè)試之前,首先需對(duì)日常生活的垃圾進(jìn)行分類,為測(cè)試做數(shù)據(jù)準(zhǔn)備。如圖所示垃圾分類數(shù)據(jù)庫(kù):表4.1垃圾分類數(shù)據(jù)庫(kù)有害垃圾廚余垃圾其它垃圾可回收垃圾油漆桶菜葉衛(wèi)生紙報(bào)紙打火機(jī)小蔥瓦片易拉罐塑料袋西瓜皮一次性筷子瓶子注射器蛋殼盤子舊書溫度計(jì)洋蔥渣土衣服農(nóng)藥瓶香蕉皮磚塊泡沫塑料殺蟲劑骨頭陶瓷刀片測(cè)試腳本主要包括以下測(cè)試用例:垃圾識(shí)別功能測(cè)試:測(cè)試系統(tǒng)是否可以準(zhǔn)確識(shí)別垃圾的名稱。垃圾桶自動(dòng)開合功能測(cè)試:測(cè)試系統(tǒng)是否可以自動(dòng)控制垃圾桶的開合。我們使用測(cè)試結(jié)果來(lái)評(píng)估系統(tǒng)的性能和可靠性,并提出改進(jìn)建議。測(cè)試步驟如下:1.準(zhǔn)備測(cè)試環(huán)境:將測(cè)試環(huán)境搭建好,包括電腦、垃圾桶模型。2.啟動(dòng)系統(tǒng):?jiǎn)?dòng)系統(tǒng),確保系統(tǒng)可以正常運(yùn)行。3.測(cè)試?yán)R(shí)別功能:測(cè)試系統(tǒng)是否可以準(zhǔn)確將不同名稱的垃圾打開相應(yīng)的垃圾蓋。我們將說(shuō)出30次不同類型的垃圾,并記錄每種垃圾的識(shí)別成功率。4.測(cè)試?yán)白詣?dòng)功能:測(cè)試系統(tǒng)是否可以控制垃圾桶的開合。我們將輸出30次控制脈沖,并記錄垃圾桶開合的準(zhǔn)確性。表4.2智能垃圾桶系統(tǒng)測(cè)試結(jié)果垃圾種類投遞次數(shù)識(shí)別成功率開合準(zhǔn)確性有害垃圾廚余垃圾303087%82%87%86%其它垃圾可回收垃圾303085%84%85%86%從測(cè)試過(guò)程種發(fā)現(xiàn)了以下問(wèn)題:用戶未發(fā)出語(yǔ)音指令,舵機(jī)卻開始運(yùn)轉(zhuǎn)當(dāng)用戶在無(wú)意說(shuō)話時(shí)系統(tǒng)就啟動(dòng)了,進(jìn)行不相關(guān)的語(yǔ)音播報(bào)當(dāng)環(huán)境處于嘈雜的狀態(tài)時(shí),垃圾桶識(shí)別成功率低針對(duì)以上問(wèn)題,為提高垃圾桶識(shí)別垃圾成功率,優(yōu)化系統(tǒng)性能,可通過(guò)一下解決方案提高垃圾桶抗干擾能力:采用口令模式,在使用垃圾桶之前先對(duì)垃圾桶呼叫“垃圾桶”,這時(shí)垃圾桶才會(huì)開啟通話進(jìn)行人機(jī)交互設(shè)置好關(guān)鍵詞,如果識(shí)別到“盡量使用普通話語(yǔ)音,說(shuō)話清楚、語(yǔ)速慢些,不說(shuō)未設(shè)定的垃圾名稱,從而干擾系統(tǒng)因?yàn)槔敖?jīng)常在戶外,噪聲大,所以用戶應(yīng)盡量保持可識(shí)別的距離內(nèi),進(jìn)行語(yǔ)音垃圾投放4.4系統(tǒng)性能評(píng)估4.4.1相應(yīng)速度測(cè)試測(cè)試通過(guò)本次實(shí)驗(yàn),我們對(duì)智能垃圾桶系統(tǒng)進(jìn)行了測(cè)試,得到了一系列測(cè)試結(jié)果。根據(jù)測(cè)試結(jié)果,我們可以得出以下結(jié)論:基于單片機(jī)和HLK-V20的智能垃圾桶系統(tǒng)可以實(shí)現(xiàn)垃圾名稱分類、桶蓋開合功能。響應(yīng)速度測(cè)試可以用來(lái)檢測(cè)系統(tǒng)對(duì)語(yǔ)音指令的響應(yīng)速度,下面是簡(jiǎn)單的測(cè)試步驟:打開串口監(jiān)視器,設(shè)置波特率為9600,并輸入指令"OPEN"。此時(shí)應(yīng)該能夠看到系統(tǒng)回復(fù)"Openingthetrashcan"的信息。測(cè)量從語(yǔ)音指令輸入到舵機(jī)開始運(yùn)動(dòng)的時(shí)間間隔,即為系統(tǒng)的響應(yīng)速度??梢允褂糜?jì)時(shí)器或者示波器等工具進(jìn)行測(cè)量。根據(jù)需要進(jìn)行調(diào)整和優(yōu)化,確保系統(tǒng)的響應(yīng)速度在合理范圍內(nèi),并且能夠準(zhǔn)確響應(yīng)用戶的語(yǔ)音指令。在實(shí)驗(yàn)中,我們成功地將Arduino開發(fā)板和HLK-V20語(yǔ)音識(shí)別模塊集成到一起,實(shí)現(xiàn)了基于語(yǔ)音指令控制垃圾桶蓋子開閉的功能。通過(guò)響應(yīng)速度測(cè)試,我們發(fā)現(xiàn)系統(tǒng)能夠快速響應(yīng)用戶的語(yǔ)音指令,平均響應(yīng)時(shí)間約為500ms,能夠滿足實(shí)際使用的要求。在實(shí)際應(yīng)用中,基于語(yǔ)音識(shí)別的智能垃圾桶可以提高垃圾分類的效率和準(zhǔn)確度,同時(shí)也能夠方便老年人和身體不便的人群使用。然而,由于語(yǔ)音識(shí)別技術(shù)的局限性,系統(tǒng)還存在一些缺陷和改進(jìn)的空間。例如,環(huán)境噪聲、口音等因素都可能影響語(yǔ)音識(shí)別的準(zhǔn)確性,需要進(jìn)一步進(jìn)行優(yōu)化和改進(jìn)。4.4.2系統(tǒng)穩(wěn)定性測(cè)試系統(tǒng)穩(wěn)定性測(cè)試是為了檢測(cè)系統(tǒng)的長(zhǎng)時(shí)間穩(wěn)定性和可靠性。在該測(cè)試中,系統(tǒng)會(huì)持續(xù)運(yùn)行一段時(shí)間,觀察系統(tǒng)在運(yùn)行過(guò)程中是否存在問(wèn)題或異常,以及系統(tǒng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省嘉興市2025屆物理高二下期末質(zhì)量跟蹤監(jiān)視試題含解析
- 巢湖市重點(diǎn)中學(xué)2025年物理高二下期末預(yù)測(cè)試題含解析
- 2025年日喀則市重點(diǎn)中學(xué)物理高一下期末質(zhì)量跟蹤監(jiān)視試題含解析
- 2025屆湖南省茶陵縣三中高二物理第二學(xué)期期末考試試題含解析
- 銀行還款憑證管理辦法
- 丹鳳縣防雷減災(zāi)管理辦法
- 2025年人工智能AI芯片項(xiàng)目合作計(jì)劃書
- 成都商鋪?zhàn)赓U合同規(guī)范文本(含稅費(fèi)、裝修及家具)
- 2025年非油炸食品項(xiàng)目發(fā)展計(jì)劃
- 運(yùn)動(dòng)會(huì)消防培訓(xùn)課件模板
- 預(yù)防艾滋病、梅毒和乙肝母嬰傳播相關(guān)報(bào)表、上報(bào)流程和要求
- 《鐵路技術(shù)管理規(guī)程》(普速鐵路部分)-14年新版
- 食用油儲(chǔ)存期品質(zhì)變化的太赫茲光譜無(wú)損識(shí)別
- 胎盤早剝預(yù)案演練腳本
- 五山文學(xué)全集第一卷
- 聚磷腈功能高分子材料的合成及應(yīng)用
- 中國(guó)鐵路總公司《鐵路技術(shù)管理規(guī)程》(高速鐵路部分)2014年7月
- 鈣加維生素Dppt課件(PPT 14頁(yè))
- TRD深基坑止水帷幕施工方案(22頁(yè))
- 八少八素初試甄別試題
- 企業(yè)組織架構(gòu)圖模板
評(píng)論
0/150
提交評(píng)論