曾新紅,謝超強(qiáng),李維堅(jiān)
(廣州航海學(xué)院電氣工程系,廣州 510725)
我國提倡垃圾分類,建立了資源垃圾分類回收系統(tǒng)。上海于2019年7月1日正式實(shí)施了垃圾分類,但還有很多人沒有垃圾分類的概念,分不清楚干、濕垃圾。垃圾分類是實(shí)現(xiàn)綠色環(huán)保、可持續(xù)發(fā)展的重要途徑,基于這種情況,設(shè)計(jì)了一款基于語音識(shí)別的智能分類垃圾桶。該設(shè)計(jì)利用STC11L08XE單片機(jī),結(jié)合高性能語音LD3320語音識(shí)別模塊[1]、舵機(jī)等,能夠根據(jù)人們的語音提示,自動(dòng)開合相應(yīng)的垃圾桶蓋,實(shí)現(xiàn)了智能垃圾分類。
該系統(tǒng)主要由電源、USB轉(zhuǎn)TTL模塊、單片機(jī)、語音識(shí)別模塊和舵機(jī)組成。以單片機(jī)為核心,結(jié)合語音識(shí)別模塊,識(shí)別人們所說的垃圾處理方式的關(guān)鍵詞指令,根據(jù)相應(yīng)的語音口令來控制相應(yīng)垃圾桶上的舵機(jī),實(shí)現(xiàn)垃圾桶蓋自動(dòng)開合,從而滿足只需通過語音操控而無須接觸垃圾桶就可實(shí)現(xiàn)垃圾分類的要求[1]。該設(shè)計(jì)系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 System structure drawing
USB轉(zhuǎn)TTL模塊是把電平轉(zhuǎn)換到雙方可識(shí)別的信號(hào)再進(jìn)行通信[2]。由于電腦和單片機(jī)通信接口的電平邏輯不一樣,本設(shè)計(jì)需要通過該模塊把USB口的輸出轉(zhuǎn)為單片機(jī)可識(shí)別的電平。
使用的單片機(jī)型號(hào)為STC11L08XE,單片機(jī)基本參數(shù)如下:晶振22.118 4 MHz;波特率9 600 bit/S;工作電壓3.6~2.4 V/2.1 V (3 V 單片機(jī));工作頻率范圍0~35 MHz,相當(dāng)于8051的0~420 MHz。利用單片機(jī)的P 2口作為PWM脈沖輸出口,P 2口引腳功能分配如表1。
表1 P 2口引腳分配Fig.1 P2 pin distribution
目前,語音識(shí)別所采用的方法多為模板匹配法[3]。由于聲音的多樣性,想要語音識(shí)別模塊精確得到正確的識(shí)別結(jié)果,要對很多聲音和詞語文本進(jìn)行采集,存到模塊數(shù)據(jù)庫中,建造聲學(xué)模型和語言詞典模型,對模塊進(jìn)行事先訓(xùn)練。當(dāng)有聲音信號(hào)產(chǎn)生時(shí),模塊會(huì)對聲音信號(hào)進(jìn)行接收并分析,通過時(shí)域分析或頻域分析后提取聲音信號(hào)的特征,與聲學(xué)模型和語言詞典模型進(jìn)行匹配,匹配成功后輸出識(shí)別結(jié)果。
使用的語音識(shí)別芯片為LD3320芯片,它是一款不需外接存儲(chǔ)器等輔助器件即可實(shí)現(xiàn)語音識(shí)別、人機(jī)對話、聲控等功能的芯片[4]。
舵機(jī)是帶有位置伺服驅(qū)動(dòng)器的小型電機(jī),它的轉(zhuǎn)動(dòng)角度多為0°~180°,轉(zhuǎn)動(dòng)角度取決于控制信號(hào)的PWM信號(hào)脈沖寬度[3],多用于需要角度能夠靈活變化且能保持的控制系統(tǒng)。本設(shè)計(jì)使用的是SG90型舵機(jī)。
系統(tǒng)通電后,進(jìn)行各個(gè)模塊的初始化操作。語音識(shí)別模塊進(jìn)入一級口令識(shí)別模式,若一級口令識(shí)別成功,則進(jìn)入二級口令匹配狀態(tài),即進(jìn)入環(huán)境輸入語音與系統(tǒng)中已設(shè)定好的關(guān)鍵詞語拼音列表配對模式,配對成功后將進(jìn)行對應(yīng)語句的控制操作,驅(qū)動(dòng)相應(yīng)的舵機(jī)動(dòng)作,達(dá)到用戶設(shè)置好的延遲時(shí)間后,舵機(jī)復(fù)位,環(huán)境輸入語音與已定關(guān)鍵詞語拼音列表配對模式結(jié)束,回到口令識(shí)別模式進(jìn)行待機(jī)。流程如圖2所示。
圖2 系統(tǒng)軟件設(shè)計(jì)流程圖Fig.2 Flow chart of system software design
該設(shè)計(jì)的主程序先對語音識(shí)別模塊和舵機(jī)進(jìn)行初始化,令口令模式進(jìn)入死循環(huán)等待觸發(fā),觸發(fā)成功即進(jìn)行相應(yīng)口令匹配和舵機(jī)控制,動(dòng)作完成回到死循環(huán)狀態(tài),等待下一次觸發(fā)。
為了較好地實(shí)現(xiàn)垃圾準(zhǔn)確分類,該設(shè)計(jì)使用了兩級口令模式。設(shè)計(jì)的一級口令“健康生活”為喚醒功能,二級匹配口令控制分類垃圾桶開蓋功能,對于日常生活中各種垃圾的名稱(即所扔垃圾的名字,如蘋果,紙巾,塑料袋等),模塊將自動(dòng)識(shí)別口令并與已經(jīng)輸入的關(guān)鍵詞進(jìn)行匹配,匹配成功就會(huì)觸發(fā)對舵機(jī)的操作,相應(yīng)分類垃圾桶蓋便會(huì)自動(dòng)打開。為了防止語音干擾,匹配準(zhǔn)確,還需要設(shè)置一些防干擾詞語,避免相似詞語互相干擾而造成輸出錯(cuò)誤的情況,確保準(zhǔn)確率。
由于該設(shè)計(jì)需要控制4個(gè)舵機(jī),每個(gè)舵機(jī)都需要連接一個(gè)5 V電壓電源,而模塊只有一個(gè)5 V電源接口??紤]到4個(gè)舵機(jī)常為單獨(dú)動(dòng)作,可用一個(gè)電源,并聯(lián)4個(gè)接口,有足夠功率驅(qū)動(dòng)。將5 V電源口和GND口進(jìn)行焊接,并聯(lián)出多個(gè)5 V電源接口,如圖3所示。
圖3 集成模塊焊接正面圖Fig.3 Front view of integrated module welding
要考慮舵機(jī)和垃圾桶之間的連接達(dá)到最佳效果,一是需要考慮角度吻合,二是需要將舵機(jī)固定在垃圾桶旁且不顯得累贅。經(jīng)研究將舵機(jī)安放在垃圾桶的內(nèi)左側(cè)較合適,并在左側(cè)開了小孔讓線路穿出來,背后也開了小孔便于用繩索固定舵機(jī),再用繩索將垃圾桶蓋與舵機(jī)工作手臂相連。經(jīng)多次調(diào)試后,確定將舵機(jī)轉(zhuǎn)動(dòng)角度設(shè)為180度的效果最佳。舵機(jī)與垃圾桶蓋連接圖如圖4所示。
圖4 舵機(jī)與垃圾桶蓋連接外部圖Fig.4 External drawing of steering gear and trash can cover connection
該系統(tǒng)中用到4個(gè)垃圾桶,需要4臺(tái)舵機(jī)控制,效果大致相同,軟件調(diào)試從一臺(tái)舵機(jī)調(diào)試開始,再進(jìn)行4臺(tái)舵機(jī)的編寫調(diào)試。采用延時(shí)函數(shù)來輸出PWM信號(hào)到IO口控制舵機(jī)。為防止舵機(jī)隨意轉(zhuǎn)動(dòng),需預(yù)先給舵機(jī)的轉(zhuǎn)矩設(shè)定一個(gè)初始角度。使用的單片機(jī)的晶振是22.118 4 MHz,所寫的延時(shí)函數(shù)應(yīng)與之匹配。將舵機(jī)程序插入語音識(shí)別模塊主程序中,將舵機(jī)轉(zhuǎn)矩位置初始化程序放在口令識(shí)別循環(huán)中的首行位置,可達(dá)到較佳效果。單臺(tái)舵機(jī)調(diào)試完成后,再將4臺(tái)舵機(jī)控制程序插入到主程序中,達(dá)到了理想的結(jié)果。語音識(shí)別智能分類垃圾桶設(shè)計(jì)成品如圖5所示。
圖5 語音識(shí)別智能分類垃圾桶成品圖Fig.5 Finished trash cans of speech recognition of intelligent classification
系統(tǒng)經(jīng)過調(diào)試,該垃圾桶組能準(zhǔn)確實(shí)現(xiàn)垃圾分類。此款智能分類垃圾桶的設(shè)計(jì)為人們自覺進(jìn)行垃圾分類提供了極大的便利,在日常生活中有一定的實(shí)用性。