以
wifi遠距離模塊為基礎(chǔ)的智能垃圾箱系統(tǒng)設(shè)計,隨著人們對生活質(zhì)量的提高,科技的高速發(fā)展,環(huán)境問題也將逐步惡化,有關(guān)資料顯示,垃圾生產(chǎn)與GDP緊密相關(guān),隨著GDP的增長,垃圾產(chǎn)量將進一步增加。特別是我國人口數(shù)量基數(shù)大,平均垃圾產(chǎn)生量非常大,城市的環(huán)境問題也成為一個巨大的問題,因此,為了更好地處理垃圾,國家開始提出垃圾分類,以便更好地處理。人生中,并非每一件垃圾都是完全無價值的,飲料瓶收集后,可以再熔化鋁,制成鋁制品。怎樣有效地分類處理這類垃圾,是當前治理城市環(huán)境問題的首要任務。于是分類處理垃圾,誕生了一種用不同垃圾箱來分類的垃圾,在大街上放置不同的垃圾箱來收集不同的垃圾,現(xiàn)在街上的主流垃圾箱分為“可回收垃圾”桶和“不可回收垃圾”垃圾箱。如今是高科技智能時代,在垃圾分類中采用人工智能,當不知道具體垃圾的具體分類時,垃圾箱自動幫助選擇。
討論了智能垃圾箱,在OpenMV的基礎(chǔ)上,利用OpenMV技術(shù),串口通訊把信息傳送到Arduino單片機,經(jīng)過單片機的處理后,控制舵機旋轉(zhuǎn),打開相應的垃圾箱,自動分類垃圾。通過與Arduino的通訊,可實時觀察垃圾桶當前狀況,及時更換垃圾袋。該系統(tǒng)主要依靠模塊間的
wifi串口通訊來實現(xiàn),利用OpenMV采集圖像信息,發(fā)送到Arduino單片機處理相應的數(shù)據(jù),然后控制舵機選擇對應的垃圾槽。
其硬件結(jié)構(gòu)主要包括:OpenMV采集模塊、分類模塊、微處理器、通訊模塊、舵機、電源模塊。在該系統(tǒng)中,OpenMV對垃圾顏色進行采集,提取顏色信息,通過串口通訊傳輸?shù)紸rduino單片機,并與舵機連接,控制垃圾箱的轉(zhuǎn)動。
設(shè)計的圖像采集模塊主要采用OpenMV攝像機,以串口通訊方式與Arduino單片機相連接,并傳送相應的顏色參數(shù),以控制舵機的轉(zhuǎn)動并開啟相應的分類垃圾槽。為OpenMV與圖像采集模塊之間的通訊結(jié)構(gòu)。OpenMV4H7是本文選用的攝像機模塊,采用STM32H743集成,主頻為400M,內(nèi)存2M,運行速度較快,而且與OpenMV3相比,具有更多可選鏡頭,并且易于更換。
系統(tǒng)選型出cv520wifi遠距離模塊,硬件接口豐富,可滿足本設(shè)計所需的數(shù)據(jù)傳輸需求。可以接受串口數(shù)據(jù),WiFi輸出數(shù)據(jù),實時顯示當前垃圾箱的具體狀況。CV520采用三種模式,即STA、AP和STA+AP模式。使用ArduinoIDE,可以輕松地添加CV520庫模塊。在添加庫之后,使用Arduino與CV520wifi遠距離模塊針腳實現(xiàn)串行通訊,數(shù)據(jù)無線傳輸,實現(xiàn)實時存儲,監(jiān)控垃圾箱內(nèi)情況。
轉(zhuǎn)向機構(gòu)通過PWM波形控制電動機轉(zhuǎn)動,并利用Arduino控制轉(zhuǎn)動角。轉(zhuǎn)向機構(gòu)力矩大,滿足系統(tǒng)設(shè)計要求,且易于操縱舵機,編程簡單,可操作性強。轉(zhuǎn)向裝置也包括伺服電機(電機、傳感器和控制器)的整體系統(tǒng),價格低廉,節(jié)省智能垃圾箱的成本。
為便于分類,設(shè)計選擇了環(huán)形回轉(zhuǎn)式垃圾桶,將垃圾桶分成3個槽,每個槽套上不同的垃圾袋。如果垃圾經(jīng)過OpenMV攝像頭檢測到,對顏色信息進行處理,再將處理好的信息送至Arduino單片機,Arduino單片機接收數(shù)據(jù),控制帶動舵機轉(zhuǎn)動相應角度,使槽到達垃圾箱入口,這樣就循環(huán)利用了垃圾,根據(jù)生活規(guī)律還可以劃分大小不同的垃圾區(qū)域,使空間更加適用,不造成空間浪費。
智能垃圾圖像分類算法。系統(tǒng)主要由三部分組成,一部分是圖像的采集與獲取,其中以O(shè)penMV搭載的攝像機為主體,能夠?qū)鴪D像進行提??;其次是信息的加工與預處理,是圖像處理的核心。這個部分也由OpenMV處理,向Arduino傳遞信息,為隨后的垃圾箱工作提供基礎(chǔ),是圖像處理的核心;第三部分是識別分類的過程,把前一步的信號轉(zhuǎn)化為垃圾箱能夠識別的信號。
BP神經(jīng)網(wǎng)絡是目前應用廣泛的人工神經(jīng)網(wǎng)絡,它由輸入層、隱層和輸出層組成,各層間的連接用權(quán)值表示。BP網(wǎng)絡需要解決的主要問題是算法,傳統(tǒng)的BP學習算法是小二乘方法。在設(shè)計過程中,需要對灰度像素進行識別,通常由BP神經(jīng)網(wǎng)絡的輸入層、隱藏層和輸出層開始。輸入層設(shè)計:BP神經(jīng)網(wǎng)絡輸入層中的節(jié)點數(shù)量通常取決于問題求解的影響因素。在圖象識別中,影響系數(shù)是圖象識別的特點。這樣,設(shè)計網(wǎng)中的輸入節(jié)點數(shù)就等于使用了圖像識別功能。
輸出層設(shè)計:輸出層結(jié)點數(shù)目由輸出值表示方式?jīng)Q定,本文要確定輸出層的神經(jīng)元,必須設(shè)定目標的分類。隱層設(shè)計:在每個節(jié)點都使用S型函數(shù)的情況下,如果節(jié)點為隱含層,就可以解決決策分類問題。增大屏幕層數(shù)可以進一步減少誤差和提高準確度,但是也會使網(wǎng)絡更復雜,同時也增加了訓練網(wǎng)絡權(quán)值的時間。所以,在沒有特殊要求的情況下,本文選擇單隱層。
利用OpenMV軟件,可通過攝像機自帶相機對色塊進行識別,經(jīng)過多次訓練,將色塊記錄下來。在OpenMVIDE中,通過串口向Arduino單片機進行后續(xù)處理,其中有很多程序可以查找色塊,文章舉一個尋找單色塊的例子。
該功能主要用于設(shè)計find_blobs函數(shù),可通過find_blobs函數(shù)查找。設(shè)定色彩閾值,可定義多種顏色列表或單色,并根據(jù)情況選擇相應的閾值。假定填充的是紅色色塊的閾值,程序運行后,會發(fā)現(xiàn)跟蹤到的紅色色塊已被識別,紅色區(qū)域全部被框出,可通過IDE自帶顏色門限工具將其計算出門限,并將其輸入thresholds函數(shù)。如:需要觀察紅色旁的綠色色塊,只需進入閾值工具,拖動滑塊將除綠以外的所有顏色全部變?yōu)楹谏?,下面的LAB閾值是需要填充的參數(shù)。填入?yún)?shù)后,再次運行程序,即可找到所需的顏色塊,綠色部分已選定。經(jīng)多次訓練后,可得到由多個色塊代表的垃圾閾值,統(tǒng)計出顏色閾值,通過串口發(fā)送到Arduino微控制器。當門限信息被Arduino單片機接收后,通過串口通訊,使舵機旋轉(zhuǎn),打開不同的分類箱。
Arduino的編程方式類似于C語言,就是舵機操作程序,當串口收到數(shù)據(jù)時,就可以控制舵機轉(zhuǎn)動一定角度,開啟相應的回收器。
OpenMV與Arduino通訊非常簡單,采用串口3的方式。在OpenMV觀測到色塊信息時,Arduino接收信息到計算機,并通過發(fā)送色塊中間坐標進行顯示。因此,ArduinoMega的邏輯是:讀取softSerial的數(shù)據(jù)(json),然后將其解析為數(shù)組,發(fā)送到Serial(計算機)。舉例來說:要查找黃色色塊,發(fā)送中心坐標給Arduino以用于數(shù)組處理和顯示。當Arduino接收到的數(shù)據(jù)與設(shè)定的閾值相等時,控制舵機旋轉(zhuǎn)相應的度數(shù),就能完成串口通信,從而實現(xiàn)對不同的垃圾桶的通信。COM口會顯示發(fā)送的數(shù)值。
利用wifi遠距離模塊,可以遠程監(jiān)測垃圾箱的當前狀況。當垃圾箱滿了或出現(xiàn)故障時,報警燈就會亮起來,同時將信息傳送到APP。由于Arduino的串口需要接入主機的Labview顯示,所以選擇了軟串口將wifi遠距離模塊連接起來。
利用VISA串口,與單片機相連獲取數(shù)據(jù)顯示,接收到OpenMV跟蹤圖像信息,利用Labview上位機上顯示的數(shù)據(jù),可遠程監(jiān)測垃圾箱的運行情況和狀態(tài)。從Labview觀察OpenMV串口當前傳輸數(shù)據(jù)的情況。
在OpenMV垃圾分類的基礎(chǔ)上,采用BP神經(jīng)網(wǎng)絡建立垃圾分類模型,OpenMV對神經(jīng)網(wǎng)絡進行訓練,再由Labview顯示與調(diào)整,實現(xiàn)對垃圾進行分類。研究了垃圾分類技術(shù),分析了目前智能垃圾箱的現(xiàn)狀,建立了一種基于OpenMV技術(shù)的垃圾分類垃圾箱,改造垃圾箱內(nèi)部結(jié)構(gòu),設(shè)計硬件控制電路,采用OpenMV實現(xiàn)圖像處理,對垃圾進行特征提取,利用BP神經(jīng)網(wǎng)絡算法對樣本進行輸入,完成BP神經(jīng)網(wǎng)絡的訓練。采用wifi遠距離模塊串口通訊方式,將系統(tǒng)串聯(lián)起來,完成智能分類垃圾桶的設(shè)計。