夏子結(jié),吳瑪佳,王 強(qiáng),夏秀英,夏紀(jì)新,鮮建紅,查 靚
(安順學(xué)院電子與信息工程學(xué)院,貴州 安順 561000)
如何將可回收垃圾進(jìn)行充分回收一直是我國(guó)亟待解決的問題。面對(duì)此情此景,研究和發(fā)展語(yǔ)音識(shí)別垃圾箱控制系統(tǒng)是非常有必要的。為此,本團(tuán)隊(duì)對(duì)安順學(xué)院的戶外垃圾桶做了調(diào)查,根據(jù)調(diào)查結(jié)果顯示安順學(xué)院有374 個(gè)垃圾桶,需要手動(dòng)翻蓋的垃圾桶有143 個(gè),無(wú)須手動(dòng)開蓋的垃圾桶有231 個(gè)。安順學(xué)院使用手動(dòng)開蓋的戶外塑料垃圾桶占38%,無(wú)須手動(dòng)開蓋不銹鋼戶外垃圾桶占到62%。
本項(xiàng)目抓住傳統(tǒng)垃圾桶的痛點(diǎn),并將其進(jìn)行創(chuàng)新。本文設(shè)計(jì)了一個(gè)可以對(duì)易拉罐、玻璃瓶、塑料瓶和廢紙這4 種可回收物進(jìn)行分類收集的垃圾桶,這種非接觸垃圾桶的好處是:智能化、節(jié)約時(shí)間、保護(hù)環(huán)境、密封性好、回收方便和減少病毒的接觸性傳染?;赟TM32的4 種類型語(yǔ)音控制垃圾桶不僅對(duì)防控新冠感染疫情起到積極作用,同時(shí)還能夠克服安順學(xué)院目前戶外垃圾桶使用存在的缺點(diǎn)。
本設(shè)計(jì)利用以STM32 單片機(jī)為核心的微控制器,采用語(yǔ)音識(shí)別模塊對(duì)普通話語(yǔ)音進(jìn)行識(shí)別。復(fù)位開關(guān)在通電之后可選擇馬上使用或等待一會(huì)兒再使用,使用起來(lái)更加自由,同時(shí)可防止短路;JQ8900 語(yǔ)音播報(bào)模塊用于播報(bào)垃圾與垃圾桶的種類;設(shè)置了GSM 短信提醒模塊;按鍵模塊作為在普通話不標(biāo)準(zhǔn)或者不會(huì)說(shuō)普通話的情況下方便使用;LED 提示燈是提醒使用者垃圾桶蓋已開;4 個(gè)舵機(jī)用來(lái)控制垃圾桶蓋的開關(guān);4個(gè)紅外傳感器發(fā)射接收信息用于檢測(cè)垃圾是否裝滿;蜂鳴器報(bào)警模塊在傳感器感應(yīng)到垃圾桶溢滿時(shí)進(jìn)行報(bào)警。
1.2.1 主控芯片
本設(shè)計(jì)選用STM32F103C8T6 為主控芯片,而不選擇AT89C51 為主控芯片,是因?yàn)榫C合了成本、片上資源、flash 和RAM 存儲(chǔ)器、改進(jìn)功能的空間和內(nèi)核等方面的對(duì)比。雖然AT89C51 芯片有成本低的優(yōu)勢(shì),但是經(jīng)過對(duì)比,其在除了成本以外的其他方面都存在劣勢(shì),所以此設(shè)計(jì)采用STM32F103C8T6 為主控芯片。
1.2.2 LD3320 語(yǔ)音識(shí)別模塊
根據(jù)本設(shè)計(jì)的需要和引腳較多的需求故選擇了LD3320 型號(hào)的語(yǔ)音識(shí)別模塊,并且LD3320 型號(hào)的語(yǔ)音識(shí)別模塊不需要花費(fèi)太多錢,同時(shí)還低功耗。
1.2.3 電源
由于主控芯片需要協(xié)同帶動(dòng)的模塊較多,燈光提示模塊已連接3.3 V 電源,而LD3320 語(yǔ)音播報(bào)模塊要用5 V,所以本設(shè)計(jì)選用5V 的電源,保證了本設(shè)計(jì)的穩(wěn)定性。
1.2.4 舵機(jī)
電機(jī)控制板的功能是讓電機(jī)運(yùn)動(dòng)并且接收電位器返回的信息[1]。經(jīng)過對(duì)比SG90 伺服機(jī)、MG90 伺服機(jī)、MG990 伺服機(jī)這3 種常見的伺服機(jī),得出在本設(shè)計(jì)中,因需要帶動(dòng)的是塑料的垃圾桶,所以SG90 舵機(jī)是完全夠用的,同時(shí)也考慮到成本和體積的問題,于是SG90 舵機(jī)再合適不過。
1.2.5 GSM 短信提醒
GSM-A6 型號(hào)短信提醒模塊是電路交換系統(tǒng),只需要具備2 張電話卡就可實(shí)現(xiàn)連接,從而進(jìn)行短信互發(fā)。GPRS-A6 是分組交換系統(tǒng),但本設(shè)計(jì)不使用GPRS-A6 型號(hào)的數(shù)據(jù)傳輸技術(shù),因?yàn)榭紤]到成本問題,同時(shí)本設(shè)計(jì)不需要視頻通話和互聯(lián)網(wǎng)接入,所以,本設(shè)計(jì)使用的是GSM-A6 短信提醒模塊。
1.2.6 傳感器模塊
TCRT5000 傳感器發(fā)射紅外線會(huì)分為2 種情況:指示二極管被點(diǎn)亮和指示二極管處于熄滅狀態(tài)。TCRT5000 傳感器具有抗干擾性強(qiáng)、使用方便而且簡(jiǎn)單的優(yōu)點(diǎn)。超聲波傳感器MB7139 的優(yōu)點(diǎn)是敏感而且靈活,穿透的能力非常強(qiáng),測(cè)量精度高,穩(wěn)定性好,缺點(diǎn)是超聲波傳感器的測(cè)距速度較慢,容易造成資源浪費(fèi),存在最短探測(cè)距離。綜合以上介紹,本設(shè)計(jì)選用了TCRT5000 傳感器。
1.2.7 三極管
本設(shè)計(jì)的三極管需要的是放大電流,降低電壓,縮小信號(hào),起到保護(hù)電路的作用。常見的有S8050 和S8550 型號(hào)三極管,2 種三極管有非常大的區(qū)別,S8050是NPN 管,S8550 是PNP 管,這2 種三極管原理不同,辨別方法也不同。經(jīng)比較得出,S8550 型號(hào)與S8050 型號(hào)三極管是有區(qū)別的,綜合比較后本設(shè)計(jì)選用S8550型號(hào)的三極管最為合適。
本設(shè)計(jì)采用的單片機(jī)是以STM32F103C8T6 為主控芯片,優(yōu)點(diǎn)是快速的處理能力、強(qiáng)大的外設(shè)支持、可擴(kuò)展性強(qiáng)和性能消耗低。
在本設(shè)計(jì)中,4 個(gè)舵機(jī)連接的是PB0~1,PA7~6 這4 個(gè)引腳,4 個(gè)傳感器連接的是PB12~15 這4 個(gè)引腳,4 個(gè)按鍵連接的是PA15,PB3~5 這4 個(gè)引腳,電源連接正負(fù)引腳,語(yǔ)音播報(bào)模塊連接PA9(TXD1)和電源正負(fù)極引腳,GSM 短信提醒模塊連接PA3、PA2 引腳,語(yǔ)音識(shí)別模塊連接PB11、PB10 引腳進(jìn)行數(shù)據(jù)的傳輸。蜂鳴器模塊連接PC14 引腳。如圖1 所示。
圖1 基于STM32 的4 種類型語(yǔ)音控制垃圾桶原理圖
語(yǔ)音識(shí)別模塊使用時(shí)只需連接5 V 電源,然后模塊的串口通信端口與單片的串口3 相連接就可以工作。在語(yǔ)音識(shí)別模塊運(yùn)行時(shí)需要說(shuō)普通話,有時(shí)會(huì)存在識(shí)別不出來(lái)的情況,需要再次喚醒,這也是LD3320 的缺點(diǎn),識(shí)別精度低。
垃圾桶具有語(yǔ)音喚醒且開蓋的功能[2],單片機(jī)控制4 個(gè)轉(zhuǎn)向發(fā)動(dòng)機(jī)的轉(zhuǎn)動(dòng)。SG90 舵機(jī)是一種位置伺服驅(qū)動(dòng)器,適用于需要不斷改變角度的控制系統(tǒng),并且可以保持運(yùn)行。項(xiàng)目采用STM32 核心板PB1/PB0/PA7/PA6端口輸出PWM 信號(hào)來(lái)控制舵機(jī)的旋轉(zhuǎn)角度,達(dá)到帶動(dòng)垃圾桶蓋開關(guān)的目的。
JQ8900 語(yǔ)音播報(bào)模塊有3 種通信模式,即兩線串口通信方式、一線串口通信方式和IO 口按鍵觸發(fā)模式。本實(shí)驗(yàn)中之所以使用的是一線串口通信方式,是因?yàn)椴殚嗁Y料后發(fā)現(xiàn)一線串口通信方式程序編寫更加簡(jiǎn)便。JQ8900語(yǔ)音模塊為RX接TXDI,GND接地,DC接5 V,SPK+和SPK-接小喇叭正負(fù)極。
本設(shè)計(jì)的溢滿報(bào)警采用蜂鳴器進(jìn)行提醒,在垃圾桶里面的可回收垃圾滿了之后,系統(tǒng)將運(yùn)行蜂鳴器發(fā)出警報(bào)信息,以達(dá)到一個(gè)聲音的報(bào)警,這樣可更加直觀地獲取垃圾桶已滿的信息。
指示燈電路的設(shè)置是為了讓使用者能更加明顯地看到垃圾桶已處于開蓋的狀態(tài),4 個(gè)燈所對(duì)應(yīng)的垃圾桶也不一樣,指示燈亮了之后人們就可以投放垃圾了。這給予了人們更加直觀的視覺沖擊,可及時(shí)獲取信息。電阻R1~R4 是限流電阻。
設(shè)置按鍵模塊的初衷是有些人不具備說(shuō)話的能力或不會(huì)說(shuō)普通話,就像言語(yǔ)障礙者等的人群。所以應(yīng)該給這些人群提供更加便利的服務(wù),按鍵模塊就被安排上了,這是非常有意義的。
電源模塊可以說(shuō)是基本的模塊,有了電源才能夠運(yùn)行整個(gè)程序,所有的程序都要依靠電源才能夠?qū)崿F(xiàn)功能,在這個(gè)項(xiàng)目中使用的是直流供電。在電源連接后需要等待10 s 左右GSM 文本發(fā)送模塊才能夠啟動(dòng),所以在10 s 后才能夠喚醒垃圾桶。
這個(gè)設(shè)計(jì)使用的是TCRT5000 型號(hào)的紅外距離模塊,作為針對(duì)垃圾桶被投放滿之后不能夠繼續(xù)投放垃圾的動(dòng)作發(fā)生、觸發(fā)蜂鳴器報(bào)警、文本信息的發(fā)送,傳感器是很重要的,其能夠?qū)⒖苫厥绽e極清運(yùn),使工作人員的工作更加便利,避免了垃圾不及時(shí)處理造成的環(huán)境污染。
這個(gè)設(shè)計(jì)不需要聯(lián)網(wǎng)和視頻,所以選擇了短信提醒,能夠?qū)崿F(xiàn)遠(yuǎn)距離的文本信息發(fā)送。這在原有的處理垃圾方式上有了很大的創(chuàng)新,能夠節(jié)約成本和時(shí)間,使工作效率更高。
在這個(gè)項(xiàng)目進(jìn)行軟件設(shè)計(jì)時(shí),需要把整個(gè)運(yùn)行過程分成很多個(gè)部分,部分之間都是息息相關(guān)的。程序的主程序開始運(yùn)行時(shí),會(huì)將整個(gè)程序進(jìn)行初始化,接著讀取串口信息,判斷是否讀到數(shù)據(jù),若讀取到信息,判斷可回收垃圾種類,隨后執(zhí)行開蓋、關(guān)蓋、報(bào)警等操作。如圖2 所示。
圖2 主程序流程圖
程序開始時(shí),當(dāng)使用者在普通話喚醒并說(shuō)出相對(duì)應(yīng)的可回收垃圾的垃圾桶,并識(shí)別到是哪一個(gè)垃圾桶時(shí),那么就得運(yùn)行開蓋的程序,開蓋的流程需要有PWM 波形的形成,舵機(jī)旋轉(zhuǎn)到0°,輸出占空比為1.5的脈沖即可。
程序開始時(shí),當(dāng)使用者在普通話喚醒并說(shuō)出相對(duì)應(yīng)的可回收垃圾的垃圾桶,并識(shí)別到是哪一個(gè)垃圾桶時(shí),那么就得運(yùn)行開蓋的程序,開完蓋并投放垃圾后就需要關(guān)閉垃圾桶的蓋,關(guān)閉垃圾桶蓋的流程需要有PWM 波形的發(fā)生,舵機(jī)轉(zhuǎn)動(dòng)角度為-90°[3],輸出占空比為0.5 的脈沖就可實(shí)現(xiàn)關(guān)蓋的功能。
語(yǔ)音識(shí)別模塊的程序開始時(shí),將程序進(jìn)行初始化,接著讀取串口數(shù)據(jù),判斷是否接收到數(shù)據(jù),沒接收到數(shù)據(jù)時(shí)會(huì)進(jìn)行暫緩清零,若接收到數(shù)據(jù)則將讀取指令,數(shù)據(jù)為C4,則判斷為廢紙,那么廢紙垃圾桶就會(huì)開蓋;數(shù)據(jù)為C5,則判斷為易拉罐,易拉罐垃圾桶就會(huì)開蓋;接若數(shù)據(jù)為C6,則判斷為玻璃瓶,玻璃瓶垃圾桶就會(huì)開蓋;數(shù)據(jù)為C7,則判斷為塑料瓶,塑料瓶垃圾桶就會(huì)開蓋[4]。若指令數(shù)據(jù)不是C4、C5、C6 或C7,則程序會(huì)重新讀取串口數(shù)據(jù)。如圖3 所示。
垃圾桶項(xiàng)目系統(tǒng)的軟硬件調(diào)試是完成軟硬件項(xiàng)目的最后一步。需要多次調(diào)試才能發(fā)現(xiàn)系統(tǒng)中的軟件編譯錯(cuò)誤,并糾正硬件生產(chǎn)中的潛在隱患。任何系統(tǒng)都必須經(jīng)過調(diào)試和完善。實(shí)踐是檢驗(yàn)真理的標(biāo)準(zhǔn),不能急于取得結(jié)果而忽視細(xì)節(jié)。有必要在項(xiàng)目的調(diào)試上下功夫,只有經(jīng)過仔細(xì)的調(diào)試,項(xiàng)目才能夠完成好。
在Keil 環(huán)境下進(jìn)行編程時(shí),編寫的程序容易報(bào)錯(cuò);編寫代碼時(shí)容易把相似的數(shù)字英文寫錯(cuò),導(dǎo)致找錯(cuò)誤的時(shí)候難以發(fā)現(xiàn)。
硬件調(diào)試最重要的方面是電路板會(huì)不會(huì)有電線松動(dòng)、泄漏、連接不正確、短路,以及電源的正負(fù)極是否正確連接;還需要確保電路中的模塊組件是否正常使用,焊接前可以使用萬(wàn)用表和電流表進(jìn)行測(cè)試。提前整理整個(gè)程序接線線路,這樣就可以減少許多不必要的錯(cuò)誤。
在軟件和硬件測(cè)試完成并清晰之后,應(yīng)該一起進(jìn)行調(diào)試。盡管Keil 的軟件可以模擬,但卻不是一個(gè)肉眼可見的環(huán)境。最后一步現(xiàn)實(shí)的測(cè)試和調(diào)試是將軟件程序刻錄到微控制器中去,接上電源,然后測(cè)試相對(duì)應(yīng)的功能,看看是否實(shí)現(xiàn)按設(shè)計(jì)目標(biāo)功能工作。因?yàn)橐恍┯布y(cè)試需要軟件配合才能更好地識(shí)別問題,所以軟件測(cè)試也需要硬件合作才能更好地改進(jìn)。
每個(gè)功能模塊的電路都可以獨(dú)立工作。當(dāng)在進(jìn)行集成和調(diào)試時(shí),并不意味著可以實(shí)現(xiàn)整體功能。有必要改進(jìn)調(diào)試以解決隨時(shí)可能會(huì)出現(xiàn)的問題。需要步步為營(yíng),一步一步地按照測(cè)試要求來(lái)做。隨時(shí)核對(duì)原理圖與電路板之間的連線,不放松警惕,保證實(shí)物能夠按照預(yù)期的想法完全實(shí)現(xiàn),在本設(shè)計(jì)的調(diào)試中不得不承認(rèn)花費(fèi)了很多的時(shí)間,但在調(diào)試成功的時(shí)候是非常有成就感的。因?yàn)楫厴I(yè)設(shè)計(jì)是非常重要的,所以調(diào)試成功是必須要實(shí)現(xiàn)的。
在整體調(diào)試過程中,由于SIM 卡沒有正確安裝在卡槽中,垃圾桶裝滿時(shí)只有報(bào)警聲,沒有短信提醒。經(jīng)過反復(fù)檢查和調(diào)整,最終收到了短信提醒。調(diào)試時(shí)每一步都不能馬虎,必須小心,才能確保這個(gè)設(shè)計(jì)成功完成并達(dá)到標(biāo)準(zhǔn)。
在調(diào)試時(shí),喚醒語(yǔ)音識(shí)別模塊需要多次呼叫,因?yàn)樽R(shí)別精度不夠,容易受周圍環(huán)境影響,而且需要標(biāo)準(zhǔn)的普通話,對(duì)人的資質(zhì)要求較高,所以需要耐心地使用。后期可以更新語(yǔ)音識(shí)別模塊的型號(hào),使語(yǔ)音識(shí)別模塊的精度提高,使用起來(lái)更加輕松,避免人們?cè)趩拘训臅r(shí)候垃圾桶無(wú)回應(yīng)。整體調(diào)試如圖4 所示。
圖4 整體調(diào)試
必須驗(yàn)收硬件和軟件互動(dòng)調(diào)試的結(jié)果,最終的結(jié)果是對(duì)全部實(shí)物的展示。第一,電源連接至關(guān)重要。第二,要能成功喚醒垃圾桶。如果喚醒成功,操作可以繼續(xù)。如果喚醒失敗,則需要再次喚醒。喚醒的詞是“垃圾桶”。如果垃圾桶回復(fù)“歡迎使用垃圾桶”,麥克風(fēng)可以繼續(xù)傳輸語(yǔ)音并說(shuō)出可回收垃圾的名稱,相應(yīng)的垃圾桶蓋就會(huì)打開,扔進(jìn)可回收垃圾后,關(guān)閉垃圾桶蓋進(jìn)行處理;如果有人扔垃圾時(shí)垃圾桶已滿,蜂鳴器會(huì)發(fā)出警報(bào),同時(shí)短信提醒模塊會(huì)向指定的電話號(hào)碼發(fā)送文本信息。只要將該電話號(hào)碼的SIM 卡插入電話卡插槽,就可以接收到文本信息,達(dá)到及時(shí)清除和處理垃圾的目的。根據(jù)以上2 點(diǎn)來(lái)判斷是否達(dá)到了目標(biāo)功能:垃圾滿的時(shí)候語(yǔ)音提醒,蜂鳴器發(fā)出鳴叫,手機(jī)收到報(bào)警短信,手動(dòng)開/關(guān)蓋功能正常,4 個(gè)按鍵一個(gè)對(duì)應(yīng)一個(gè)控制垃圾桶開/關(guān)蓋。
自動(dòng)檢測(cè)和打開垃圾桶蓋是該項(xiàng)目創(chuàng)建語(yǔ)音識(shí)別垃圾桶控制系統(tǒng)的主要目標(biāo)。語(yǔ)音識(shí)別垃圾桶控制系統(tǒng)是在當(dāng)前環(huán)境保護(hù)的背景下創(chuàng)建的,目的是讓人們遠(yuǎn)離垃圾,降低感染的風(fēng)險(xiǎn)。但是語(yǔ)音識(shí)別垃圾桶對(duì)中國(guó)人來(lái)說(shuō)是陌生的,可以擁有也可以丟掉。中國(guó)的語(yǔ)音識(shí)別垃圾桶行業(yè)要獲得良好的技術(shù)和資金支持是很有挑戰(zhàn)性的,因此,它一直無(wú)法迅速發(fā)展。平常的一些人家和一些工廠對(duì)采購(gòu)和利用它們的積極性不高。但筆者還是一開始就確定了該系統(tǒng)的設(shè)計(jì)方案,還對(duì)系統(tǒng)的整體設(shè)計(jì)和各個(gè)部分進(jìn)行了深入的分析和設(shè)計(jì)。研究結(jié)果表明,語(yǔ)音識(shí)別電路、伺服驅(qū)動(dòng)模塊、語(yǔ)音報(bào)警模塊構(gòu)成了本項(xiàng)目所開發(fā)的語(yǔ)音識(shí)別垃圾桶控制系統(tǒng)的大部分。
事實(shí)上,此時(shí)創(chuàng)建的語(yǔ)音識(shí)別可控系統(tǒng)仍有很多缺陷。這種設(shè)計(jì)直接使用的主電源為電能,而不是使用太陽(yáng)能等可再生能源。
基于STM32 的4 種類型語(yǔ)音控制垃圾桶的設(shè)計(jì)只是一個(gè)非常粗略的草案,在此基礎(chǔ)上還可以增加許多其他功能。如自動(dòng)撿起掉在地上的垃圾,實(shí)現(xiàn)自動(dòng)包裝垃圾,選擇識(shí)別精度高的語(yǔ)音識(shí)別模塊識(shí)別語(yǔ)言,開發(fā)夜間街道照明的功能,以及開發(fā)一個(gè)手機(jī)應(yīng)用程序來(lái)控制蓋子的打開和關(guān)閉,這些都是可以添加的一些功能,所有這些都將在未來(lái)被付諸實(shí)踐。