濟南大學物理科學與技術學院 羅晟林 童艷榮
本項目利用STC89C52作為主控芯片,通過超聲波測距模塊控制舵機的轉動帶動垃圾桶蓋的開關。通過語音模塊LD3320和Arduino實現語音分類開關垃圾桶。并且加入ESP8266物聯網模塊與紅外光電開關模塊、煙霧檢測模塊等模塊協同工作,相比于傳統垃圾桶更加智能、安全。
隨著科技發展和生活水平的不斷提高,人們生活開始提倡環保、智能、安全可靠的主旋律,對垃圾桶的使用也有了進一步的需求。
近些年來,國內外研究人員對智能垃圾桶也有了較多的研究,但目前市場上大多數智能垃圾桶仍局限于自動開關、語音提示功能方面,無法滿足更多需求。基于物聯網的智能分類垃圾桶設計對環境治理、生活水平提高、經濟發展產生一系列廣泛的的影響,所以本設計的使用具有廣泛的應用價值和社會市場前景。
本設計采用STC89C52、語音模塊LD3320、Arduino、HC-SR04超聲波模塊、物聯網ESP8266模塊、紅外光電開關、SG-90舵機以及MQ-2煙霧模塊、太陽能供電電池。
當使用者手靠近超聲波模塊前端,主控芯片便控制舵機轉動打開垃圾桶。本設計將垃圾的信息錄入庫中,當LD3320檢測到投擲者念到某個垃圾名稱時,便從串口輸出綁定的串口數據。Arduino打開串口接收到數據后,控制對應舵機轉動打開垃圾桶。當多個紅外光電開關均被擋住時,即垃圾桶裝滿,此時單片機優先級控制舵機關閉垃圾桶,提示燈亮起。同時ESP82266借助物聯網平臺,記載裝滿信息并且以郵件等方式通知附近的使用者。此外還有煙霧檢測報警、太陽能供電等功能。

圖1 系統整體設計
本系統的無接觸式開關主要由STC89C52、HC-SR04超聲波模塊和SG-90舵機組成。STC89C52是市面上常見到的一款CMOS8位的微型控制器,擁有8K系統可編程Flash存儲器,并且低功耗,價格低,性能滿足日常的需求,故選擇了這款芯片作為主控芯片。HC-SR04的工作原理是發射端向前發出超聲波,同時開始計時,在傳播途中碰到障礙物立即返回來,接收器收到反射波后停止計時。舵機主要是由舵盤、位置反饋電位計5k、減速齒輪組等組成。其工作原理是根據單片機模擬PWM信號的輸出,通過調整周期信號中高電平的占空比來達到控制轉動角度的目的。
本系統的語音識別分類模塊是由LD3320、Arduino和舵機組成。LD3320的語音識別技術是基于ASR技術。其工作過程是:將語音頻譜分析——提取語音特征——匹配關鍵詞語——關鍵詞列表中選出最優結果輸出。Arduino是一個基于開放原始碼的軟硬體平臺,且具有類似C語言的Processing/Wiring簡單開發環境。我們只需要把需要識別的關鍵詞信息存入芯片中,即可以在下次識別中立即生效。比如“廢報紙”綁定數字“1”,我們喊“廢報紙”的時候,語音模塊就會通過串口輸出“1”,Arduino收到“1”后,調用程序中的“廢報紙”功能函數,控制相應的舵機轉動。
紅外光電開關是一種對射式光電開關,其檢測的物體不限于金屬,該傳感器探測距離在10cm-200cm之間,并非精密傳感器,但是價格較為便宜。考慮到本設計中對測量精確度并沒有特別大的要求,所以該類傳感器成為最優選擇。
ESP8266體積小,內置32位MCU,可以通過外在應用處理器搭載所有的WI-FI功能。當垃圾桶內裝滿垃圾時,led提示燈閃爍亮起的同時,發送信息告知附近使用者。另外使用者還可以隨時通過手機遠程查看垃圾桶裝滿情況以及每天裝滿次數。這使得清潔工等工作者們可以根據垃圾桶平日裝滿次數更有針對性地來做清理工作,方便了管理,也提高清理工作效率,凸顯人性化。
電源電路設計采用6V6W的薄膜太陽能發電板,在一定程度上可以彎曲。材質為單晶薄膜,吸光能力好,即使在陰天和多云等情況下電流也可以在0.16A-0.40A左右,遠優于單晶硅和多晶硅。所以該類太陽能發電板成為本設計中解決方案的理想選擇。將光伏板外接穩壓器給可充放蓄電池充電,以供設備的正常工作運行。
本設計的程序設計主要使用C語言和linkboy圖形編程。以單片機STC89C52為核心,將各個模塊連接起來,協調配合工作。本設計通過linkboy圖形編程,完成了發送郵件和查看垃圾桶裝載情況功能。在此基礎上,使用C語言完成無接觸開關垃圾桶、檢測垃圾桶裝滿、檢測煙霧氣體、語音識別分類開關等功能。
系統通電后,先檢測垃圾桶是否裝滿,如果垃圾桶已滿,單片機優先控制舵機停止轉動,提示燈亮起提示人們清理垃圾,同時ESP8266以郵件等方式通知使用者。當垃圾桶未滿時,超聲波測距模塊檢測前方阻礙物的距離,判斷是否開垃圾桶。該設計的系統設定值是8cm,當使用者用手、腳或其他方式靠近測距模塊前,即測得距離小于8cm,單片機控制舵機打開垃圾桶。之后測距模塊會不斷的檢測當前阻礙物距離,當檢測距離大于設定值時,即使用者離開垃圾桶時,單片機控制舵機五秒后閉合垃圾桶蓋。
本設計采用了語音識別模塊LD3320,它會對檢測到的聲音進行分析,選出聲音中關鍵幀與模塊內存放的綁定信息進行比較,最終得到最優綁定識別結果。隨后LD3320將識別結果通過串口通信的方式傳送給Arduino,在成功接收到串口數據之后,Arduino根據串口數據選擇控制不同的舵機轉動打開垃圾桶。
測試初期,舵機偶爾出現不受控制轉動,嚴重發熱,甚至燒毀舵機。產生這種情況的原因是因為煙霧監測模塊占用較大電流,導致舵機運行電流不足。為了解決電流不足的問題,本設計使用兩塊51最小系統,將煙霧模塊用另一個51最小系統單獨供電,從而保證了舵機正常的工作。
測試后期,在本設計語音識別分類過程中,發現檢測除普通話外,對粵語等方言也可以進行檢測甄別,這使得檢測內容更加豐富。另外系統還增加了語音交互模塊,在識別垃圾后,MP3會播放識別到的分類結果,在丟垃圾的過程也中多了幾分趣味。
結語:本文介紹了基于物聯網的智能分類垃圾桶的設計及實現過程,該設計的實現使人們使用垃圾桶更加方便、智能,滿足了人們對高品質生活的追求,相比于傳統垃圾桶更加安全衛生。
測試表明,該設計運行穩定、功能豐富,可以廣泛的應用在火車站、酒店等場景。具有一定的應用價值和市場前景。本設計相比于常見到的智能垃圾桶功能更加智能化、安全化。響應國家生態環保、垃圾分類的號召,對中國經濟可持續發展有著重要價值和意義。