遼寧工程技術大學軟件學院 張家欣 許樹華 姜彥吉
為滿足人們對智能生活的需求,各種智能化家居產品已經漸漸走我們的生活。垃圾桶作為生活中不可或缺的一部分,應用廣泛。市面上的垃圾桶分兩類:無蓋垃圾桶和有蓋垃圾桶,無蓋垃圾桶雖然方便,但很難避免氣味散發;有蓋垃圾桶在扔垃圾時需要手動打來蓋子,很容易沾染上臟東西和細菌,不衛生也不方便。[1]-[2]
鑒于上述情況,本系統通過單片機控制電機,并將語音識別技術結合應用到垃圾桶控制中,用戶可以通過語音指令“打開”“關閉”控制垃圾桶蓋,不需要觸碰,更加衛生方便;同時,利用壓力傳感器,設定單片機采集值,設定垃圾桶提醒用戶及時倒垃圾,具有較好的實用性。
語音是一種具有時變性和非穩定特性的模擬信號[3],依據對說話人說話形式的要求,可分為孤立字 (詞) 、連接詞和連續語音識別系統;根據對說話人的依賴程度,可分為特定人和非特定人語音識別系統;根據詞匯量的大小,可分為小詞匯量、中等詞匯量、大詞匯量以及無限詞匯量語音識別系統[4]。本文將采用非特定人語音識別系統來實現智能聲控垃圾桶的設計。
系統硬件架構包括主控芯片STC12C5A60S2,語音識別模塊、電機模塊、壓力傳感器模塊、LED小燈,咪頭。用戶發出的語音命令通過咪頭接收,語音識別模塊對通過咪頭傳來的指令進行識別,主控芯片接收并分析語音識別芯片的處理結果同時驅動電機,完成桶蓋的開啟關閉工作。壓力傳感器采集壓力數值,單片機將采集值與設定值對比,持續大于設定值時間超過24小時點亮LED小燈,作為用戶清理垃圾的提醒。硬件系統架構設計圖如圖1所示。

圖1 系統硬件總體結構圖
主控芯片采用宏晶科技的STC12C5A60S2單片機,片上具有8kbyte在系統可編Flash存儲器,Flash允許程序存儲器在系統可編程的同時也適用于常規編程器[5];寫入單片機的程序還可以進行加密,具有安全、操作簡單、方便等優點。STC12C5A60S2單片機引腳圖如圖2所示。

圖2 STC12C5A60S2單片機引腳圖
TMS320C5416是TI公司的DSP處理器,芯片運算速度快,可以達到30MIPS-532MIPS;具有優化的CPU結構;功耗低;智能外設,除了標準的串行口和時分復用串行口外,還提供自動換長虹串行口和與外部處理器通信的HPI接口[6]。TMS320C5416結構框圖如圖3所示。

圖3 TMS320C5416結構框圖
電機模塊的作用是控制垃圾桶蓋的開啟和關閉。當用戶發出“打開”的語音請求時,單片機對語音信號進行識別處理,繼而通過電機正轉實現打開垃圾桶的要求, STOP1閉合,電機正轉停止;當用戶發出“關閉”的語音請求時,通過電機的反轉實現要求,STOP2閉合,電機反轉停止[7]。本系統采用L298N電機,電機電路和限位開關電路如圖4(a)(b)所示。

圖4(a) L298N電機電路

