張佳琪,于海霞,劉永輝,賈俊杰,苑文亞,付宜帆
(大連理工大學城市學院,遼寧 大連 116000)
隨著國家對環(huán)保的要求越來越嚴格,垃圾分類投放必將成為強制性的規(guī)定。現(xiàn)在絕大多數(shù)垃圾分類僅僅依靠垃圾投放者根據(jù)標識進行自主判斷,若個人沒有相應的分類知識,則無法做到準確地分類垃圾,尤其是許多垃圾異味太重或者存在一些蚊蟲,使得垃圾分類更加不便[1-3]。目前市場上常見的垃圾箱無法對垃圾進行主動的、有針對性的、初步的分類,現(xiàn)有的智能垃圾箱也僅僅做到了投擲的智能化。例如,李琳等人[4]設計了基于STM32的校園內智能垃圾桶測滿系統(tǒng),具有低功耗、集成度高、續(xù)航持久、維護方便等特點。辛政華等人[5]設計了一種智能垃圾桶,它以CC2530為核心,實現(xiàn)垃圾桶的感應自動開蓋和關閉。當超聲波檢測到距離垃圾小于10 cm時,觸發(fā)電機的轉動,垃圾桶蓋自動關閉;垃圾桶處理系統(tǒng)監(jiān)控中心檢測出垃圾桶滿時,發(fā)出處理命令;當垃圾得到清理,且超聲波檢測到的距離大于10 cm時,觸發(fā)電機的轉動,打開垃圾桶。然而,嚴格意義上講這些仍不屬于智能垃圾桶,無法普及且性價比低。為了更加便利人們的生活,同時秉承保護環(huán)境和節(jié)約能源的理念,本文設計了一種基于STM32單片機控制的智能垃圾桶系統(tǒng)終端,旨在建立一個完整、高效的信息系統(tǒng)以及應用程序,利用該信息系統(tǒng)實現(xiàn)垃圾的智能回收、分類、再利用,省去居民自行對垃圾種類進行判斷的過程,提高垃圾的分類和回收效率。在可行性和推廣性上門檻較低,終端設備高度整合,經(jīng)濟效益好;隨著項目推廣的生產成本邊際遞減,設備單價也將大幅下降。
本項目基于STM32單片機、CMUCAM3圖像識別模塊、SI1102紅外檢測模塊實現(xiàn)對垃圾的識別與分類,驅動舵機轉動實現(xiàn)分類。當識別到有人靠近終端檢測范圍內時,自動打開對應位置垃圾桶,然后在垃圾桶內部對常見的垃圾進行分類,分類完成后關閉垃圾桶。系統(tǒng)根據(jù)區(qū)域內回收終端各垃圾種類所占比例,變更不同料倉的空間比例,并就近設置相應的可回收品回收站點。當人手或物體接近投料口(感應窗)約25~35 cm時,垃圾桶蓋會自動開啟,待垃圾投入3~4 s后桶蓋又會自動關閉,人和物不需接觸垃圾桶,還能夠防止桶內垃圾氣味溢出,解除了傳統(tǒng)垃圾桶存在的細菌感染的隱患,能有效阻絕各種傳染性疾病通過垃圾進行傳播。同時,當識別到垃圾桶滿等情況時系統(tǒng)還會進行自動報警。與市場智能垃圾箱相比,本產品能夠自動識別垃圾并分類,垃圾識別類型多,包含可回收垃圾、有毒垃圾、其他垃圾,且產品成本低廉、體積小。
本設計采用STM32微控制器作為終端的主控模塊。STM32芯片是一種基于Cortex的芯片,該系列中的很多芯片是專門迎合當下社會發(fā)展需求的,例如適合低功耗、高性能、混合信號、標準系列的汽車應用;多數(shù)設計都需要它的底層環(huán)境,它的型號種類繁多,能夠滿足大部分要求。芯片類型主要可以細分為硬件DSP、微控制器硬件MCU、微處理器和軟件SOC。STM32是一種MCU,屬于嵌入式技術。STM32的首要優(yōu)點是優(yōu)秀的實時功能,同時它還有著杰出的功耗控制能力和極低的開發(fā)成本以及超低的價格[6]。
傳感器技術的應用促進了物聯(lián)網(wǎng)的快速發(fā)展,因具有生產效能和信息傳播的安全可靠性在日常生活生產中被廣泛應用[7-9]。本設計采用CMUCAM3傳感器作為圖像識別模塊。KTROBOT01 CMUCAM3是一個基于ARM7的完全可編程的嵌入式計算機視覺傳感器,它是以智能傳感器的形式給小型機器人系統(tǒng)提供視覺能力。CMUCAM3主要的處理器是連接到OV CMOS攝像傳感器模塊的32位ARM處理器NXP LPC2106,其開放的源碼環(huán)境供用戶進行嵌入式圖像處理的二次開發(fā)。CMUCAM3為智能機器人擴展了嵌入式圖像處理能力,主要功能有跟蹤高對比度的區(qū)域、運動監(jiān)測、顏色識別和檢測;同時CMUCAM3還能輸出不同的視頻格式到計算機進行額外的圖像處理[7]。
本設計采用SI1102紅外接近傳感器作為紅外檢測模塊。SI1102是一款高性能的接近檢測傳感器,可以檢測到50 cm以內的人體;它工作在單脈沖檢測模式,功耗較低,檢測門限和檢測頻率可調;具有PRX狀態(tài)的鎖存功能,可減少誤檢和漏檢;通過400 mA的LED驅動電流維持工作。
采用5 V的28BYJ48步進電機,電流約為200 mA,用ULN2003驅動,端口號為P0.0、P0.1、P0.2、P0.3,分別對應編碼A、B、C、D[10],見表1所列。

