郭宇豪,朱宵月,田晨陽,朱秋潤,彭龍,尹輝娟
(河北農業大學信息科學與技術學院,河北 保定 071000)
隨著生活水平的日益提高,人們在追求富裕物質生活的同時也要求豐富多彩、有益身心、健康的精神生活,觀賞魚的飼養成為了很多家庭美化居家環境、陶冶情操的不二之選。觀賞魚不僅具有極強的觀賞性,使家中更加生意盎然,充滿生機;魚缸中水分的自然蒸發,還可以增加室內空氣濕度,使環境不那么干燥[1]。
觀賞魚的飼養是一項技術性較強的工作,由于飼養者經驗不足或無精力照顧等問題,養魚過程可能出現病魚、死魚的現象[2];不僅如此,在新生小魚出現后,總免不了被大魚吞食[3],如何把魚養好及如何保護新生小魚的安全成為許多養魚者普遍擔心的問題,因此設計一套基于STM32的家用智慧魚缸系統是非常有必要的。
基于STM32的家用智慧魚缸系統主要由水循環模塊、喂食器模塊、溫度監測模塊、新生小魚監測模塊和應急處理模塊共五大模塊組成。
水循環模塊包含有濁度傳感器、溶氧量傳感器和水泵。在檢測到水質濁度和溶氧量異常時工作,保證水箱內水質濁度、溶氧量處于正常狀態,智能進行魚缸內外的水循環。
喂食器模塊既能使用在單片機內部根據觀賞魚的習性預存的喂食量與喂食間隔,又能夠供用戶自行控制,個性化的定制適合自己魚類的喂食方式和間隔。
溫度監測模塊通過溫度傳感器接收魚缸內的水溫信息,并將相關數據與設定閾值進行比對判斷,進而控制升溫電路的接通與關斷。
新生小魚檢測模塊通過周期性的圖形監測與對比,將相關數據進行分析,數據判斷狀態為有小魚后,通過手機APP發送消息,提醒用戶進行大小魚分離操作。
應急處理模塊在水箱發生短期斷電時,通過蜂鳴器、LED顯示屏和手機APP三種形式發送報警信息,提醒用戶及時檢查相關問題,并為魚缸的控制系統提供短期的緊急電力供應,確保短期內的魚缸控制系統工作正常[4]。
本系統以STM32F103VCT6單片機為主控芯片,各功能模塊中的硬件構成如圖1所示,星標為主要硬件。

圖1 基于STM32的家用觀賞魚智慧魚缸系統
水質濁度傳感器可根據水中的懸浮顆粒產生的散射光與透射光比值代替單純的散射光測量濁度,傳感器在整個量程范圍內具有良好的線性關系,只需一點標定,維護簡單。當檢測到魚缸水質濁度大于提前設定好的最高閾值時,啟動水循環模塊進行魚缸換水,當檢測到魚缸水質濁度小于提前設定好的最低閾值時,關閉水循環模塊,魚缸換水動作停止。水質濁度傳感器選用TS-300系列傳感器,該系列傳感器廣泛應用于家用洗衣機、洗碗機上,具有配置方便、靈敏度高等優點,適合本設計應用。
溫度傳感器采用DS18B20數字溫度傳感器,該傳感器具有體積小、硬件開銷低、抗干擾能力強、精度高的特點,接線方便,封裝后可應用于多種場合,型號多種多樣,有LTM8874、LTM8877等。具有獨特的單線接口方式,與單片機連接時僅需要一條口線,用戶可自設定非易失性的報警上下限值,且外圍電路簡單,使用時不需要外圍元件,可用數據總線供電。當溫度傳感器檢測到的數據為低于設定的最低閾值時,打開開關使加熱電路處于接通狀態,魚缸溫度會升高,當溫度傳感器檢測到的數據為高于設定的最高閾值時,關閉開關使加熱電路處于斷開狀態,魚缸溫度會降低[5]。
溶解氧傳感器模塊根據檢測到的水箱中的溶氧量來做出相應動作,當溶解氧傳感器檢測到水箱中氧氣含量異常時,向STM32單片機發送指令,使水循環模塊啟動進行魚缸換水,定時循環檢測水箱中的溶氧量,當溶氧量恢復正常值后,使水循環模塊關閉,停止魚缸換水動作,保證水箱中的溶氧量始終為最佳狀態,避免觀賞魚因氧氣不足而失去生命特征。
系統喂食器模塊中預置多種觀賞魚類的養殖信息和相關設定,飼養者可以根據所養魚的種類、數量進行自主調節。通過使用定時器,飼養者也可根據所養魚類的實際情況進行自主定時調節,通過改變喂食時間來控制喂食的量,從而達到精準自動喂食的目的。本系統使用SG90舵機來控制喂食器卡槽的開關,此舵機是一種位置伺服的驅動器,扭力1.3到1.7kg/cm,工作電壓:4.8V到6V DC,使用范圍廣泛,價格低,適用于本系統。
新生小魚監測模塊主要利用微型攝像頭來完成。通過對水中生物照片的間斷性比對,若發現水中有小魚的誕生,能夠及時發送信號到STM32單片機,由STM32單片機發送指令到電磁式有源蜂鳴器、LED顯示屏和通過WIFI模塊發送消息到手機APP,來提醒飼養者進行相關隔離操作,避免小魚被大魚吞食的意外發生。
系統軟件流程如圖2所示。首先各模塊初始化,然后判斷魚缸是否短期停電,若未停電則判斷是否產生喂魚中斷,若短期停電,則啟動應急處理模塊:蜂鳴器響起同時向手機APP發送魚缸停電報警信息,提醒飼養者魚缸停電及時修復供電,并在LED顯示屏上顯示魚缸斷電。判斷2分鐘后供電是否恢復,若未恢復則繼續執行應急處理模塊,若供電恢復則判斷是否產生喂魚中斷,若產生了喂魚中斷則喂魚,若未產生喂魚中斷或喂魚動作完成則進行溫度傳感器采集數據上報并進行分析比對,判斷溫度是否正常,若魚缸溫度不正常,則將魚缸溫度調節至正常溫度,若溫度正常,則進行水質濁度傳感器采集數據上報并進行比對分析,若濁度不正常,則開始換水,定時檢測當前濁度是否低于設定的最低閾值,若不低于則繼續換水,若低于及濁度正常,則停止換水,之后檢測水箱中的溶氧量是否達標,若溶氧量不達標則啟動藍光系統輔助照射,提高溶氧量,若溶氧量達標則檢測是否有新生小魚,若有新生小魚則向手機APP發送信息提醒主人出現新生小魚,及時將小魚與大魚進行物理隔離避免小魚被大魚吞食,若沒有新生小魚,系統返回模塊初始化狀態繼續工作。相關手機APP顯示及設置界面如圖3所示。

圖2 系統軟件流程圖

圖3 手機APP顯示及設置界面
基于STM32的家用智慧魚缸系統具有性價比高、使用方便、容變性強、定制化程度高的優點,本系統可廣泛應用于中小型魚缸,為用戶科學飼養觀賞魚提供極大便利。隨著科技的發展,智慧魚缸系統將會成為越來越多觀賞魚養殖者的選擇,定制化、個性化、遠程化的操控方式也將成為更多智慧魚缸系統的功能拓展方向。