南寧學院 汪小威 李夢茹
隨著現代科技的飛速發展,水產養殖開始向智能化方面發展。當前,我國水產養殖過程中水質檢測還大都是使用傳統的檢測方法,導致了檢測到的水質數據不太準確,浪費人工,資源,養殖收益降低等。針對以上問題,本文從軟件驅動設計角度闡述了基于STM32單片機的水質監測系統設計過程,實現了溫度檢測模塊、濁度檢測模塊、PH檢測模塊、警報模塊等的驅動設計,解決養殖用戶在養殖過程中水質出現溫度過高過低、水質渾濁、PH濃度過高,不能實時了解水質情況等養殖問題,提高養殖效率和產量。
在人們的生產活動中,水產養殖業在國民經濟中占據著很大的比重,有著重要的地位。近年來水產養殖業朝著工廠化,高密度的養殖模式快速轉型[1],養殖產量日益提高的同時伴隨而來的是水質惡化問題,極大的影響了水產養殖業的發展。
隨著經濟與社會的發展,智能化的養殖方式成為新的養殖方向。可以通過技術設備對水質檢測,根據水產品的生長環境及習性,適當的改變養殖環境,減少養殖的失誤,進而提高存活率,避免了資源的浪費。所以轉型水產養殖的產業結構是十分重要的,要將水產養殖結構從粗獷型轉化為科技型,大力推廣水產養殖的只能標準化是十分必要的。
歐美等發達國家建立了水質監測系統,在各個流域的支點建立監測點,形成一個水質監測網,能夠實現對水質的自動監測[2],國外的智能化養殖也愈發成熟,如美國哈希公司、德國SubCtech公司等研制出的在線水質監測儀,提供精確的水質監測。
國內在水產養殖方面,雖然我國水產養殖面積很大,但是早期很多都是中小規模的養殖場,昂貴的價格和維修費用讓很多中小規模的養殖場無法引進當時先進的技術[3]。不過隨著現代化工業建設與國內學者對于水質檢測技術的研究,國內的許多水域也應用了現代化的水質檢測系統,極大的提高了檢測效率與準確性。
基于Stm32水質監控系統,系統包含以下:PH檢測模塊、溫度模塊、渾濁度模塊和報警模塊等。利用PH傳感器、濁度傳感器、溫度傳感器對水質現實狀況進行數據的采集,把采集到的數據發送到Stm32主控芯片上,由主控芯片進行數據的分析和處理。當水質數據異常時,系統能夠立即做出應急處理措施,如當水質的比較渾濁時,主控對濁度傳感器采集數據進行分析、判斷,若超過閾值,就會發出警報并提示用戶,從而實現用戶能夠實時監控掌握水質。
使用static void DS18B20_GPIO_Config(void)配置DS18B20用到的I/O口,通過float DS18B20_Get_Temp(void)函數對水質溫度的讀取,獲取的到的溫度、sprintf()函數拼接存儲到Buf數組中并見溫度顯示在液晶屏上OLED_ShowStr,分析判斷溫濕度值TEMP_Value是否低于安全提示值。如果溫度過低則發出報警。核心代碼如下所示:

函數ADCx_Init()實現ADC初始化,通過void PH_Value_Conversion()函數實現數據采集處理計算PH值,得到結果后存儲在PH_Buff[]中,用OLED_ShowStr(0,0,"PH:",2)顯示在OLED顯示屏上,并判斷PH_Value值是否超過閾值,若超過則蜂鳴器報警。核心代碼如下所示:

濁度傳感器模讀取到水質中的數據時,通過函數void TU_Value_Conversion()采集電壓,并通過AD轉換計算出濁度值存儲于TU_Buff[]中,通過OLED_ShowStr(0,2,"TU:",2)顯示在屏幕,并判斷TU_value值是否超過閾值,決定報警器的報警功能。核心代碼如下所示:

各模塊上電后,圖1項目測試數據顯示圖第一行表示PH的濃度,第二行TU表示濁度值,第三行T表示溫度值,同時在終端上可以看到水質溫度,PH值和濁度變化的曲線,以及當水溫,PH值或濁度超過閾值時,終端上設置指示燈以不同的顏色進行顯示并報警,具體如圖2所示。

圖1 項目測試數據顯示圖Fig.1 Project test data display

圖2 項目數據曲線圖Fig.2 Project data curve
無線通信的水產品養殖監測系統軟件驅動的設計,確保了各硬件模塊的協同工作,完成了水質濁度、PH值、溫度等的數據采集,并通過相關程序對數據進行分析,預警等,通過對應的應急處理措施,實現了用戶對水質的實時監測,為廣大用戶提供了智能化的水產養殖方式。
引用
[1] 顧超.基于物聯網技術的水質監測系統的設計與實現[D].北京:北京郵電大學,2020.
[2] 朱建錫,鄭濤,費焱,等.無線傳感器網絡在水產養殖中的應用[J].時代農機,2018,45(7):186-189.
[3] 楊磊.基于NB-IoT的水質監測系統設計[D].杭州:浙江理工大學,2020.