圖4(b) 限位開關電路
考慮到成本和性能以及實現功能,壓力采集模塊采用的是YZC-133壓力傳感器,YZC-133為一款高精度傳感器, 精度達1g,合金鋼材料,防水、防油、防腐蝕,可適用于各種環境;S型梁結構設計,給安裝和使帶來了很大的便利;同時,還具有有響應速度快、抗干擾性強等優點。YZC-133壓力傳感器通過串口連接STC12C5A60S2單片機來完成壓力采集工作。
軟件設計的編程語言使用C語言,面向DSP的C語言程序設計有它自身的特點,它主要面向實時處理的程序設計,有效、使用、簡潔[8]。
系統集成開發環境采用CCS。CCS是由TI公司提供的一個將代碼調試工具和代碼生成工具集成于一體的DSP集成開發環境,用戶可以通過CCS平臺結合仿真器等硬件調試工具對硬件進行調試、程序仿真和開發。[9]CCS支持C語言編寫的程序調試和開發。
基于STC12C5A60S2的智能語音識別垃圾桶系統程序主要分為語音識別、電機控制、提醒模塊部分。系統程序主流程圖如圖5所示。

圖5 系統主流程圖
系統選用TMS320C5416芯片作為語音識別芯片,芯片對用戶發出的語音信號進行特征提取、分析和語音識別,最后將結果輸出[10]。語音識別模塊流程圖如圖6所示。

圖6 語音識別模塊流程圖

圖7 提醒模塊流程圖
電機控制模塊用來實現垃圾桶相關控制動作,單片機通過分析從串口傳入的語音識別芯片處理結果字符串實現開關垃圾桶蓋控制動作。將啟動函數的形式參數 的類型從 unsigned long 改為了 signed long,我們用有符號數固有的正負特性來區分正轉與反轉。針對終止電機轉動的操作,我們定義了一個單獨的 StopMotor 函數來完成。
在日常工作中,人們常常會因為工作忙等原因忘記倒垃圾,垃圾便會散發出難聞的氣味,給人們帶來衛生隱患。提醒模塊的作用正是及時提醒用戶倒垃圾,防止上述情況的發生。
STC12C5A60S2單片機利用串口接收來自桶底YZC-133壓力傳感器的壓力值檢測值,設定壓力閾值為10g,當壓力傳感器檢測壓力數值大于等于10g并且持續時間大于等于24小時,系統將會認為用戶已經超過24小時沒有清理垃圾桶內的垃圾,此時做出提醒,點亮LED小燈。提醒模塊程序流程圖如圖7所示。
為更好地實現系統功能和達到更好的語音識別效果和提醒效果,測試選擇了5個不同音色的人進行測試,每個指令每個音色的人測試200次,部分測試結果見表1。

表1 語音測試結果
由表1可見,該系統對于非特定人語音識別準確率為93.84%,準確度較高。
本文設計的基于STC12C5A60S2單片機的非特定人識別智能聲控垃圾桶,以TMS320C5416做為語音識別模塊,系統識別率高,實現了垃圾桶可以根據用戶“命令”開啟或關閉桶蓋功能,并利用壓力傳感器采集數值,實現對用戶及時清理垃圾的提醒。硬件選型合理,功能設計較為完善,使用方便智能,具有較好的應用價值。
[1]何侃.基于LD3320語音識別智能垃圾桶設計[J].中國科技核心期刊,2015,3(6)∶85.
[2]范馨予.基于SPCE061A的智能垃圾桶設計[J].電子世界,2017(17)∶113.
[3]高雪.語音識別技術在人機交互中的應用研究[D].北方工業大學,2011.
[4]禹琳琳.語音識別技術及應用綜述[J].現代電子技術,2013,36(13)∶44.
[5]余熾業.基于STC12C5A60S2的智能循跡小車[J].實驗室研究與探究,2014,33(11)∶47.
[6]申若虹.基于TMS320C5416的DSP系統設計研究[J].機械工程與自動化,2010(04)∶173.
[7]張慶芳.基于語音識別的垃圾桶設計[J].電腦知識與技術,2017(19)∶142.
[8]張勇.C/C++語言硬件程序設計——基于TMS320C5000系列DSP[M].西安∶西安電子科技大學出版社,2003∶12.
[9]徐巖,王春麗.語音信號增強技術及其應用[M].科學出版社有限責任公司∶科學出版社有限責任公司,2014∶293-295.
[10]劉培.基于DSP的G.729語音編解碼算法研究及實現[D].天津大學,2008.