孔繁庭,郝強(qiáng)
(1.蘭州文理學(xué)院 傳媒工程學(xué)院,甘肅蘭州,730000;2.福州京東方光電科技有限公司,福建福州,350300)
隨著物聯(lián)網(wǎng)的大力發(fā)展,智能產(chǎn)品也越來越多。近年來,垃圾分類處理和生態(tài)保護(hù)成為我們面臨的重大問題,也是全球環(huán)境保護(hù)的重要話題。我國在垃圾分類處理方面存在推行慢、設(shè)備不完善等問題。垃圾分類可以實現(xiàn)資源的二次利用,傳統(tǒng)的垃圾分類主要靠人工完成,其工作量大、效率低。為了更好的實施垃圾分類,減輕環(huán)衛(wèi)工人的工作量,設(shè)計一個成本低、語音控制的分類垃圾桶是非常有必要的。本文設(shè)計出一款通過單片機(jī)、語音識別模塊、紅外檢測裝置、液晶顯示、APP遠(yuǎn)程控制、機(jī)械電子驅(qū)動的分類垃圾桶,成本較低,使用方便。
本設(shè)計包括硬件部分設(shè)計和軟件部分設(shè)計,硬件部分由單片機(jī)、紅外測距傳感器、藍(lán)牙模塊、語音識別模塊、液晶屏、蜂鳴器、舵機(jī)等組成,軟件部分主要是APP軟件。由單片機(jī)、復(fù)位電路、晶振電路一起組成了單片機(jī)的最小系統(tǒng),是系統(tǒng)的核心部分,紅外測距傳感器被用作測量垃圾桶蓋到垃圾的距離,是判斷垃圾桶狀況的重要依據(jù),藍(lán)牙模塊負(fù)責(zé)單片機(jī)與APP的通信。語音識別模塊識別垃圾的種類,并且發(fā)送給單片機(jī)來控制舵機(jī)的運(yùn)轉(zhuǎn),液晶屏用來顯示紅外測距傳感器測量的數(shù)值。軟件部分由APP組成,主要用于檢測垃圾桶的狀況,以及對垃圾桶開關(guān)蓋的操作和內(nèi)桶的旋轉(zhuǎn)操作。設(shè)計的研究方案如圖1所示。
圖1 系統(tǒng)方案
本設(shè)計將垃圾分為干垃圾、濕垃圾、有害垃圾、可回收垃圾。通電后電路進(jìn)行初始化,通過按鍵設(shè)置測距閾值;在不連接APP的情況下,當(dāng)語音識別模塊識別到關(guān)鍵字后,通過串口通信將數(shù)據(jù)傳輸至單片機(jī),同時,紅外測距傳感器介入工作,將測得的數(shù)值在顯示屏上顯示并且與閾值進(jìn)行對比,以判斷垃圾桶是否打開,若測得的數(shù)值大于閾值則正常工作,單片機(jī)控制舵機(jī)完成垃圾桶蓋的開啟和內(nèi)桶旋轉(zhuǎn)操作,若測得的數(shù)值小于閾值,則垃圾桶已滿,不進(jìn)行垃圾桶蓋的打開和內(nèi)桶旋轉(zhuǎn)操作。在連接APP的情況下,藍(lán)牙模塊介入工作,當(dāng)藍(lán)牙模塊接收到APP的內(nèi)桶旋轉(zhuǎn)指令后,紅外測距傳感器將測得的數(shù)值與閾值比較完成后,將垃圾桶的狀態(tài)通過藍(lán)牙模塊傳輸至APP上,在APP上顯示垃圾桶的狀態(tài),同時單片機(jī)控制舵機(jī)完成垃圾桶蓋的打開和內(nèi)桶旋轉(zhuǎn)工作;若藍(lán)牙模塊只接收到垃圾桶蓋的開啟和關(guān)閉指令,單片機(jī)直接控制舵機(jī)完成操作,不需要進(jìn)行測距工作。
單片機(jī)最小系統(tǒng)是能夠滿足單片機(jī)電路正常工作的最基本的電路結(jié)構(gòu)。STC12C5A16S2是宏晶科技最新推出的采用第六代加密技術(shù)的單片機(jī)[1],對系統(tǒng)的設(shè)計提供了足夠的保密性,兼容了8051單片機(jī)的所有指令集,處理速度快,可以在0~35MHz的情況下工作,具有較寬的電壓5.5V~3.3V/2.2~3.6V,可以采用USB直流供電,不需要額外增加供電設(shè)備,減小了開發(fā)成本。SC12C5A1T6S2單片機(jī)的最小系統(tǒng)由晶振電路、復(fù)位電路、電源組成。
由于STC12C5A16S2的電壓為5.5V~3.3V;本設(shè)計采用USB連接線通過連接5V的移動電源或者連接5V的可插式充電頭供電。
復(fù)位電路可以在通電以后讓系統(tǒng)恢復(fù)到初始狀態(tài),在本系統(tǒng)中由10μF的電解電容C2與10k的電阻R2串聯(lián)組成,電解電容C2的正極與電源VCC連接,電容與電阻串聯(lián)節(jié)點(diǎn)和單片機(jī)的第9引腳相連接,最后將電阻接地。在通電以后R2對C2進(jìn)行充電,在R2的限流作用下,第9引腳成為高電平;當(dāng)C2充滿電后第9引腳變成了低電平,完成了復(fù)位動作。
在晶振電路中C3、C4為反饋電容,為了使電路進(jìn)入震蕩狀并且穩(wěn)定工作頻率,晶振的工作頻率為11.0592MHz,決定了單片機(jī)的基礎(chǔ)時鐘也為11.0592MHz。單片機(jī)的工作頻率和處理能力與運(yùn)算速度成正比。電容C3、C4串聯(lián)的節(jié)點(diǎn)接地。串聯(lián)后與晶振并聯(lián),上端接單片機(jī)的18引腳,下端接19引腳。STC12C5A16S2單片機(jī)最小系統(tǒng)如圖2所示。
圖2 STC12C5A16S2單片機(jī)最小系統(tǒng)
LD3320是一款由 ICRoute公司開發(fā)的一款“語音識別”的專用芯片,該芯片由語音識別處理器和外部電路組成。內(nèi)部有數(shù)模轉(zhuǎn)換、模數(shù)轉(zhuǎn)換、麥克風(fēng)等,在工作過程中無需外部芯片的輔助即可完成語音識別處理。LD3320可以識別任何人的話語,不是針對某一個人的識別模塊,它是通過識別關(guān)鍵詞進(jìn)行處理的一款芯片,具有廣大的應(yīng)用范圍,不拘泥于個人使用;具有功耗低、處理速度快、識別精度高等特點(diǎn)[2]。
LD3320是基于“關(guān)鍵詞”識別技術(shù)開發(fā)的語音識別模塊,并且可以動態(tài)編寫關(guān)鍵詞,在其內(nèi)部將關(guān)鍵詞以字符的方式進(jìn)行轉(zhuǎn)換。在工作過程中,當(dāng)識別到語音指令后只需要與提前編寫的關(guān)鍵詞進(jìn)行對比,對比成功后即可完成指令操作,避免了誤操作的發(fā)生[3]。
語音識別模塊的工作流程為:識別到語音后經(jīng)過MIC進(jìn)行頻譜分析,提取識別到的關(guān)鍵詞與提前設(shè)置的關(guān)鍵詞列表對比并進(jìn)行匹配,最終從列表中提取關(guān)鍵詞并執(zhí)行指令。在本設(shè)計中LD3320作為一個串口,利用串口通信的方式與單片機(jī)進(jìn)行通信。LD3320的電路原理如圖3所示。
柿子炭疽病是柿樹主要病害之一,富平尖柿屬于極易感染炭疽病的品種。該病在高溫高濕條件下傳播蔓延快,防治難度大,只有準(zhǔn)確區(qū)分病害癥狀特征,了解病害發(fā)生規(guī)律,并采取綜合措施適時防治,才能取得良好效果。
圖 3 LD3320電路圖
LCD1602作為一款液晶顯示屏,經(jīng)常和單片機(jī)配合使用,主要是依靠單片機(jī)的控制來顯示字符。LCD1602可顯示字母、數(shù)字、符號、漢字等;工作過程中有兩種傳輸模式分別為4位和8位數(shù)據(jù)傳輸。LCD1602內(nèi)部集成了數(shù)據(jù)緩沖區(qū)DDRAM、字符發(fā)生器CGROM、CGRAM,可以使用CGRAM來存儲自定義的數(shù)據(jù)[4]。LCD1602內(nèi)部繼承了復(fù)位電路,當(dāng)電壓超過4.5V時,自動初始化,顯示屏將恢復(fù)默認(rèn)的工作狀態(tài)。
LCD1602有14引腳和16引腳2種。14引腳的為無背光低功率型,具有功耗低、電壓穩(wěn)定的特點(diǎn)。16引腳的為含綠光的顯示屏,15引腳為背光正極,16引腳為背光負(fù)極;除了15、16引腳外其他引腳的功能和14引腳的無背光型一樣。LCD1602的顯示是通過電壓來改變填充在2個平行板之間液晶分子的排列情況,進(jìn)而改變顯示屏的透光度來顯示字符。液晶是一種極易流動的物質(zhì),只要稍加外力就可以使液晶分子流動。當(dāng)斷電以后沒有了電場力的作用,液晶借助其自身的黏性恢復(fù)到默認(rèn)狀態(tài)。
在本設(shè)計采用16引腳的LCD1602,顯示屏既可以用來顯示設(shè)定的閾值和紅外測距傳感器測得的數(shù)值,也可顯示4個內(nèi)桶的狀況。4個字母代表了不同內(nèi)桶的工作狀態(tài),如果顯示“Y”,則證明內(nèi)桶可以正常工作;如果顯示“N”,則證明內(nèi)桶無法正常工作。LCD1602的電路圖如圖4所示。
圖4 LCD1602電路圖
VL53L0X是一款用于測距的紅外傳感器,工作電壓為3-5V,內(nèi)部集成了MCU計算模塊,該芯片通過PWM、串口通信兩種通信方式進(jìn)行工作。與其他的芯片相比測量范圍更廣,可以實現(xiàn)0~2米以內(nèi)的測量,適用于精度要求比較高的情況;其工作的最高頻率為22ms,具有較低的功耗。尺寸為25mm×15.6mm,具有尺寸小、應(yīng)用靈活的特點(diǎn);利用內(nèi)置的MCU計算距離,不需要增加外設(shè)即可實現(xiàn)計算,具有較高的測量精度。
VL53L0X采用仿生學(xué)原理,可以看成一個激光雷達(dá)。工作原理:利用LED光源發(fā)出激光,當(dāng)激光碰到附體表面后反射回來被內(nèi)置的MCU接收,經(jīng)過MCU的計算求出時間差,通過一系列的計算得到精確的測量數(shù)值。該模塊有2種數(shù)據(jù)讀取方式,一種通過UART+PWM的方式讀取,另一種是通過芯片IIC方式讀取。
數(shù)據(jù)計算方法:
距離長度計算方法
VL53L0X的電路圖如圖5所示。
圖5 VL53L0X電路圖
本設(shè)計控制系統(tǒng)采用了STC12C5A16S2單片機(jī),結(jié)合語音識別模塊LD3320和藍(lán)牙傳輸模塊JDY-31對垃圾桶實現(xiàn)語音控制并且達(dá)到APP遠(yuǎn)程檢測和操作的功能。軟件方面利用C語言實現(xiàn)了對單片機(jī)的編程,遠(yuǎn)程控制是基于E4A平臺利用易語言開發(fā)APP來實現(xiàn)。
具體實現(xiàn)的功能包括以下幾點(diǎn):
(1)語言識別控制垃圾桶蓋的開啟、關(guān)閉和內(nèi)桶旋轉(zhuǎn)。
(2)利用紅外測距模塊測量垃圾桶蓋到垃圾的距離以判斷垃圾桶的工作狀態(tài)。
(3)通過液晶顯示屏顯示閾值、紅外測距模塊測得的數(shù)值和垃圾桶的狀態(tài)。
(4)利用藍(lán)牙模塊實現(xiàn)單片機(jī)與APP的通信。
(5)利用蜂鳴器報警、顯示屏顯示“N”、APP界面等方式提醒使用者更換垃圾袋。
(6)通過LED燈的亮滅判斷系統(tǒng)是否收到指令。
(7)利用APP對垃圾桶進(jìn)行實時遠(yuǎn)程檢測和控制。
在電源通電以后,首先進(jìn)行LCD1602、定時器以及串口的初始化;然后進(jìn)行距離值的讀取,再判斷是否有按鍵按下,若有按鍵按下,則進(jìn)行設(shè)置閾值操作。若沒有按鍵按下,則判斷語音識別模塊是否收到語音指令,若收到語音識別模塊的指令或者收到APP的指令,則控制舵機(jī)進(jìn)行相應(yīng)的工作,沒有收到指令將進(jìn)行刷新顯示操作,跳轉(zhuǎn)至讀取距離值。
主程序工作流程圖如圖6所示。
圖6 主程序工作流程圖
本設(shè)計可以采用APP實現(xiàn)垃圾桶的遠(yuǎn)程檢測,可以通過APP的界面完成指定內(nèi)桶的旋轉(zhuǎn),并且也可以顯示垃圾桶的狀況。當(dāng)紅外測距傳感器測得垃圾桶已滿時,APP界面會更新為已滿狀態(tài);也可以通過APP來控制垃圾桶蓋的開啟和關(guān)閉。如果顯示屏顯示某一個內(nèi)桶已滿,APP沒有更新的情況下可以通過“讀狀態(tài)”按鍵實現(xiàn)界面的更新。
系統(tǒng)調(diào)試是在系統(tǒng)硬件檢測、程序編寫、APP開發(fā)完成之后,對實物進(jìn)行上電測試功能。首先對單片機(jī)、LCD1602、語音識別模塊的程序進(jìn)行燒寫,利用E4A平臺開發(fā)控制APP,再將APP與藍(lán)牙模塊進(jìn)行連接調(diào)試。接下來上電測試硬件電路是否正常工作,若各項功能均可以正常工作則證明硬件和軟件設(shè)計成功;若個別功能無法實現(xiàn),應(yīng)該及時的排查不能工作的原因,針對問題制定改進(jìn)方案,確保硬件電路的正常工作。
本設(shè)計利用單片機(jī)將分類垃圾桶和語音識別結(jié)合在一起,實現(xiàn)了垃圾的語音控制分類。利用語音識別模塊對語音信息進(jìn)行提取,并且與提前設(shè)定的關(guān)鍵詞進(jìn)行匹配,從而進(jìn)行垃圾桶蓋的打開、關(guān)閉和內(nèi)桶旋轉(zhuǎn)操作,解決了以往垃圾桶需要人工操作的難題,避免了細(xì)菌感染的風(fēng)險,同時,也實現(xiàn)了手機(jī)APP控制。語音控制的分類垃圾桶具有操作簡單、效率高、實用性好等特點(diǎn)。