表1 28BYJ48電機正轉表
本系統(tǒng)在Keil μVision4環(huán)境下進行仿真調試,如圖1所示,主要采用C語言進行開發(fā)。與機器裝配語言進行比較表明,使用C語言可以實現(xiàn)較強的整體配置和可讀性。Keil μVision4內部集成了較為豐富的庫函數(shù)可以供使用者隨時讀取調用,并與Microsoft系統(tǒng)具有良好的兼容性。在這種環(huán)境下編譯程序成功的概率比較大,尤其是在完成較大的軟件與系統(tǒng)設計時更容易展現(xiàn)Keil μVision4的優(yōu)勢。

圖1 Keil μVision4界面
在目標文件中建立Hex文件,出現(xiàn)如圖2所示對話框時點擊Create Hex File,確認之后可以新建Hex文件,在燒錄時就可以對“.c”文件進行操作。

圖2 Hex文件的建立
Proteus 8軟件和Keil μVision4編程開發(fā)工具需要相互配合使用,具體操作步驟如下:
(1)打開Proteus 8軟件,在屏幕上有繪圖窗口,還有視圖小窗口,以及元器件的列表和控制、編譯按鈕。
(2)新建一個工程,在所選的工程文件中,選擇合適的元器件進行布線,即可繪制所需要的電路原理圖。
(3)打開Keil μVision4軟件開始編寫程序,然后點擊編譯按鈕完成編譯后生成Hex文件。
(4)在左側繪圖窗口中雙擊自己設計的STM32單片機,然后根據(jù)需要來修改硬件參數(shù)。
(5)點擊Program File,將之前生成的Hex文件加載進去。
(6)在設置完成后點擊關閉窗口,運行仿真。
程序調試和刻錄完成后,執(zhí)行功能測試。首先,系統(tǒng)通過紅外接近傳感器檢測到信號,即檢測到有人接近垃圾桶,并且判斷出人手或物體接近投料口(感應窗)約25~35 cm時,會自動驅動對應位置垃圾桶開啟;然后系統(tǒng)內部的圖像識別傳感器會將投放的垃圾與系統(tǒng)內的垃圾種類圖片進行對比,完成分類。如果5 s內沒有垃圾被投入垃圾桶,系統(tǒng)會驅動垃圾桶自動關閉。系統(tǒng)還會根據(jù)區(qū)域內回收終端內各種類垃圾所占比例,變更不同料倉的空間比例,并就近設置相應的可回收品回收站點。測試結果表明,該系統(tǒng)能夠實現(xiàn)對垃圾進行智能分類、回收的功能,不需要垃圾投放者自行對垃圾種類進行判斷,提高了垃圾的分類和回收效率。
本文設計了基于STM32單片機控制的智能垃圾分類終端,符合國家政策導向和現(xiàn)實需要。該系統(tǒng)能夠在人們投放垃圾時進行智能輔助分類,提高垃圾分類和回收效率,減少污染;并且可以通過顯示屏了解投放垃圾所屬的具體類別,提高人們垃圾分類和環(huán)保的意識。相比于市場上其他的智能垃圾箱,本產品能夠做到自動識別垃圾和分類,并且垃圾識別類型多,包含可回收垃圾、有毒垃圾、其他垃圾,且產品成本低廉、體積小,適合大范圍推廣。