沈陽城市建設學院信息與控制工程系 孫寶潔 劉 偉 魏惠芳 王志鵬 張馨文
垃圾分類投放也越來越成為人們生活中的一部分,實行垃圾分類也越來越受人們的關注。基于這些因素進行語音控制垃圾分類的智能垃圾桶設計,本次設計的主要是利用STM32單片機以及以LD3320語音識別模塊為核心來設計。垃圾桶會通過步進電機自動對該垃圾進行分類并自動地開合相應的桶蓋,并且通過語音播報模塊來告訴人們該垃圾是屬于哪種類型的垃圾。通過研究實現系統功能設計,避免了人們扔垃圾需要接觸垃圾桶時細菌的傳播,確實方便了人們在日常生活中對不同垃圾的準確分類。
隨著大量垃圾的產生,垃圾的組成也越來越復雜,垃圾污染問題也越來越嚴重,垃圾如何處理已成為人們面臨的一個嚴重問題。垃圾場存在著多種病毒、細菌、支原體等病菌,危害人的健康,誘發疾病的產生。特別是人們使用過后的舊電池,因為電池中含有多種重金屬物質,比如電池中所含的鉛會造成人的神經素亂,更可怕的是舊電池中如果不加以集中處理,使其自生自滅更會使人致癌。
實行垃圾分類越來越受到廣大人民的關注,垃圾分類投放在全國各個城市也越來越普及開來。
自動翻閉蓋的垃圾桶:該垃圾桶通過紅外線檢測裝置,來判定是否有人接近垃圾桶,當紅外線裝置檢測到有人或者物體接觸時,該垃圾桶會自動地打開桶蓋,當檢測不到有人或者物體接近時,該垃圾桶在一定的時間延遲后會自動地關閉桶蓋。同時沒電的時候也可以進行手動操作,性能相對比較可靠。
智能感應垃圾桶:它的追蹤系統可以利用智能手機捕捉路人的行為數據。通過判定路人的智能手機與垃圾桶的距離,路過垃圾桶的路人速度,行走的方向和手機的品牌等信息來分析路人特征,根據經過的路人不同,垃圾桶自帶的大屏幕上播放的廣告也會做出相應的變化,實現了垃圾桶的電氣化、自動化。不過由于售價相對較高,對于地方的推廣還存在有一定難度。
通過對目前市場常見的智能垃圾桶的分析,該智能垃圾桶的設計應包含以下功能:(1)應具備語音識別功能,對接收到的語音進行分析處理,然后確定該垃圾屬于哪種類型的垃圾;(2)自動開合垃圾桶蓋功能,根據人們日常生活習慣,設置適當的間隔時間來自動關閉桶蓋。
該智能垃圾桶的主要功能包括:當人們要扔垃圾時首先語音喚醒智能垃圾桶,垃圾桶被喚醒后會通過語音播報模塊發出聲音提示,然后人們只需要對著垃圾桶說出要扔垃圾的名字,垃圾桶會再次通過語音播報模塊來播報該垃圾屬于哪種類型的垃圾,在播報的同時打開相對應的垃圾桶蓋來讓人們進行垃圾的投遞工作。垃圾桶蓋開啟后,將會在一定的時間延遲內自動關閉。通過上述功能的實現,用戶就可以方便地對垃圾進行正確的分類投放。
該系統設計主要包括三大部分:主控芯片STM32,LD3320語音數據采集部分,以及驅動部分。本設計以LD3320語音識別模塊為核心原件,以STM32為載體,以SG90舵機來模擬垃圾桶蓋的開閉。本設計采用C語言來對該系統進行編輯與開發。為了更加高效地完成任務,利用模塊化的設計思想,把任務分割成若干個相互獨立的模塊,但是各個模塊相互之間又存在著聯系。在軟件設計中運用模塊化框架結構的程序設計,可使整個系統看起來更加的流暢。進而設計形成一個語音智能垃圾桶系統。系統的結構圖如圖1所示。

