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