郭宇豪,朱宵月,田晨陽,朱秋潤,彭龍,尹輝娟
(河北農(nóng)業(yè)大學(xué)信息科學(xué)與技術(shù)學(xué)院,河北 保定 071000)
隨著生活水平的日益提高,人們在追求富裕物質(zhì)生活的同時(shí)也要求豐富多彩、有益身心、健康的精神生活,觀賞魚的飼養(yǎng)成為了很多家庭美化居家環(huán)境、陶冶情操的不二之選。觀賞魚不僅具有極強(qiáng)的觀賞性,使家中更加生意盎然,充滿生機(jī);魚缸中水分的自然蒸發(fā),還可以增加室內(nèi)空氣濕度,使環(huán)境不那么干燥[1]。
觀賞魚的飼養(yǎng)是一項(xiàng)技術(shù)性較強(qiáng)的工作,由于飼養(yǎng)者經(jīng)驗(yàn)不足或無精力照顧等問題,養(yǎng)魚過程可能出現(xiàn)病魚、死魚的現(xiàn)象[2];不僅如此,在新生小魚出現(xiàn)后,總免不了被大魚吞食[3],如何把魚養(yǎng)好及如何保護(hù)新生小魚的安全成為許多養(yǎng)魚者普遍擔(dān)心的問題,因此設(shè)計(jì)一套基于STM32的家用智慧魚缸系統(tǒng)是非常有必要的。
基于STM32的家用智慧魚缸系統(tǒng)主要由水循環(huán)模塊、喂食器模塊、溫度監(jiān)測模塊、新生小魚監(jiān)測模塊和應(yīng)急處理模塊共五大模塊組成。
水循環(huán)模塊包含有濁度傳感器、溶氧量傳感器和水泵。在檢測到水質(zhì)濁度和溶氧量異常時(shí)工作,保證水箱內(nèi)水質(zhì)濁度、溶氧量處于正常狀態(tài),智能進(jìn)行魚缸內(nèi)外的水循環(huán)。
喂食器模塊既能使用在單片機(jī)內(nèi)部根據(jù)觀賞魚的習(xí)性預(yù)存的喂食量與喂食間隔,又能夠供用戶自行控制,個(gè)性化的定制適合自己魚類的喂食方式和間隔。
溫度監(jiān)測模塊通過溫度傳感器接收魚缸內(nèi)的水溫信息,并將相關(guān)數(shù)據(jù)與設(shè)定閾值進(jìn)行比對判斷,進(jìn)而控制升溫電路的接通與關(guān)斷。
新生小魚檢測模塊通過周期性的圖形監(jiān)測與對比,將相關(guān)數(shù)據(jù)進(jìn)行分析,數(shù)據(jù)判斷狀態(tài)為有小魚后,通過手機(jī)APP發(fā)送消息,提醒用戶進(jìn)行大小魚分離操作。
應(yīng)急處理模塊在水箱發(fā)生短期斷電時(shí),通過蜂鳴器、LED顯示屏和手機(jī)APP三種形式發(fā)送報(bào)警信息,提醒用戶及時(shí)檢查相關(guān)問題,并為魚缸的控制系統(tǒng)提供短期的緊急電力供應(yīng),確保短期內(nèi)的魚缸控制系統(tǒng)工作正常[4]。
本系統(tǒng)以STM32F103VCT6單片機(jī)為主控芯片,各功能模塊中的硬件構(gòu)成如圖1所示,星標(biāo)為主要硬件。
圖1 基于STM32的家用觀賞魚智慧魚缸系統(tǒng)
水質(zhì)濁度傳感器可根據(jù)水中的懸浮顆粒產(chǎn)生的散射光與透射光比值代替單純的散射光測量濁度,傳感器在整個(gè)量程范圍內(nèi)具有良好的線性關(guān)系,只需一點(diǎn)標(biāo)定,維護(hù)簡單。當(dāng)檢測到魚缸水質(zhì)濁度大于提前設(shè)定好的最高閾值時(shí),啟動(dòng)水循環(huán)模塊進(jìn)行魚缸換水,當(dāng)檢測到魚缸水質(zhì)濁度小于提前設(shè)定好的最低閾值時(shí),關(guān)閉水循環(huán)模塊,魚缸換水動(dòng)作停止。水質(zhì)濁度傳感器選用TS-300系列傳感器,該系列傳感器廣泛應(yīng)用于家用洗衣機(jī)、洗碗機(jī)上,具有配置方便、靈敏度高等優(yōu)點(diǎn),適合本設(shè)計(jì)應(yīng)用。
溫度傳感器采用DS18B20數(shù)字溫度傳感器,該傳感器具有體積小、硬件開銷低、抗干擾能力強(qiáng)、精度高的特點(diǎn),接線方便,封裝后可應(yīng)用于多種場合,型號多種多樣,有LTM8874、LTM8877等。具有獨(dú)特的單線接口方式,與單片機(jī)連接時(shí)僅需要一條口線,用戶可自設(shè)定非易失性的報(bào)警上下限值,且外圍電路簡單,使用時(shí)不需要外圍元件,可用數(shù)據(jù)總線供電。當(dāng)溫度傳感器檢測到的數(shù)據(jù)為低于設(shè)定的最低閾值時(shí),打開開關(guān)使加熱電路處于接通狀態(tài),魚缸溫度會(huì)升高,當(dāng)溫度傳感器檢測到的數(shù)據(jù)為高于設(shè)定的最高閾值時(shí),關(guān)閉開關(guān)使加熱電路處于斷開狀態(tài),魚缸溫度會(huì)降低[5]。
溶解氧傳感器模塊根據(jù)檢測到的水箱中的溶氧量來做出相應(yīng)動(dòng)作,當(dāng)溶解氧傳感器檢測到水箱中氧氣含量異常時(shí),向STM32單片機(jī)發(fā)送指令,使水循環(huán)模塊啟動(dòng)進(jìn)行魚缸換水,定時(shí)循環(huán)檢測水箱中的溶氧量,當(dāng)溶氧量恢復(fù)正常值后,使水循環(huán)模塊關(guān)閉,停止魚缸換水動(dòng)作,保證水箱中的溶氧量始終為最佳狀態(tài),避免觀賞魚因氧氣不足而失去生命特征。
系統(tǒng)喂食器模塊中預(yù)置多種觀賞魚類的養(yǎng)殖信息和相關(guān)設(shè)定,飼養(yǎng)者可以根據(jù)所養(yǎng)魚的種類、數(shù)量進(jìn)行自主調(diào)節(jié)。通過使用定時(shí)器,飼養(yǎng)者也可根據(jù)所養(yǎng)魚類的實(shí)際情況進(jìn)行自主定時(shí)調(diào)節(jié),通過改變喂食時(shí)間來控制喂食的量,從而達(dá)到精準(zhǔn)自動(dòng)喂食的目的。本系統(tǒng)使用SG90舵機(jī)來控制喂食器卡槽的開關(guān),此舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,扭力1.3到1.7kg/cm,工作電壓:4.8V到6V DC,使用范圍廣泛,價(jià)格低,適用于本系統(tǒng)。
新生小魚監(jiān)測模塊主要利用微型攝像頭來完成。通過對水中生物照片的間斷性比對,若發(fā)現(xiàn)水中有小魚的誕生,能夠及時(shí)發(fā)送信號到STM32單片機(jī),由STM32單片機(jī)發(fā)送指令到電磁式有源蜂鳴器、LED顯示屏和通過WIFI模塊發(fā)送消息到手機(jī)APP,來提醒飼養(yǎng)者進(jìn)行相關(guān)隔離操作,避免小魚被大魚吞食的意外發(fā)生。
系統(tǒng)軟件流程如圖2所示。首先各模塊初始化,然后判斷魚缸是否短期停電,若未停電則判斷是否產(chǎn)生喂魚中斷,若短期停電,則啟動(dòng)應(yīng)急處理模塊:蜂鳴器響起同時(shí)向手機(jī)APP發(fā)送魚缸停電報(bào)警信息,提醒飼養(yǎng)者魚缸停電及時(shí)修復(fù)供電,并在LED顯示屏上顯示魚缸斷電。判斷2分鐘后供電是否恢復(fù),若未恢復(fù)則繼續(xù)執(zhí)行應(yīng)急處理模塊,若供電恢復(fù)則判斷是否產(chǎn)生喂魚中斷,若產(chǎn)生了喂魚中斷則喂魚,若未產(chǎn)生喂魚中斷或喂魚動(dòng)作完成則進(jìn)行溫度傳感器采集數(shù)據(jù)上報(bào)并進(jìn)行分析比對,判斷溫度是否正常,若魚缸溫度不正常,則將魚缸溫度調(diào)節(jié)至正常溫度,若溫度正常,則進(jìn)行水質(zhì)濁度傳感器采集數(shù)據(jù)上報(bào)并進(jìn)行比對分析,若濁度不正常,則開始換水,定時(shí)檢測當(dāng)前濁度是否低于設(shè)定的最低閾值,若不低于則繼續(xù)換水,若低于及濁度正常,則停止換水,之后檢測水箱中的溶氧量是否達(dá)標(biāo),若溶氧量不達(dá)標(biāo)則啟動(dòng)藍(lán)光系統(tǒng)輔助照射,提高溶氧量,若溶氧量達(dá)標(biāo)則檢測是否有新生小魚,若有新生小魚則向手機(jī)APP發(fā)送信息提醒主人出現(xiàn)新生小魚,及時(shí)將小魚與大魚進(jìn)行物理隔離避免小魚被大魚吞食,若沒有新生小魚,系統(tǒng)返回模塊初始化狀態(tài)繼續(xù)工作。相關(guān)手機(jī)APP顯示及設(shè)置界面如圖3所示。
圖2 系統(tǒng)軟件流程圖
圖3 手機(jī)APP顯示及設(shè)置界面
基于STM32的家用智慧魚缸系統(tǒng)具有性價(jià)比高、使用方便、容變性強(qiáng)、定制化程度高的優(yōu)點(diǎn),本系統(tǒng)可廣泛應(yīng)用于中小型魚缸,為用戶科學(xué)飼養(yǎng)觀賞魚提供極大便利。隨著科技的發(fā)展,智慧魚缸系統(tǒng)將會(huì)成為越來越多觀賞魚養(yǎng)殖者的選擇,定制化、個(gè)性化、遠(yuǎn)程化的操控方式也將成為更多智慧魚缸系統(tǒng)的功能拓展方向。