圖1 系統結構圖
首先系統先從外部接收一個語音信號,該語音信號被系統接收后,系統會對該語音信號進行一些相關處理,并在預先編輯好的語音庫中尋找一個最佳的匹配結果,最后將該語音信號處理的結果發送到主控芯片STM32F103中。主控芯片接收到語音處理結果后,對處理結果進行分析,然后控制驅動部分即SG90舵機來模擬完成垃圾桶開蓋、關蓋等動作,同時也會通過語音播報模塊來播報當前所扔的垃圾屬于哪種類型的垃圾,方便人們對垃圾分類的認識。
LD3320語音識別模塊在開始工作時,不需要進行預先的訓練和錄音,對于語音識別具有較高的準確率,LD3320芯片能夠在沒有任何外接輔助芯片的情景下直接對接收的語音進行識別處理。LD3320芯片的設計和生產商時IC Route公司,該公司生產的LD3320芯片被用戶常用于語音識別的場景。該芯片的語音識別功能得到大家的認可。該模塊提供了貼片,既可以通過貼片方式作為客戶設計的電路板中的一部分,也可以單獨地作為一個普通模塊使用。極小的體積,十分方便嵌入到各種產品中,性價比很高。模塊自帶一顆MCU,用于處理底層驅動和生成通信格式,用戶無須為復雜的底層驅動、傳感器感應計算、校準等工作而煩惱。只要是具有串口功能的MCU,如STM32、STC15、Arduino、MSP430等單片機,都可以通過解析簡單的數據幀,獲取識別結果。
LD3320語音識別模塊工作流程圖如圖2所示。

圖2 語音模塊工作流程
采用JQ8400芯片作為該系統的語音播報模塊,同時在JQ8400芯片的基礎上外接了一個揚聲器裝置。JQ8400語音播報模塊采用的是SOC解決方案,該芯片的尺寸較小,但是小尺寸不僅不影響該芯片與其他產品的嵌入,反而使該芯片與其他產品的嵌入更加靈活方便。同時,該芯片自身具有音頻解碼的功能,可以對接收到的音頻文件進行一系列的解碼處理,對于解碼后的音頻還可以很大地保證音質,從而按照人們想要的方式進行音頻輸出,該系統同樣具有較高的穩定性。
SG90舵機屬于一個模擬舵機。模擬舵機特點是舵機本身需要不斷地接收PWM信號,并根據此信號來控制舵機角度的旋轉。由于舵機工作時所接收的信號是一個PWM方波信號,因此模擬舵機需要不停地接收某個方波信號,該接收的方波信號始終是同一個方波。此外,舵機的旋轉是通過舵機內部的產生的電壓差來控制的,舵機的內部本身就有一個參考電壓,當舵機接收PWM信號后會產生一個偏置電壓,該偏執電壓與舵機內部本身的參考電壓對比將會形成一個電壓差,當有舵機內部電壓差產生時,舵機才會開始旋轉。當舵機開始轉動時,舵機內部形成的電壓差將會隨之減少,直至舵機內部的電壓差變為零為止,舵機才會結束旋轉動作。脈沖寬調制只有高電平(1),以及低電平(0),兩種I/O口狀態,于是,通過控制微處理器輸出1-0-1-0-1-0-1-0……如此循環往復。舵機的工作狀態如圖3所示。

圖3 PWM脈沖寬度與舵機轉動角度的關系
本系統主要采用語音識別技術,通過語音識別對處理分類垃圾,并打開相對應垃圾種類的垃圾桶,本設計設置兩種垃圾桶工作模式:①待機模式(通電后未被使用采取低功耗模式);②工作模式(通過特定語音喚醒系統,讓垃圾桶進行下一步操作)。此外,無語音指令或者語音指令錯誤時,系統便一直處于待機狀態。該系統的主程序流程圖如圖4所示。

圖4 主程序流程圖
LD3320的用戶使用模式:用戶在使用該芯片時可以對兩種模式進行相應的設置。觸發識別模式:當系統接收到外部的喚醒后,LD3320芯片便開始處于工作狀態,并在一定的時間內保持對外部語音信息進行識別。當識別結束后,需要語音識別模塊再次工作時,則需要對系統重新喚醒。即每識別完一次后想要再次識別需要對該系統進行重新喚醒工作。循環識別模式:如果系統檢測識別到語音指令后,會在語音識別模塊的數據庫中進行關鍵詞對比,當該語音指令匹配到一個最佳識別結果后,該系統則會對應一個相應的輸出結果。待輸出結束后,系統又會自動地重新啟動語音識別模塊,從而繼續保持著對語音信號的識別。語音識別模塊主要電路圖如圖5所示。

