遼寧工程技術(shù)大學(xué)軟件學(xué)院 張家欣 許樹華 姜彥吉
為滿足人們對智能生活的需求,各種智能化家居產(chǎn)品已經(jīng)漸漸走我們的生活。垃圾桶作為生活中不可或缺的一部分,應(yīng)用廣泛。市面上的垃圾桶分兩類:無蓋垃圾桶和有蓋垃圾桶,無蓋垃圾桶雖然方便,但很難避免氣味散發(fā);有蓋垃圾桶在扔垃圾時需要手動打來蓋子,很容易沾染上臟東西和細(xì)菌,不衛(wèi)生也不方便。[1]-[2]
鑒于上述情況,本系統(tǒng)通過單片機(jī)控制電機(jī),并將語音識別技術(shù)結(jié)合應(yīng)用到垃圾桶控制中,用戶可以通過語音指令“打開”“關(guān)閉”控制垃圾桶蓋,不需要觸碰,更加衛(wèi)生方便;同時,利用壓力傳感器,設(shè)定單片機(jī)采集值,設(shè)定垃圾桶提醒用戶及時倒垃圾,具有較好的實用性。
語音是一種具有時變性和非穩(wěn)定特性的模擬信號[3],依據(jù)對說話人說話形式的要求,可分為孤立字 (詞) 、連接詞和連續(xù)語音識別系統(tǒng);根據(jù)對說話人的依賴程度,可分為特定人和非特定人語音識別系統(tǒng);根據(jù)詞匯量的大小,可分為小詞匯量、中等詞匯量、大詞匯量以及無限詞匯量語音識別系統(tǒng)[4]。本文將采用非特定人語音識別系統(tǒng)來實現(xiàn)智能聲控垃圾桶的設(shè)計。
系統(tǒng)硬件架構(gòu)包括主控芯片STC12C5A60S2,語音識別模塊、電機(jī)模塊、壓力傳感器模塊、LED小燈,咪頭。用戶發(fā)出的語音命令通過咪頭接收,語音識別模塊對通過咪頭傳來的指令進(jìn)行識別,主控芯片接收并分析語音識別芯片的處理結(jié)果同時驅(qū)動電機(jī),完成桶蓋的開啟關(guān)閉工作。壓力傳感器采集壓力數(shù)值,單片機(jī)將采集值與設(shè)定值對比,持續(xù)大于設(shè)定值時間超過24小時點亮LED小燈,作為用戶清理垃圾的提醒。硬件系統(tǒng)架構(gòu)設(shè)計圖如圖1所示。
圖1 系統(tǒng)硬件總體結(jié)構(gòu)圖
主控芯片采用宏晶科技的STC12C5A60S2單片機(jī),片上具有8kbyte在系統(tǒng)可編Flash存儲器,F(xiàn)lash允許程序存儲器在系統(tǒng)可編程的同時也適用于常規(guī)編程器[5];寫入單片機(jī)的程序還可以進(jìn)行加密,具有安全、操作簡單、方便等優(yōu)點。STC12C5A60S2單片機(jī)引腳圖如圖2所示。
圖2 STC12C5A60S2單片機(jī)引腳圖
TMS320C5416是TI公司的DSP處理器,芯片運算速度快,可以達(dá)到30MIPS-532MIPS;具有優(yōu)化的CPU結(jié)構(gòu);功耗低;智能外設(shè),除了標(biāo)準(zhǔn)的串行口和時分復(fù)用串行口外,還提供自動換長虹串行口和與外部處理器通信的HPI接口[6]。TMS320C5416結(jié)構(gòu)框圖如圖3所示。
圖3 TMS320C5416結(jié)構(gòu)框圖
電機(jī)模塊的作用是控制垃圾桶蓋的開啟和關(guān)閉。當(dāng)用戶發(fā)出“打開”的語音請求時,單片機(jī)對語音信號進(jìn)行識別處理,繼而通過電機(jī)正轉(zhuǎn)實現(xiàn)打開垃圾桶的要求, STOP1閉合,電機(jī)正轉(zhuǎn)停止;當(dāng)用戶發(fā)出“關(guān)閉”的語音請求時,通過電機(jī)的反轉(zhuǎn)實現(xiàn)要求,STOP2閉合,電機(jī)反轉(zhuǎn)停止[7]。本系統(tǒng)采用L298N電機(jī),電機(jī)電路和限位開關(guān)電路如圖4(a)(b)所示。
圖4(a) L298N電機(jī)電路
圖4(b) 限位開關(guān)電路
考慮到成本和性能以及實現(xiàn)功能,壓力采集模塊采用的是YZC-133壓力傳感器,YZC-133為一款高精度傳感器, 精度達(dá)1g,合金鋼材料,防水、防油、防腐蝕,可適用于各種環(huán)境;S型梁結(jié)構(gòu)設(shè)計,給安裝和使帶來了很大的便利;同時,還具有有響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點。YZC-133壓力傳感器通過串口連接STC12C5A60S2單片機(jī)來完成壓力采集工作。
軟件設(shè)計的編程語言使用C語言,面向DSP的C語言程序設(shè)計有它自身的特點,它主要面向?qū)崟r處理的程序設(shè)計,有效、使用、簡潔[8]。
系統(tǒng)集成開發(fā)環(huán)境采用CCS。CCS是由TI公司提供的一個將代碼調(diào)試工具和代碼生成工具集成于一體的DSP集成開發(fā)環(huán)境,用戶可以通過CCS平臺結(jié)合仿真器等硬件調(diào)試工具對硬件進(jìn)行調(diào)試、程序仿真和開發(fā)。[9]CCS支持C語言編寫的程序調(diào)試和開發(fā)。
基于STC12C5A60S2的智能語音識別垃圾桶系統(tǒng)程序主要分為語音識別、電機(jī)控制、提醒模塊部分。系統(tǒng)程序主流程圖如圖5所示。
圖5 系統(tǒng)主流程圖
系統(tǒng)選用TMS320C5416芯片作為語音識別芯片,芯片對用戶發(fā)出的語音信號進(jìn)行特征提取、分析和語音識別,最后將結(jié)果輸出[10]。語音識別模塊流程圖如圖6所示。
圖6 語音識別模塊流程圖
圖7 提醒模塊流程圖
電機(jī)控制模塊用來實現(xiàn)垃圾桶相關(guān)控制動作,單片機(jī)通過分析從串口傳入的語音識別芯片處理結(jié)果字符串實現(xiàn)開關(guān)垃圾桶蓋控制動作。將啟動函數(shù)的形式參數(shù) 的類型從 unsigned long 改為了 signed long,我們用有符號數(shù)固有的正負(fù)特性來區(qū)分正轉(zhuǎn)與反轉(zhuǎn)。針對終止電機(jī)轉(zhuǎn)動的操作,我們定義了一個單獨的 StopMotor 函數(shù)來完成。
在日常工作中,人們常常會因為工作忙等原因忘記倒垃圾,垃圾便會散發(fā)出難聞的氣味,給人們帶來衛(wèi)生隱患。提醒模塊的作用正是及時提醒用戶倒垃圾,防止上述情況的發(fā)生。
STC12C5A60S2單片機(jī)利用串口接收來自桶底YZC-133壓力傳感器的壓力值檢測值,設(shè)定壓力閾值為10g,當(dāng)壓力傳感器檢測壓力數(shù)值大于等于10g并且持續(xù)時間大于等于24小時,系統(tǒng)將會認(rèn)為用戶已經(jīng)超過24小時沒有清理垃圾桶內(nèi)的垃圾,此時做出提醒,點亮LED小燈。提醒模塊程序流程圖如圖7所示。
為更好地實現(xiàn)系統(tǒng)功能和達(dá)到更好的語音識別效果和提醒效果,測試選擇了5個不同音色的人進(jìn)行測試,每個指令每個音色的人測試200次,部分測試結(jié)果見表1。
表1 語音測試結(jié)果
由表1可見,該系統(tǒng)對于非特定人語音識別準(zhǔn)確率為93.84%,準(zhǔn)確度較高。
本文設(shè)計的基于STC12C5A60S2單片機(jī)的非特定人識別智能聲控垃圾桶,以TMS320C5416做為語音識別模塊,系統(tǒng)識別率高,實現(xiàn)了垃圾桶可以根據(jù)用戶“命令”開啟或關(guān)閉桶蓋功能,并利用壓力傳感器采集數(shù)值,實現(xiàn)對用戶及時清理垃圾的提醒。硬件選型合理,功能設(shè)計較為完善,使用方便智能,具有較好的應(yīng)用價值。
[1]何侃.基于LD3320語音識別智能垃圾桶設(shè)計[J].中國科技核心期刊,2015,3(6)∶85.
[2]范馨予.基于SPCE061A的智能垃圾桶設(shè)計[J].電子世界,2017(17)∶113.
[3]高雪.語音識別技術(shù)在人機(jī)交互中的應(yīng)用研究[D].北方工業(yè)大學(xué),2011.
[4]禹琳琳.語音識別技術(shù)及應(yīng)用綜述[J].現(xiàn)代電子技術(shù),2013,36(13)∶44.
[5]余熾業(yè).基于STC12C5A60S2的智能循跡小車[J].實驗室研究與探究,2014,33(11)∶47.
[6]申若虹.基于TMS320C5416的DSP系統(tǒng)設(shè)計研究[J].機(jī)械工程與自動化,2010(04)∶173.
[7]張慶芳.基于語音識別的垃圾桶設(shè)計[J].電腦知識與技術(shù),2017(19)∶142.
[8]張勇.C/C++語言硬件程序設(shè)計——基于TMS320C5000系列DSP[M].西安∶西安電子科技大學(xué)出版社,2003∶12.
[9]徐巖,王春麗.語音信號增強(qiáng)技術(shù)及其應(yīng)用[M].科學(xué)出版社有限責(zé)任公司∶科學(xué)出版社有限責(zé)任公司,2014∶293-295.
[10]劉培.基于DSP的G.729語音編解碼算法研究及實現(xiàn)[D].天津大學(xué),2008.