圖5 語音識別模塊電路圖
首先,在STC11L08XE單片機中初始化語音識別模塊,對延遲函數,中斷處理函數進行編寫。讀寫模式進行選擇,本設計選用并行模式讀寫模式,即設置MD管腳為低對串口進行初始化:串口選擇8位異步通信方式,由定時器1控制。在程序的一開始,首先進行復位動作,對芯片的RSTB和CSB給一個低電平,為了更加穩定的工作,在高低電平變化之間給一個5ms的延遲。如果在工作過程中,芯片的工作狀態異常,可用這種方法使芯片恢復到原來的狀態。
舵機模塊的設計與采用:本系統采用SG90舵機來模擬垃圾桶蓋的開啟與關閉。在主控模塊STM32單片機識別編碼成功后,會控制編碼所對應的舵機來旋轉90°。以此來模擬垃圾桶蓋的開合,舵機的旋轉操作由STM32單片機來控制。這里系統采用定時器二(TIM2),定時器三(TIM3),并且每個定時器有四個PWM通道相對應。TIM3的PWM輸出引腳分別為PB0(CH3)、PB1(CH4)、PB5(CH2),TIM2的PWM輸出引腳分別為PA1(CH2)、PA2(CH3)、PA3(CH4)。舵機電路圖如圖6所示。

圖6 舵機電路圖
舵機工作程序如下:LD3320集成播報模塊,預先給JQ8400語音芯片存放本設計所需要的提示語音,然后語音播報模塊是通過LD3320單片機的一些相關引腳進行控制的。JQ8400芯片電路圖如圖7所示。

圖7 JQ8400電路圖
首先,進行語音文件的合成,打開下載好的語音合成工具,在最上面空白區域輸出要合成的內容,然后在右下角“保存語音文件”處選定,最后單擊“開始合成”,合成完成后該文件夾內會出現一個“wav”格式的文件,此文件即為合成的語音文件。操作流程圖如圖8所示。

圖8 語音調試步驟
語音合成好后,需要對合成好的語音文件使用MP3格式轉換器將語音文件轉換成MP3格式。操作步驟:首先打開MP3轉換器,打開后單擊“添加文件”,選擇要轉換的語音文件,轉換格式系統默認為MP3格式,以及比特率、頻率、聲道按照系統默認的選擇即可,不需要進行操作更改,緊接著選擇自己將轉換后的文件要存放的路徑,最后單擊“立即開始轉換”即可。操作步驟如圖9所示。

圖9 語音轉換步驟
根據自己的需要在輸入文本區域分別輸入所要合成的內容,例如本系統就錄入了:小愛在呢、其他垃圾、有害垃圾、可回收垃圾等相關語音,同時對合成完成的語音文件進行保存以及對文件名稱進行相應的修改,依次按上述順序進行編碼。
結論:本次設計的智能垃圾桶系統主要使垃圾桶具有了語音識別功能,以及根據語音指令自動開合不同類型垃圾桶蓋的功能。針對現有的智能垃圾分類體系的不足完成了一項低成本、低耗能、語音控制系統的智能垃圾桶的設計,具有一定的實用價值。智能垃圾桶系統能夠有效地幫助人們對不同類型的垃圾進行準確地分類投放,它緩解了人們在垃圾分類早期不能準確分類和投放垃圾的問題,在當今國家大力提倡以及強制實施垃圾分類的情況下,本設計的語音播報功能能夠有效地幫助人們加深對垃圾分類知識的理解,讓人們逐漸將各種垃圾分類變為常識知識。本次設計對自己來說也是一次歷練,不僅在知識面上得到了拓展,同時自己在編程能力上也有了一定的提高。在實際語音測試中,系統有時候會識別錯誤的語音,造成舵機開始旋轉工作。通過大量的實驗發現是由于外放喇叭與語音識別模塊相距較近造成的干擾,導致語音識別不能準確地進行,還有在嘈雜的環境下,該系統不能識別相應的指令,只有在相對安靜的環境中,該系統才能夠準確地識別相應的指令并進行工作,仍有進一步的改進空間。