版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要隨著物質(zhì)生活水平的不斷提高,智能家居產(chǎn)品日益成為人們生活中不可或缺的一部分。在眾多智能家居產(chǎn)品中,智能魚(yú)缸以其獨(dú)特的互動(dòng)性和趣味性,受到了廣泛的關(guān)注和歡迎。智能魚(yú)缸通過(guò)高科技手段,實(shí)現(xiàn)了魚(yú)缸環(huán)境的自動(dòng)監(jiān)測(cè)和調(diào)控,極大地簡(jiǎn)化了魚(yú)類(lèi)養(yǎng)殖的復(fù)雜性,提高了魚(yú)類(lèi)的生活質(zhì)量,因此,開(kāi)發(fā)一款高效、智能的魚(yú)缸管理系統(tǒng)具有重要的實(shí)用價(jià)值和市場(chǎng)潛力。本課題設(shè)計(jì)了一款基于STM32芯片的智能魚(yú)缸管理系統(tǒng),該系統(tǒng)通過(guò)集成多種傳感器,實(shí)時(shí)監(jiān)測(cè)魚(yú)缸水質(zhì)參數(shù),如溫度、pH值等,以及通過(guò)嵌入式系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行采集和處理,自動(dòng)調(diào)節(jié)水質(zhì),確保魚(yú)缸內(nèi)生態(tài)環(huán)境的穩(wěn)定。除此之外,系統(tǒng)還配備了自動(dòng)投喂、增氧和補(bǔ)光等功能,全面維護(hù)魚(yú)缸生態(tài),提升魚(yú)類(lèi)生活質(zhì)量。系統(tǒng)設(shè)計(jì)分為硬件和軟件兩大部分:硬件部分以STM32芯片為核心,負(fù)責(zé)數(shù)據(jù)的采集、存儲(chǔ)以及控制增氧、換水等外圍設(shè)備的操作;軟件部分則通過(guò)藍(lán)牙模塊與手機(jī)端APP通信,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)展示和遠(yuǎn)程控制功能。用戶(hù)可通過(guò)APP接收魚(yú)缸參數(shù)數(shù)據(jù)、發(fā)送控制指令,實(shí)現(xiàn)魚(yú)缸的遠(yuǎn)程管理和自動(dòng)控制。該設(shè)計(jì)方案經(jīng)過(guò)實(shí)際體驗(yàn)和需求驗(yàn)證,證明了其對(duì)于提高魚(yú)類(lèi)養(yǎng)殖效率和生活質(zhì)量的實(shí)際應(yīng)用價(jià)值。關(guān)鍵詞:智能魚(yú)缸;STM32;藍(lán)牙模塊;手機(jī)端APP
AbstractAsthestandardoflivingcontinuestorise,smarthomeproductshavebecomeanindispensablepartofpeople'slives.Amongtheplethoraofsmarthomeofferings,smartaquariums,withtheiruniqueinteractivityandentertainmentvalue,havegarneredwidespreadattentionandacclaim.Byutilizingadvancedtechnology,smartaquariumsautomatethemonitoringandregulationoftheaquaticenvironment,significantlysimplifyingthecomplexityoffishcultivationandenhancingthequalityoflifeforthefish.Therefore,developinganefficientandintelligentaquariummanagementsystemholdssignificantpracticalvalueandmarketpotential.ThisprojecthasdevelopedasmartaquariummanagementsystembasedontheSTM32chip.Thissystemintegratesvarioussensorstomonitorreal-timewaterqualityparameters,suchastemperatureandpHlevels.Itusesanembeddedsystemfordatacollectionandprocessing,automaticallyadjustingwaterqualitytoensurethestabilityoftheaquarium'secologicalenvironment.Additionally,thesystemisequippedwithfunctionalitieslikeautomaticfeeding,oxygenation,andsupplementallighting,comprehensivelymaintainingtheaquariumecologyandimprovingthequalityoflifeforthefish.Thesystemdesignisdividedintohardwareandsoftwarecomponents:Thehardware,centeredaroundtheSTM32chip,isresponsiblefordatacollection,storage,andtheoperationofperipheraldevicessuchasoxygenationandwaterchangingsystems.ThesoftwarecomponentcommunicateswithamobileappviaBluetoothmodule,enablingreal-timedatadisplayandremotecontrolfunctions.Userscanreceiveaquariumparameterdataandsendcontrolcommandsthroughtheapp,achievingremotemanagementandautomaticcontroloftheaquarium.Thisdesignschemehasbeenvalidatedthroughpracticalexperienceanddemandverification,provingitsvalueinenhancingtheefficiencyandqualityoflifeinfishcultivation.KeyWords:smartfishtank;STM32;bluetoothmodule;Mobileapp
目錄TOC\o"1-3"\h\z1引言 11.1選題背景 11.2國(guó)內(nèi)外研究現(xiàn)狀 11.3主要研究?jī)?nèi)容 22總體設(shè)計(jì) 42.1概述 42.2系統(tǒng)硬件功能設(shè)計(jì) 42.3軟件開(kāi)發(fā)工具選取 42.4系統(tǒng)設(shè)計(jì)要求 53硬件設(shè)計(jì) 63.1微處理器系統(tǒng) 63.1.1主控模塊 63.1.2溫度檢測(cè)調(diào)節(jié)模塊 73.1.3光強(qiáng)調(diào)節(jié)模塊 83.1.4水位調(diào)節(jié)模塊 93.1.5其他模塊設(shè)計(jì)電路 103.2鍵盤(pán)和顯示模塊 113.2.1鍵盤(pán)控制電路 113.2.2LCD1602顯示屏 123.3藍(lán)牙模塊 133.3.1藍(lán)牙模塊介紹 133.3.2藍(lán)牙模塊電路 144軟件設(shè)計(jì) 164.1主程序模塊設(shè)計(jì) 164.2時(shí)間溫度讀取模塊 174.2.1讀取DS1302的時(shí)鐘 174.2.2讀取DS18B20的溫度 184.3光照模塊軟件設(shè)計(jì) 204.4補(bǔ)水模塊軟件設(shè)計(jì) 204.5喂食模塊軟件設(shè)計(jì) 214.6鍵盤(pán)控制和顯示處理模塊 224.7Android客戶(hù)端 234.7.1AndroidApp藍(lán)牙通訊設(shè)計(jì) 234.7.2AndroidApp流程 245制作和調(diào)試 265.1基本功能測(cè)試 265.2自動(dòng)功能測(cè)試 275.3APP測(cè)試 286結(jié)論 29致謝 30參考文獻(xiàn) 31附錄1系統(tǒng)實(shí)物圖 33附錄2實(shí)驗(yàn)原理圖 34附錄3畢業(yè)設(shè)計(jì)作品說(shuō)明書(shū) 35附錄4重復(fù)率檢測(cè)報(bào)告 361引言1.1選題背景近年來(lái),隨著我國(guó)經(jīng)濟(jì)的迅速發(fā)展,人們對(duì)于生活品質(zhì)的要求也在不斷提升,智能家居成為了越來(lái)越受歡迎的產(chǎn)品。在此背景下,智能魚(yú)缸作為裝飾和智能家居功能于一身的家居品,開(kāi)始進(jìn)入家庭、辦公室和商場(chǎng)等場(chǎng)所。智能魚(yú)缸的出現(xiàn)不僅可以為人們帶來(lái)視覺(jué)上的享受,緩解精神壓力,而且可以將中國(guó)傳統(tǒng)文化融入日常生活中,豐富人們的生活。然而,目前市場(chǎng)上的魚(yú)缸種類(lèi)繁多,品質(zhì)參差不齊,大多數(shù)魚(yú)缸都需要手動(dòng)控制各項(xiàng)參數(shù),如溫度調(diào)節(jié)、換水、充氧和喂食等,這不僅給使用者帶來(lái)了不便,浪費(fèi)了時(shí)間和精力,而且還會(huì)影響?hù)~(yú)缸的觀賞性。由于現(xiàn)代社會(huì)生活節(jié)奏快,很多人沒(méi)有足夠的時(shí)間來(lái)照顧魚(yú)缸,導(dǎo)致水生生物的成活率不高因此,我們提出了智能魚(yú)缸的概念,旨在通過(guò)智能化管理、穩(wěn)定的水質(zhì)和完善的過(guò)濾系統(tǒng),為養(yǎng)魚(yú)愛(ài)好者提供更健康、更便捷的養(yǎng)殖方式。通過(guò)研究魚(yú)缸中的水溫、溶氧量、光照等的控制,我們?cè)O(shè)計(jì)出一套集多種功能于一體的控制系統(tǒng)。這套設(shè)計(jì)不僅解決了人們?cè)谌粘I钪袑?duì)魚(yú)缸的維護(hù)問(wèn)題,而且對(duì)利用高新技術(shù)改造原有的普通家居的發(fā)展具有實(shí)際意義和研究?jī)r(jià)值。通過(guò)將科技與日常生活相結(jié)合,提升生活的品質(zhì)。1.2國(guó)內(nèi)外研究現(xiàn)狀隨著經(jīng)濟(jì)狀況的不斷提升,人們對(duì)于寵物飼養(yǎng)的投入也越來(lái)越大,這就促進(jìn)了水族產(chǎn)業(yè)的蓬勃發(fā)展。根據(jù)相關(guān)數(shù)據(jù),2019年全球水族產(chǎn)業(yè)市場(chǎng)規(guī)模約為357.22億美元,而2020年這一數(shù)值上升至388.65億美元,增長(zhǎng)了8.8%。根據(jù)專(zhuān)家預(yù)測(cè),未來(lái)幾年魚(yú)類(lèi)養(yǎng)殖市場(chǎng)將繼續(xù)增長(zhǎng)。預(yù)計(jì)到2023年,會(huì)有一個(gè)488.67億驚人的數(shù)字出現(xiàn)。而在如此大的背景下也誕生出很多相對(duì)應(yīng)的智能魚(yú)缸系統(tǒng)。國(guó)外的一款名為FishBit是一款家庭智能水族監(jiān)控系統(tǒng),由主控單元、水質(zhì)傳感器和Wi-Fi接線板組成。水質(zhì)傳感器作為核心組件,需要放置在水族箱底部,用于實(shí)時(shí)監(jiān)控水溫、鹽度和PH值等水質(zhì)參數(shù)。主控單元通過(guò)Wi-Fi與路由器連接,讀取數(shù)據(jù)并發(fā)送給用戶(hù)。同時(shí),主控單元還負(fù)責(zé)控制接線板,讓用戶(hù)遠(yuǎn)程開(kāi)關(guān)燈光、水泵等設(shè)備。但該系統(tǒng)需要用戶(hù)手動(dòng)配置參數(shù),整個(gè)配置過(guò)程比較麻煩,且極容易配置錯(cuò)誤。且整套的系統(tǒng)需要395美元(約人民幣2568元),售價(jià)過(guò)高,推廣效果差[1]。在國(guó)內(nèi)也有很多類(lèi)似的產(chǎn)品,如森森、佳璐等,均有研究類(lèi)似的產(chǎn)品,且價(jià)格低廉,一般售價(jià)在900元左右,其中包括遙控功能、顯示功能,還可以通過(guò)手機(jī)進(jìn)行藍(lán)牙控制,不過(guò)開(kāi)發(fā)還不夠完善,整體集成度低,且在連接處容易滲水,技術(shù)不夠成熟。1.3主要研究?jī)?nèi)容本課題擬議ST公司生產(chǎn)的STM32單片機(jī)為核心,同時(shí)結(jié)合各類(lèi)傳感器技術(shù),設(shè)計(jì)一套適合的智能魚(yú)缸控制系統(tǒng)。其中主要任務(wù)是研制一套單片機(jī)系統(tǒng),并使此系統(tǒng)可實(shí)現(xiàn)對(duì)普通魚(yú)缸進(jìn)行智能控制和管理。整套系統(tǒng)能夠完成魚(yú)缸水質(zhì)及環(huán)境參數(shù)的自動(dòng)測(cè)量和智能控制。根據(jù)系統(tǒng)要求和擬完成的功能特點(diǎn),本課題研究的主要內(nèi)容有:(1)總體設(shè)計(jì):從功能需求和適用場(chǎng)景出發(fā),探討具體的使用方式,構(gòu)建合理的系統(tǒng)模型。確保整體方案可以穩(wěn)定運(yùn)行,且達(dá)到預(yù)期目標(biāo)。(2)硬件設(shè)計(jì):根據(jù)實(shí)際需求選擇合適的主控芯片,并采用成本效益高的元器件來(lái)實(shí)現(xiàn)系統(tǒng)功能。使用AD軟件繪制基本原理圖,并利用仿真軟件進(jìn)行驗(yàn)證。不斷優(yōu)化電路圖設(shè)計(jì),確保無(wú)誤后通過(guò)PCB打印制作外部硬件。(3)軟件設(shè)計(jì):對(duì)程序進(jìn)行模塊化設(shè)計(jì),優(yōu)化不同模塊的處理方法。從單獨(dú)模塊到整體系統(tǒng)進(jìn)行統(tǒng)一調(diào)試,確保軟件穩(wěn)定運(yùn)行。利用流程圖清晰展示各模塊關(guān)系,通過(guò)KeiluVision5軟件完成代碼編寫(xiě)。(4)系統(tǒng)的調(diào)試與運(yùn)行:將硬件與軟件結(jié)合,根據(jù)總體設(shè)計(jì)要求逐步調(diào)整,確保系統(tǒng)整體的可靠性和動(dòng)態(tài)響應(yīng)能力。在最終組裝時(shí)驗(yàn)證軟件與硬件的完美兼容,以確保系統(tǒng)性能達(dá)標(biāo),并保障設(shè)計(jì)方案的安全性和實(shí)用性。2總體設(shè)計(jì)2.1概述本課題開(kāi)發(fā)的智能生態(tài)魚(yú)缸系統(tǒng)主要將嵌入式技術(shù)和物聯(lián)網(wǎng)技術(shù)的高度融合,達(dá)成了數(shù)據(jù)采集、處理和輸出控制,以及串口通信的高效實(shí)現(xiàn)。系統(tǒng)通過(guò)各控制組件負(fù)責(zé)設(shè)定系統(tǒng)和控制參數(shù)、數(shù)據(jù)存儲(chǔ)與重置、時(shí)鐘電路管理、LCD顯示和按鍵輸入處理,以及多通道的輸入輸出指示。核心目標(biāo)是對(duì)魚(yú)缸內(nèi)的水溫、光照強(qiáng)度、水位等關(guān)鍵參數(shù)進(jìn)行智能化控制和遠(yuǎn)程監(jiān)控,從而優(yōu)化魚(yú)缸的生態(tài)環(huán)境,提升養(yǎng)殖效率和觀賞價(jià)值。2.2系統(tǒng)硬件功能設(shè)計(jì)在設(shè)計(jì)智能生態(tài)魚(yú)缸系統(tǒng)的硬件部分時(shí),核心采用了STM32微控制器,能夠有效地處理數(shù)據(jù)和控制各種傳感器。根據(jù)系統(tǒng)需求選用DS1302時(shí)鐘芯片、DS18B20熱敏傳感器、5505光敏傳感器和PP-45浮球式水位傳感器,并將數(shù)據(jù)傳輸?shù)轿⒖刂破鬟M(jìn)行處理,模擬自然環(huán)境,實(shí)現(xiàn)魚(yú)缸自動(dòng)調(diào)溫、補(bǔ)光、換水功能。同時(shí),考慮到用戶(hù)忙碌的生活節(jié)奏,系統(tǒng)加入了自動(dòng)喂食模塊,通過(guò)舵機(jī)驅(qū)動(dòng)來(lái)實(shí)現(xiàn)定時(shí)或遠(yuǎn)程控制喂食,減輕用戶(hù)的日常養(yǎng)護(hù)壓力。人機(jī)交互方面,系統(tǒng)通過(guò)HC-05藍(lán)牙模塊與移動(dòng)端設(shè)備進(jìn)行無(wú)線通信,結(jié)合LCD1602顯示屏,不僅可以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)展示,還能接收用戶(hù)的控制指令,使得操作更加便捷和直觀。這樣的硬件設(shè)計(jì)不僅滿(mǎn)足了智能魚(yú)缸管理的基本需求,也提高了用戶(hù)交互的友好性和系統(tǒng)的實(shí)用性。2.3軟件開(kāi)發(fā)工具選取軟件開(kāi)發(fā)工具使用KeiluVision5。這是一款由KeilSoftware公司開(kāi)發(fā)的集成開(kāi)發(fā)環(huán)境(IDE),運(yùn)行于Windows操作系統(tǒng),特別適用于嵌入式系統(tǒng)開(kāi)發(fā),特別是針對(duì)微控制器及多種處理器架構(gòu)。uVision5搭載了眾多配置工具,極大地提高了開(kāi)發(fā)效率。這些工具覆蓋了包括ARM、8051、PIC等在內(nèi)的多種微控制器,支持廣泛的開(kāi)發(fā)需求。通過(guò)uVision5,開(kāi)發(fā)人員可以輕松開(kāi)始新項(xiàng)目、導(dǎo)入現(xiàn)有代碼、配置硬件資源、編譯鏈接代碼以及進(jìn)行調(diào)試。此外,uVision5還提供了詳細(xì)的文檔資源和強(qiáng)大的社區(qū)支持,幫助解決開(kāi)發(fā)過(guò)程中遇到的問(wèn)題。因此,uVision5是一款理想的軟件開(kāi)發(fā)工具。2.4系統(tǒng)設(shè)計(jì)要求根據(jù)分析結(jié)果,具體的系統(tǒng)設(shè)計(jì)方案如下:1.時(shí)鐘模塊。利用DS1302芯片同步北京時(shí)間,并通過(guò)LCD1602顯示屏展示時(shí)間及其他關(guān)鍵參數(shù)。2.設(shè)定功能。允許用戶(hù)通過(guò)按鍵或藍(lán)牙設(shè)置一個(gè)喂食時(shí)間,到達(dá)預(yù)設(shè)時(shí)間時(shí),喂食裝置自動(dòng)啟動(dòng),舵機(jī)開(kāi)啟10秒后自動(dòng)關(guān)閉。用戶(hù)也可以選擇手動(dòng)喂食,即按下喂食鍵后,舵機(jī)同樣會(huì)開(kāi)啟10秒并自動(dòng)關(guān)閉。3.溫控系統(tǒng)。用戶(hù)可以通過(guò)按鍵或藍(lán)牙設(shè)置期望的溫度閾值。利用DS18B20溫度傳感器監(jiān)測(cè)水溫(測(cè)量范圍-55℃至+125℃,精度達(dá)±0.4℃)。若水溫低于設(shè)定值,則開(kāi)啟加熱器;若高于設(shè)定值,則關(guān)閉加熱器。4.補(bǔ)光模式??梢酝ㄟ^(guò)按鍵或藍(lán)牙設(shè)置為自動(dòng)或手動(dòng)。在手動(dòng)模式下,用戶(hù)通過(guò)按鍵控制補(bǔ)光燈;在自動(dòng)模式下,系統(tǒng)根據(jù)光強(qiáng)傳感器的讀數(shù)自動(dòng)調(diào)節(jié)補(bǔ)光燈,光線弱時(shí)開(kāi)燈,光線強(qiáng)時(shí)關(guān)燈。5.加氧功能。該功能的啟用和禁用可以通過(guò)按鍵或藍(lán)牙控制,加氧過(guò)程由加氧機(jī)完成。6.補(bǔ)水模塊。用戶(hù)可選擇補(bǔ)水模式為自動(dòng)或手動(dòng)。在手動(dòng)模式下,通過(guò)按鍵控制補(bǔ)水泵;自動(dòng)模式則根據(jù)浮球式水位傳感器的數(shù)據(jù)自動(dòng)控制,水位低時(shí)啟動(dòng)水泵,水位高時(shí)關(guān)閉。同時(shí),用戶(hù)可以通過(guò)按鍵或藍(lán)牙控制排污閥門(mén)的開(kāi)閉,由第二水泵完成排污過(guò)程。根據(jù)上述要求,最終以STM32為核心的控制系統(tǒng)如框圖2-1所示。圖2-1系統(tǒng)總體框圖
3硬件設(shè)計(jì)本系統(tǒng)硬件主要有三大模塊組成:微處理器系統(tǒng)、鍵盤(pán)、顯示模塊和藍(lán)牙模塊組成。其中,微處理器系統(tǒng)包括主控模塊、溫度調(diào)節(jié)模塊、光強(qiáng)調(diào)節(jié)模塊、水位調(diào)節(jié)模塊以及其他模塊(增氧、喂食、報(bào)警等)。本系統(tǒng)總體硬件電路圖如下所示。圖3-1系統(tǒng)總體硬件電路圖3.1微處理器系統(tǒng)3.1.1主控模塊本系統(tǒng)采用了STM32F103C芯片作為主控模塊,它是一款具備強(qiáng)大功能和高性能的主控模塊。這款微處理器內(nèi)置了眾多外設(shè),包括UART、SPI、I2C、ADC、DAC等,并且支持多種通信和輸入輸出接口,從而方便用戶(hù)進(jìn)行開(kāi)發(fā)操作。此外,它還集成了多種中斷源,支持實(shí)時(shí)中斷處理,非常適合實(shí)時(shí)系統(tǒng)開(kāi)發(fā)。值得一提的是,這款微處理器還具有多種工作模式,例如待機(jī)模式、停止模式等,能夠有效地降低功耗。綜上所述STM32F103C是一款功能強(qiáng)大、性能優(yōu)越的主控模塊,適用于各種嵌入式應(yīng)用開(kāi)發(fā),其單片機(jī)最小系統(tǒng)如3-2所示。圖3-2STM32F103C單片機(jī)最小系統(tǒng)本系統(tǒng)采用DS1302芯片[2,3]完成主控模塊絕對(duì)時(shí)鐘和相對(duì)時(shí)鐘電路的設(shè)計(jì)。其中此芯片是特殊的涓流充電芯片,內(nèi)部有實(shí)時(shí)的時(shí)鐘來(lái)確定信息,通過(guò)主要的三個(gè)端口線,來(lái)實(shí)現(xiàn)復(fù)位,數(shù)據(jù)傳輸和串行時(shí)鐘,這多個(gè)字節(jié)能夠通過(guò)三個(gè)總線來(lái)控制時(shí)間的穩(wěn)定性,同時(shí)可以改變PM和AM來(lái)實(shí)現(xiàn)其中的不同小時(shí)格式。而且DS1302工作時(shí)功耗很低保持?jǐn)?shù)據(jù)和時(shí)鐘信息功率小于1mW。系統(tǒng)設(shè)計(jì)該時(shí)鐘電路,主要是用于魚(yú)缸智能控制時(shí)間設(shè)定,其中時(shí)鐘電路的供電采用備用紐扣電池,當(dāng)主控部分?jǐn)嚯娨材鼙WC時(shí)間不會(huì)在重啟的時(shí)候錯(cuò)亂,保證整個(gè)系統(tǒng)正常的運(yùn)行。同時(shí)也方便設(shè)置定時(shí)喂食和打氧氣,從而保證魚(yú)缸的功能更加全面。時(shí)鐘電路圖如圖3-3所示圖3-3DS1302時(shí)鐘電路3.1.2電源電路為了實(shí)現(xiàn)主控模塊CMOS工藝電平標(biāo)準(zhǔn),要實(shí)現(xiàn)5V轉(zhuǎn)3.3V電壓轉(zhuǎn)換。所以,利用LM1117低壓調(diào)節(jié)器來(lái)完成電壓轉(zhuǎn)換,如圖3-4。芯片保證了提供限流和熱量保護(hù),同時(shí)通過(guò)主要調(diào)節(jié)方式的主要帶隙來(lái)保證輸出電壓的精度在±1%以?xún)?nèi),保證能給STM32供給3.3V工作電壓,完成主控的正常工作。圖3-45V轉(zhuǎn)3.3V電源模塊3.2溫度檢測(cè)調(diào)節(jié)模塊本系統(tǒng)選用Dallas半導(dǎo)體公司生產(chǎn)的DS1820溫度傳感器,體積小巧,電壓適合,同時(shí)性?xún)r(jià)比高,并且能夠讓用戶(hù)更加輕松的組成一條總線的傳感器網(wǎng)絡(luò),方便系統(tǒng)的測(cè)試。該組件采用T0-92,其本身有三個(gè)引腳且體積較少,溫度的測(cè)量范圍在在-55℃到+125℃之間,同時(shí)可編輯A/D的精度轉(zhuǎn)換,讓溫度的誤差在0.1°C,同時(shí)通過(guò)16位串行輸出來(lái)保證寄生電壓的遠(yuǎn)端引入,在保證總線的具體使用方式也可通過(guò)DS18B20進(jìn)行主要的端口線通信,同時(shí)采用主要端口來(lái)保證邏輯電路的具體實(shí)現(xiàn)和引線消去,使得微端口處理方便[4]。其內(nèi)部結(jié)構(gòu)圖如3-5所示。圖3-5DS18B20內(nèi)部結(jié)構(gòu)3.2.1溫度檢測(cè)電路溫度檢測(cè)電路基于DS18B20的溫度檢測(cè)電路設(shè)計(jì)圖,如圖3-6所示。從圖中可以看出,DS18B20的VDD引腳接到了5V電源上,GND接地,I/O引腳連接到了STM32的PC14,而且I/O引腳連接了阻值為4.7K歐姆的上拉電阻。這是因?yàn)镈S18B20只需要一根通信引腳即可完成數(shù)據(jù)的接收和發(fā)送,這種單線通信結(jié)構(gòu)非常簡(jiǎn)單。在接收數(shù)據(jù)時(shí),它的輸入電阻很高;在發(fā)送主要內(nèi)容時(shí),主要輸出為具體的漏級(jí)電壓輸出,當(dāng)輸出低電平時(shí),輸出為下拉電壓,三極管截止,而輸出高電壓時(shí)則為高組態(tài),這個(gè)時(shí)候就需要加上拉電阻從而實(shí)現(xiàn)正常輸出為1。圖3-6溫度檢測(cè)電路3.2.2溫度控制電路本系統(tǒng)還設(shè)計(jì)了溫度控制電路,當(dāng)溫度低于設(shè)定值,輸出高電平,電流導(dǎo)通加熱絲開(kāi)始加熱,并且LED亮,提示加熱片開(kāi)始工作。溫度控制電路如圖3-7所示。圖3-7溫度控制電路3.3光強(qiáng)調(diào)節(jié)模塊3.3.1光強(qiáng)檢測(cè)電路本系統(tǒng)設(shè)計(jì)光強(qiáng)檢測(cè)電路,在沒(méi)有光線照射時(shí),光敏幾乎處于高阻狀態(tài),暗電流很大,而光線直射的時(shí)候,其暗電流就很小,剛好可以實(shí)現(xiàn)主要的功能。這種特性使得光敏電阻在許多應(yīng)用中發(fā)揮著重要作用,如控制電路、傳感器等,其光照檢測(cè)電路原理圖如下圖3-8所示。光強(qiáng)檢測(cè)電路通過(guò)DO直接輸入給單片機(jī),實(shí)現(xiàn)數(shù)據(jù)的傳輸。圖3-8光敏電阻傳感器電路3.3.2補(bǔ)光電路當(dāng)光照強(qiáng)度不夠時(shí),可以通過(guò)單片機(jī)手動(dòng)設(shè)定自動(dòng)補(bǔ)光或手動(dòng)補(bǔ)光,當(dāng)設(shè)定手動(dòng)補(bǔ)光時(shí),光照檢測(cè)模塊不工作,補(bǔ)光片長(zhǎng)亮;當(dāng)選擇自動(dòng)補(bǔ)光時(shí),光照模塊檢測(cè)到光強(qiáng)不夠時(shí),PA2端口輸出由PA0的高低電平?jīng)Q定,當(dāng)檢測(cè)到光強(qiáng)不夠時(shí),補(bǔ)光片亮。如3-9所示為補(bǔ)光電路[5]。圖3-9補(bǔ)光電路3.4水位調(diào)節(jié)模塊3.4.1水位檢測(cè)電路水位檢測(cè)采用PP浮球液位開(kāi)關(guān),PP浮球液位開(kāi)關(guān)的工作機(jī)制是通過(guò)連桿機(jī)構(gòu)將浮球的升降動(dòng)作轉(zhuǎn)化為檢測(cè)探頭的開(kāi)啟或關(guān)閉動(dòng)作。當(dāng)被測(cè)液體的液位發(fā)生變化時(shí),浮球會(huì)隨之升降,當(dāng)浮球升到最高點(diǎn)或降到最低點(diǎn)時(shí),磁耦合會(huì)傳回開(kāi)關(guān)量,發(fā)出信號(hào)使控制電路執(zhí)行[6,7]。具體來(lái)說(shuō),它利用連桿把浮球置于容器液面上下移動(dòng),通過(guò)磁性連接浮球帶動(dòng)開(kāi)關(guān),利用磁性浮子及變送器實(shí)現(xiàn)測(cè)量液位的功能。具體實(shí)例如圖3-10所示。圖3-10pp浮球液位開(kāi)關(guān)3.4.2水位調(diào)節(jié)電路水位調(diào)節(jié)電路主要包括固定板、金屬?gòu)椈善⒚芊鈮|片、可動(dòng)開(kāi)關(guān)以及磁性浮球??蓜?dòng)開(kāi)關(guān)的另一端固定在固定板上,密封墊片與金屬?gòu)椈善欢讼噙B,并被壓縮一定距離,另一端緊貼容器內(nèi)壁。磁性浮球?yàn)槊芊饨Y(jié)構(gòu),中間為空腔,開(kāi)口端固定有環(huán)形磁鋼。當(dāng)浮球在液位發(fā)生變化時(shí),通過(guò)磁性浮球帶動(dòng)可動(dòng)開(kāi)關(guān)動(dòng)作,實(shí)現(xiàn)液位的測(cè)量[8]。這種開(kāi)關(guān)具有結(jié)構(gòu)簡(jiǎn)單、無(wú)機(jī)械可動(dòng)部件、無(wú)摩擦磨損、壽命長(zhǎng)、可靠性高等特點(diǎn)。它廣泛應(yīng)用于各種液位測(cè)量場(chǎng)合,是一種高效、可靠的液位控制設(shè)備。最后,根據(jù)其特性直接將它接在STM32單片機(jī)上如圖3-11,完成液位的控制。圖3-11水位開(kāi)關(guān)電路3.5鍵盤(pán)和顯示模塊3.5.1鍵盤(pán)控制電路鍵盤(pán)控制電路的主要職責(zé)是實(shí)現(xiàn)鍵盤(pán)的輸入功能,通常與主電路協(xié)同工作,以提供鍵盤(pán)的基本功能,包括啟動(dòng)、關(guān)閉及自我檢測(cè)。此外,鍵盤(pán)控制電路還具備消除抖動(dòng)和識(shí)別輸入等功能,以便更有效地利用鍵盤(pán)進(jìn)行信息輸入。同時(shí),還具備一些輔助功能,如蜂鳴器報(bào)警以及控制點(diǎn)亮等功能,以提高鍵盤(pán)的可維護(hù)性和人機(jī)交互性。如圖3-12,通過(guò)多個(gè)鍵盤(pán)控制電路,即可實(shí)現(xiàn)智能魚(yú)缸的手動(dòng)控制。圖3-12鍵盤(pán)控制電路3.5.2顯示模塊顯示模塊選用LCD1602,一款功能強(qiáng)大的字符型液晶顯示器,具有以下顯著特點(diǎn):首先,它是一款尺寸最大的液晶模塊,達(dá)到了16×2的規(guī)格,即顯示區(qū)域?yàn)?6行2列,能夠清晰地顯示0到9以及一些標(biāo)點(diǎn)符號(hào),甚至包括中文字庫(kù)。其次,它的液晶規(guī)格基于HD44780或其改進(jìn)型兼容,內(nèi)部集成了振蕩器、I2C總線接口和控制器,使得連接和操作變得簡(jiǎn)單快捷。此外,它還提供了靈活的數(shù)據(jù)總線寬度選擇,用戶(hù)可以根據(jù)需要選擇軟件可選字體大小和亮度的調(diào)整,進(jìn)一步增強(qiáng)了顯示效果。此外,LCD1602的光刻精細(xì),顯示圖形清晰度高。它還具備中文及全ASCII碼字符的圖形顯示能力,內(nèi)置了字符存儲(chǔ)器和光標(biāo),使得它在各種微處理器系統(tǒng)中都能得到廣泛應(yīng)用。最后,它的功耗低,僅為2W,大大降低了系統(tǒng)的整體能耗。值得一提的是,該模塊可以直接連接微處理器的串行口或通用并行口,使用方便。綜上所述,LCD顯示屏直接連接STM32單片機(jī)就可使用[9,10],如圖3-13。圖3-13LCD1602顯示電路3.6藍(lán)牙模塊本系統(tǒng)采用藍(lán)牙模塊,實(shí)現(xiàn)遠(yuǎn)程通訊,并保證能實(shí)現(xiàn)一對(duì)多的連接方式來(lái)實(shí)現(xiàn)智能魚(yú)缸的遠(yuǎn)程控制和信息傳輸。本系統(tǒng)選用HC-05藍(lán)牙模塊,是基于藍(lán)牙V4.0技術(shù)的無(wú)線通信模塊,具體實(shí)例如3-14。其因?yàn)樘匦裕瑥V泛應(yīng)用于各種嵌入式系統(tǒng),實(shí)現(xiàn)藍(lán)牙設(shè)備的無(wú)線通信,其優(yōu)點(diǎn)包括低成本、小體積和易集成,支持點(diǎn)對(duì)點(diǎn)(1對(duì)1)和點(diǎn)對(duì)多點(diǎn)(1對(duì)n)通信,可以與其他藍(lán)牙設(shè)備進(jìn)行數(shù)據(jù)傳輸[11],還配備了UART接口,可以通過(guò)串口進(jìn)行通信,便于與微控制器等其他硬件設(shè)備連接。圖3-14HC-05藍(lán)牙模塊3.6.1藍(lán)牙模塊電路本系統(tǒng)將藍(lán)牙模塊的RX和TX分別連在STM32的接受和傳輸端口,通過(guò)互相的信息交互,可遠(yuǎn)程控制單片機(jī),并可將單片機(jī)的數(shù)據(jù),投影到手機(jī)的APP上面,從而實(shí)現(xiàn)用戶(hù)與產(chǎn)品之間的信息流通,來(lái)使產(chǎn)品更加方便從而解放雙手,具體電路如圖3-15所示。圖3-15藍(lán)牙模塊電路3.7其他模塊設(shè)計(jì)電路3.7.1增氧模塊為了使魚(yú)類(lèi)有充足氧氣呼吸,需要對(duì)魚(yú)缸實(shí)現(xiàn)增氧,本系統(tǒng)選用最新的370氣泵套裝,其適用電壓為3-6V,能夠?qū)崿F(xiàn)單片機(jī)直接供電,實(shí)現(xiàn)魚(yú)缸增氧,電路圖如3-16所示,其具體原理和溫度控制一致。圖3-16增氧模塊3.7.2喂食模塊若用戶(hù)出門(mén)遠(yuǎn)行,魚(yú)缸中的魚(yú)還需要喂食,本系統(tǒng)還設(shè)計(jì)了喂食模塊,控制魚(yú)食喂養(yǎng)的數(shù)量。每次喂食時(shí),步進(jìn)電機(jī)都會(huì)轉(zhuǎn)動(dòng)180度。因此,當(dāng)魚(yú)的數(shù)量增加或減少時(shí),可以根據(jù)實(shí)際情況調(diào)整喂養(yǎng)頻率。當(dāng)按照正常數(shù)量的魚(yú)類(lèi)進(jìn)行喂養(yǎng)時(shí),所設(shè)定的喂養(yǎng)量可以滿(mǎn)足魚(yú)類(lèi)的正常生存需求。一般來(lái)說(shuō),如果養(yǎng)有十條魚(yú),每日喂食一次即可。自動(dòng)喂食模塊電路如圖3-17所示。圖3-17喂食模塊3.7.3報(bào)警模塊蜂鳴器模塊的作用主要是發(fā)出報(bào)警的聲音,通常用于提示用戶(hù)有重要信息需要處理。本次選用的蜂鳴器模塊采用S8550三極管驅(qū)動(dòng),如圖3-18所示,當(dāng)單片機(jī)PA1輸出低電平的時(shí)候,蜂鳴器開(kāi)始報(bào)警。圖3-18報(bào)警模塊
4軟件設(shè)計(jì)軟件設(shè)計(jì)是智能魚(yú)缸控制系統(tǒng)設(shè)計(jì)的關(guān)鍵所在,基于開(kāi)發(fā)基于系統(tǒng)的硬件架構(gòu),編寫(xiě)軟件程序,確保系統(tǒng)順利運(yùn)行。為確保軟件功能清晰、便于閱讀和調(diào)試,本系統(tǒng)采用模塊化設(shè)計(jì)方法,可有效促進(jìn)硬件組件如主控芯片、時(shí)鐘芯片、溫度傳感器及藍(lán)牙模塊等的有效整合,還強(qiáng)調(diào)了各功能模塊的獨(dú)立性與協(xié)同性。通過(guò)這種方式,當(dāng)調(diào)用相關(guān)模塊時(shí),可以確保各子模塊的獨(dú)立運(yùn)行,允許單獨(dú)調(diào)用而不影響系統(tǒng)的整體性能,不僅提高了系統(tǒng)的穩(wěn)定性,也保證了其運(yùn)行效率[12]。4.1主程序模塊設(shè)計(jì)智能魚(yú)缸的主控制程序首先進(jìn)行微控制單元(MCU)相關(guān)的串口初始化、硬件抽象層(HAL)庫(kù)以及藍(lán)牙協(xié)議和相關(guān)參數(shù)的設(shè)置,確保藍(lán)牙模塊與STM32之間能夠順利連接。隨后,程序會(huì)收集各種傳感器的數(shù)據(jù),并將這些數(shù)據(jù)展示在LCD顯示屏上。依照軟件的模塊化設(shè)計(jì)原則,系統(tǒng)功能被細(xì)分為若干子任務(wù),每個(gè)子任務(wù)分別在獨(dú)立的編譯頁(yè)面上開(kāi)發(fā),同時(shí)聲明各種函數(shù)以便于在不同模塊之間調(diào)用。通過(guò)這種方式,各子程序協(xié)同工作,不僅能夠?qū)崟r(shí)監(jiān)測(cè)并展示如光照強(qiáng)度、水溫等關(guān)鍵參數(shù),還能根據(jù)這些參數(shù)自動(dòng)控制水泵、燈光等硬件設(shè)施,從而調(diào)節(jié)魚(yú)缸內(nèi)部環(huán)境,實(shí)現(xiàn)智能生態(tài)管理。這樣的設(shè)計(jì)邏輯不僅清晰地展示了開(kāi)發(fā)者的設(shè)計(jì)思路,還極大地簡(jiǎn)化了程序的調(diào)試過(guò)程,提高了開(kāi)發(fā)效率和系統(tǒng)的可靠性。本系統(tǒng)的主程序流程圖,如圖4-1所示。圖4-1主程序工作流程圖intmain(void){ intshijian_nn=0;//時(shí)間初始化 SystemInit(); SystemCoreClockUpdate(); shuiwen=ds18b20_read();//水溫設(shè)定 Init1602();//初始化LCD1602 TimerConfig(TIM2,1);//5ms TimerSW(TIM2,ENABLE); /**************開(kāi)機(jī)自檢eeprom初始化*****************/init_eeprom();//刷新全部參數(shù)}4.2時(shí)間溫度讀取模塊本系統(tǒng)最為關(guān)鍵的兩個(gè)控制參數(shù)為時(shí)間和魚(yú)缸溫度,所以下面簡(jiǎn)單介紹系統(tǒng)如何實(shí)現(xiàn)對(duì)DS1302和DS18B20數(shù)據(jù)的讀取。4.2.1讀取DS1302的時(shí)鐘從DS1302時(shí)鐘芯片中獲取時(shí)間的步驟如下:首先,需要從DS1302的特定存儲(chǔ)位置依次讀取年、星期、月、日、時(shí)、分和秒[13,14]。這些時(shí)間信息以二進(jìn)制編碼(BCD)的形式存儲(chǔ),因此在其他程序調(diào)用時(shí)需要進(jìn)行轉(zhuǎn)換。以下是主要的功能函數(shù):(1)時(shí)鐘芯片初始化:這個(gè)函數(shù)用于啟動(dòng)和初始化DS1302時(shí)鐘芯片。(2)讀取時(shí)間:這個(gè)函數(shù)從DS1302中讀取當(dāng)前的時(shí)間信息,包括年、星期、月、日、時(shí)、分和秒。(3)修改寫(xiě)入時(shí)間:這個(gè)函數(shù)允許用戶(hù)修改DS1302中的時(shí)間信息[15]。4.2.2讀取DS18B20的溫度從DS18B20傳感器中讀取溫度的過(guò)程如下:首先,我們需要從DS18B20傳感器中獲取溫度值。這個(gè)溫度值是以BCD(二進(jìn)制編碼十進(jìn)制)的形式存在的。為了將它轉(zhuǎn)換為十進(jìn)制,我們首先需要對(duì)其進(jìn)行一些處理。在將BCD碼轉(zhuǎn)換為十進(jìn)制數(shù)后,我們得到了一個(gè)帶有兩位小數(shù)的溫度值。然而,在輸出時(shí),這兩位小數(shù)并不會(huì)以常規(guī)的方式顯示,而是隱藏在數(shù)值中。也就是說(shuō),輸出的溫度值實(shí)際上是實(shí)際溫度值的一百倍。以下是該過(guò)程的詳細(xì)步驟:(1)初始化函數(shù):在進(jìn)行任何讀取操作之前,我們首先需要對(duì)DS18B20傳感器進(jìn)行初始化。這通常涉及到對(duì)硬件進(jìn)行配置,以便于后續(xù)的數(shù)據(jù)讀取。(2)讀取溫度傳感器的溫度:在初始化完成后,我們可以從DS18B20傳感器中讀取當(dāng)前的溫度值。這個(gè)步驟通常涉及到與硬件進(jìn)行通信,以獲取實(shí)時(shí)的溫度數(shù)據(jù)。(3)計(jì)算實(shí)際溫度值:最后一步是將讀取到的BCD碼形式的溫度值轉(zhuǎn)換為實(shí)際的十進(jìn)制溫度值。該部分的流程圖如圖4-2所示。首先,當(dāng)主機(jī)要讀取DS18B20溫度傳感器的溫度數(shù)據(jù)時(shí),主機(jī)會(huì)向傳感器發(fā)送一個(gè)起始信號(hào)。這個(gè)起始信號(hào)是由主機(jī)將總線拉低一段時(shí)間,然后釋放總線,等待傳感器的響應(yīng)。接下來(lái),傳感器會(huì)發(fā)送一個(gè)存在脈沖,作為對(duì)主機(jī)起始信號(hào)的響應(yīng)。當(dāng)傳感器已經(jīng)準(zhǔn)備好進(jìn)行數(shù)據(jù)傳輸。傳感器會(huì)發(fā)送一個(gè)ROM命令,該命令包含了傳感器的唯一地址和指令。主機(jī)需要向傳感器發(fā)送該命令以確定傳感器的地址和要執(zhí)行的操作。ROM命令由主機(jī)向傳感器發(fā)送一個(gè)字節(jié),傳感器則回復(fù)一個(gè)字節(jié)確認(rèn)已接收該字節(jié)。圖4-2溫控模塊的流程圖最后主機(jī)會(huì)向傳感器發(fā)送一個(gè)功能命令,該命令是指示傳感器進(jìn)行讀取溫度操作,功能命令由主機(jī)向傳感器發(fā)送一個(gè)字節(jié),傳感器則回復(fù)一個(gè)字節(jié)確認(rèn)已接收該字節(jié)。然后,傳感器開(kāi)始將溫度數(shù)據(jù)發(fā)送回主機(jī)。傳感器發(fā)送的數(shù)據(jù)包括16個(gè)位,分為高8位和低8位,共兩個(gè)字節(jié)。傳感器通過(guò)一種基于時(shí)間的單總線協(xié)議將每個(gè)位的值傳輸回主機(jī)。在每個(gè)位時(shí)間間隔內(nèi),傳感器會(huì)將總線拉低或拉高。讀取18x20的溫度測(cè)量結(jié)果。signedintds18b20_read(void){unsignedchartempH,tempL; floattemp; signedintresult;}//注意要在DS18B20StartConvert()命令至少之后700ms以后調(diào)用,才能讀取準(zhǔn)確的溫度值。4.3光照模塊軟件設(shè)計(jì)適合的光照對(duì)于魚(yú)類(lèi)有多種好處。首先,魚(yú)缸燈可以提供光合作用所需的光線,從而促進(jìn)水中植物的生長(zhǎng)和繁殖,提高水質(zhì)。其次,光線可以刺激魚(yú)類(lèi)的生理活動(dòng),例如食欲和繁殖行為。本系統(tǒng)所設(shè)計(jì)的光照軟件模塊,生成一個(gè)范圍在為150lux的光照,用戶(hù)可根據(jù)魚(yú)的種類(lèi)來(lái)選擇根據(jù)強(qiáng)度補(bǔ)光還是長(zhǎng)時(shí)間手動(dòng)補(bǔ)光,當(dāng)選擇自動(dòng)補(bǔ)光時(shí),當(dāng)前光照強(qiáng)度低于所設(shè)置的數(shù)值時(shí),燈光就會(huì)自行打開(kāi)。光照模塊流程圖如圖4-3所示。圖4-3光照模塊軟件的流程圖4.4補(bǔ)水模塊軟件設(shè)計(jì)在對(duì)魚(yú)缸的日常養(yǎng)護(hù)中,最繁瑣的步驟就是對(duì)魚(yú)缸進(jìn)行換水。在硬件的設(shè)計(jì)中,利用硬件中的PP浮球來(lái)觀察水位,當(dāng)水位低于一定程度時(shí),水位檢測(cè)電路送出反饋電路,水位控制電路啟動(dòng)水泵,當(dāng)水位恢復(fù)到正常值時(shí),系統(tǒng)就會(huì)關(guān)閉水泵。綜上所述,就完成了對(duì)魚(yú)缸的換水操作,大大減少了人工養(yǎng)護(hù)的所需要的操作時(shí)間,還有效解決了新手養(yǎng)魚(yú)者無(wú)法判斷合適換水周期的煩惱。補(bǔ)水模塊流程圖如圖4-4所示。圖4-4補(bǔ)水模塊軟件的流程圖4.5鍵盤(pán)控制和顯示處理模塊該模塊是整個(gè)魚(yú)缸智能控制系統(tǒng)的交互模塊。系統(tǒng)共有1個(gè)LCD1602液晶顯示器與8個(gè)按鍵,其中按鍵為設(shè)置,設(shè)置模式+,設(shè)置模式-,補(bǔ)光燈開(kāi)關(guān),補(bǔ)水水泵開(kāi)關(guān),污水排污開(kāi)關(guān),設(shè)置程序可選擇補(bǔ)光補(bǔ)水模式為自動(dòng)和手動(dòng),可通過(guò)按鍵進(jìn)行調(diào)整,在LCD顯示屏上顯示時(shí)間,模式選擇和設(shè)定參數(shù)。實(shí)現(xiàn)良好的人機(jī)交互和用戶(hù)的有效控制。同時(shí)LCD1602通過(guò)內(nèi)置的代碼,可以很方便的顯示數(shù)字和字母,不用進(jìn)行重新編碼,只需要用軟件自帶的歷程直接引用就可完成顯示,如圖4-5為顯示模塊的流程圖。圖4-5顯示處理模塊流程圖這一段代碼是關(guān)于LCD顯示屏的清屏。通過(guò)調(diào)用函數(shù),將顯示時(shí)間定為5ms來(lái)確定時(shí)間閃動(dòng)變化。Init1602(); TimerConfig(TIM2,1);//5ms TimerSW(TIM2,ENABLE); 4.6Android客戶(hù)端為了實(shí)現(xiàn)智能魚(yú)缸能和外界有比較良好的交互,能夠?qū)崟r(shí)顯示和控制,于是就設(shè)計(jì)了App用于控制智能魚(yú)缸系統(tǒng)。4.6.1AndroidApp藍(lán)牙通信設(shè)計(jì)(1)使用藍(lán)牙的響應(yīng)權(quán)限在Android手機(jī)應(yīng)用開(kāi)發(fā)中,如果想要使用系統(tǒng)功能,需要開(kāi)啟對(duì)應(yīng)的系統(tǒng)響應(yīng)權(quán)限。在本設(shè)計(jì)中,因?yàn)槲覀冃枰褂玫绞謾C(jī)自帶藍(lán)牙功能,因此我們需要開(kāi)啟藍(lán)牙響應(yīng)權(quán)限。在使用藍(lán)牙的過(guò)程中,需要注意開(kāi)啟相應(yīng)的響應(yīng)權(quán)限,以確保應(yīng)用可以正確地與藍(lán)牙設(shè)備進(jìn)行通信。同時(shí),還需要在應(yīng)用中添加使用藍(lán)牙的響應(yīng)權(quán)限,以確保應(yīng)用可以正確地使用藍(lán)牙功能。<uses-permmissionandroid:name=”android.permission.BLUETOOTH”/><uses-permmissionandroid:name=”android.permission.BLUETOOTH_ADMIN”>(2)配置本機(jī)藍(lán)牙模塊在配置本機(jī)的藍(lán)牙模塊時(shí),我們需要借助一個(gè)核心類(lèi),即BluetoothAdapter,來(lái)操作藍(lán)牙功能。通過(guò)這個(gè)類(lèi),我們能夠直接進(jìn)入系統(tǒng)的藍(lán)牙設(shè)置面板,自行設(shè)置藍(lán)牙的開(kāi)關(guān)狀態(tài),還能調(diào)整藍(lán)牙的可見(jiàn)性。最值得一提的是,這個(gè)類(lèi)提供了一個(gè)非常重要的功能,就是搜索配對(duì)功能。概括來(lái)說(shuō),開(kāi)啟藍(lán)牙、設(shè)置可見(jiàn)性、進(jìn)行連接配對(duì),是整個(gè)配置過(guò)程中的關(guān)鍵步驟。(3)藍(lán)牙通信實(shí)現(xiàn)藍(lán)牙通信,通過(guò)手機(jī)端可以獲取Socket,同時(shí)需要再創(chuàng)建成功的時(shí)候,進(jìn)行連接操作,連接成功后就可以創(chuàng)造線程來(lái)接受數(shù)據(jù)。在子線程中,存在一個(gè)while循環(huán),其循環(huán)退出條件是藍(lán)牙斷開(kāi)連接。一旦進(jìn)入子線程,程序?qū)⑹冀K監(jiān)視socket的InputStream,即輸入流。當(dāng)輸入流不為空時(shí),我們將對(duì)接收到的數(shù)據(jù)進(jìn)行處理。4.6.2AndroidApp流程APP流程圖如圖4-6所示,系統(tǒng)開(kāi)始時(shí)先進(jìn)行系統(tǒng)驗(yàn)證,進(jìn)行搜索藍(lán)牙,對(duì)HC-05進(jìn)行藍(lán)牙連接,輸入設(shè)置好的密碼進(jìn)行數(shù)據(jù)配對(duì),數(shù)據(jù)配對(duì)成功后,即可設(shè)置實(shí)際參數(shù),用戶(hù)登錄成功后進(jìn)入主界面,這里將會(huì)顯示用戶(hù)所綁定過(guò)的產(chǎn)品,當(dāng)用戶(hù)首次運(yùn)行時(shí),工程會(huì)要求先進(jìn)行藍(lán)牙連接,如圖4-7。點(diǎn)擊搜索藍(lán)牙,選擇添加藍(lán)牙,點(diǎn)進(jìn)以后,頁(yè)面會(huì)提示需要連接藍(lán)牙賬號(hào)和密碼,連接完成后APP會(huì)搜索當(dāng)前可連接的設(shè)備,在搜索過(guò)程中,手機(jī)端會(huì)將剛剛輸入的賬號(hào)和密碼發(fā)送給模組,模組根據(jù)收到的信息自動(dòng)連接,連接成功后,APP會(huì)提示發(fā)現(xiàn)新設(shè)備,用戶(hù)進(jìn)行綁定即可。圖4-6AndroidAPP流程圖圖4-7藍(lán)牙連接界面綁定完成后進(jìn)入設(shè)備,功能界面如圖4-8所示。用戶(hù)可以在本界面對(duì)智能生態(tài)魚(yú)缸進(jìn)行遠(yuǎn)程控制,也可自行設(shè)置增氧、喂食、加熱、換水等參數(shù),系統(tǒng)會(huì)根據(jù)用戶(hù)的設(shè)置自動(dòng)完成對(duì)各類(lèi)外設(shè)的控制,實(shí)現(xiàn)智能化飼養(yǎng)。圖4-8用戶(hù)參數(shù)設(shè)置界面4.7喂食模塊軟件設(shè)計(jì)本系統(tǒng)采用步進(jìn)電機(jī)實(shí)施智能投食。步進(jìn)電機(jī)具備精確的控制能力,以數(shù)字脈沖信號(hào)為動(dòng)力,每個(gè)脈沖信號(hào)都會(huì)引發(fā)電機(jī)的步進(jìn)步長(zhǎng)。通過(guò)調(diào)整脈沖信號(hào)的頻率和占空比,可以實(shí)現(xiàn)對(duì)電機(jī)的精細(xì)調(diào)節(jié),使電機(jī)能夠精準(zhǔn)地轉(zhuǎn)動(dòng)至我們?cè)O(shè)定的位置。此外,步進(jìn)電機(jī)還具備高度的平穩(wěn)性和穩(wěn)定性。電機(jī)采用分步驅(qū)動(dòng)技術(shù),將每個(gè)步進(jìn)步長(zhǎng)細(xì)分為多個(gè)小步進(jìn)步長(zhǎng),從而實(shí)現(xiàn)電機(jī)的平穩(wěn)轉(zhuǎn)動(dòng)。這種設(shè)計(jì)降低了電機(jī)的振動(dòng)和噪音,提升了系統(tǒng)的整體性能。綜上所述,步進(jìn)電機(jī)在智能投食系統(tǒng)中發(fā)揮了關(guān)鍵作用。憑借高精度、平穩(wěn)運(yùn)動(dòng)、可靠穩(wěn)定和靈活適用等優(yōu)點(diǎn),它成為了一種理想的驅(qū)動(dòng)方式。本模塊基于步進(jìn)電機(jī)來(lái)控制喂食量,在程序上設(shè)定的每次投喂的食量是固定的,通過(guò)編程精準(zhǔn)控制步進(jìn)電機(jī)的旋轉(zhuǎn)度數(shù)來(lái)確定每次投喂的食量。其流程圖如4-9所示。圖4-9喂食模塊流程圖5制作和調(diào)試智能生態(tài)魚(yú)缸系統(tǒng)的測(cè)試工作分為基本功能、自動(dòng)功能以及App遠(yuǎn)程控制功能測(cè)試三個(gè)主要階段,以確保系統(tǒng)的全面穩(wěn)定與高效運(yùn)行?;竟δ軠y(cè)試重點(diǎn)檢查電路連接的正確性和各個(gè)元器件的運(yùn)行狀態(tài),確保系統(tǒng)的物理組成部分無(wú)誤,從而保障魚(yú)缸系統(tǒng)的基礎(chǔ)功能能夠正常運(yùn)作。自動(dòng)功能測(cè)試主要驗(yàn)證系統(tǒng)軟件的功能實(shí)現(xiàn),特別是自動(dòng)換水、自動(dòng)喂食等關(guān)鍵功能是否能夠根據(jù)預(yù)設(shè)的邏輯準(zhǔn)確無(wú)誤地執(zhí)行。最后的App遠(yuǎn)程控制測(cè)試階段,將重點(diǎn)驗(yàn)證用戶(hù)是否能夠通過(guò)Android應(yīng)用程序?qū)崿F(xiàn)對(duì)魚(yú)缸系統(tǒng)各項(xiàng)功能的實(shí)時(shí)控制和監(jiān)控。5.1基本功能測(cè)試打開(kāi)電源,跳出主界面,LCD屏顯示時(shí)間日期溫度,同時(shí)指示燈亮起,魚(yú)缸正常運(yùn)行,如圖5-1。圖5-1LCD顯示屏顯示時(shí)間溫度測(cè)試基本功能,分別按下“補(bǔ)光”、“補(bǔ)水”、“喂食”按鈕,外置設(shè)備啟動(dòng),補(bǔ)光片、舵機(jī)、補(bǔ)水水泵同時(shí)啟動(dòng),LED指示燈正常亮起,設(shè)備正常運(yùn)行,如圖5-2。圖5-2基本功能測(cè)試5.2自動(dòng)功能測(cè)試自動(dòng)喂食測(cè)試:按下設(shè)置按鈕,設(shè)定自動(dòng)喂食時(shí)間,按下加和減按鈕設(shè)置時(shí)間,當(dāng)?shù)竭_(dá)設(shè)定時(shí)間時(shí),舵機(jī)自動(dòng)打開(kāi)喂食,10s后自動(dòng)關(guān)閉。測(cè)試圖如圖5-3所示。圖5-3自動(dòng)喂食測(cè)試自動(dòng)補(bǔ)水測(cè)試:按下設(shè)置按鈕,選擇補(bǔ)水模式為自動(dòng),將pp-浮球放入水中,當(dāng)液位低于設(shè)定值時(shí)補(bǔ)水舵機(jī)開(kāi)啟,開(kāi)始補(bǔ)水,補(bǔ)水指示燈亮;當(dāng)液位到達(dá)指定值時(shí),補(bǔ)水水泵關(guān)閉。測(cè)試圖如圖5-4所示。圖5-4自動(dòng)補(bǔ)水測(cè)試自動(dòng)補(bǔ)光測(cè)試:按下設(shè)置按鈕,選擇補(bǔ)光模式為自動(dòng),遮擋光敏傳感器,補(bǔ)光片自動(dòng)補(bǔ)光;撤去阻擋物,補(bǔ)光片停止工作。測(cè)試圖如圖5-5。圖5-5自動(dòng)補(bǔ)光測(cè)試5.3APP測(cè)試為了確保測(cè)試的準(zhǔn)確性,首先將Android應(yīng)用程序和藍(lán)牙通信模塊進(jìn)行全面的聯(lián)動(dòng)測(cè)試。判斷驗(yàn)證應(yīng)用程序能否正常登錄,并確保登錄成功后能夠順利連接到產(chǎn)品。選擇HC-05跳出正在連接提示,當(dāng)連接成功時(shí)會(huì)提示連接成功,如圖5-6。圖5-6藍(lán)牙連接測(cè)試界面連接成功后,app界面出現(xiàn)當(dāng)前設(shè)置的默認(rèn)參數(shù),同時(shí)可以點(diǎn)擊按鈕來(lái)進(jìn)行手動(dòng)和自動(dòng)模式的切換。并且上述的基本功能和自動(dòng)運(yùn)行功能同樣能正常運(yùn)行,參數(shù)設(shè)置測(cè)試界面如圖5-7所示。圖5-7參數(shù)設(shè)置測(cè)試界面點(diǎn)擊參數(shù)設(shè)置下方的按鈕,可一鍵控制智能魚(yú)缸的模式,可選擇適合的溫度,自動(dòng)喂食時(shí)間,同時(shí)上述一些基本功能也能完全實(shí)現(xiàn)。6結(jié)論在經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)和實(shí)踐后,我成功地實(shí)現(xiàn)了本次設(shè)計(jì)的預(yù)期功能。然而,由于時(shí)間限制和基礎(chǔ)知識(shí)掌握不夠充分,無(wú)論是軟件還是硬件方面都存在很大的提升空間。在硬件方面,我們采用了STM32CXT6最小系統(tǒng)板作為核心組件。然而,考慮到成本限制,我并未使用最佳的傳感器和執(zhí)行模塊來(lái)實(shí)現(xiàn)所有功能。此外,對(duì)于智能魚(yú)缸系統(tǒng)的防水措施,并未進(jìn)行充分的考慮,這是需要進(jìn)一步改進(jìn)的地方。在軟件上,由于DS1302自身的問(wèn)題,在斷電后還是容易出現(xiàn)時(shí)間偏差,導(dǎo)致比現(xiàn)實(shí)時(shí)間慢2分鐘,同時(shí)無(wú)法完成氧濃度的檢測(cè),后續(xù)需要對(duì)這一系列問(wèn)題進(jìn)行近一步的改進(jìn)。本次設(shè)計(jì)讓我對(duì)單片機(jī)有了更深入的理解,同時(shí)也提高了我在傳感器使用和遠(yuǎn)程通訊模塊應(yīng)用方面的技能。通過(guò)親自動(dòng)手實(shí)踐,我不僅快速掌握了這些知識(shí),而且自我學(xué)習(xí)能力也得到了顯著提高。希望在今后的生活中也能克服一個(gè)個(gè)困難,完成收獲。
參考文獻(xiàn)[1]李曄,曾昂.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026屆河南南陽(yáng)市第一中學(xué)高二數(shù)學(xué)第一學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 內(nèi)業(yè)培訓(xùn)課件
- 焦化廠衛(wèi)生管理制度(3篇)
- 甘肅網(wǎng)絡(luò)公司管理制度(3篇)
- 盛典活動(dòng)創(chuàng)意方案策劃(3篇)
- 獸藥行業(yè)培訓(xùn)課件
- 老年康復(fù)運(yùn)動(dòng)管理制度內(nèi)容(3篇)
- 《GA 1512-2018公安單警裝備 金屬手銬》專(zhuān)題研究報(bào)告
- 《GA 762-2008警服 高級(jí)警官大衣》專(zhuān)題研究報(bào)告
- Unit 7 Happy Birthday!Section A 1a- 3c 課件+視頻 2025-2026學(xué)年人教版七年級(jí)英語(yǔ)上冊(cè)
- 車(chē)輛檢查登記表
- 平地機(jī)說(shuō)明書(shū)
- 三方幕墻工程施工合同范本
- 人音版(五線譜)(北京)音樂(lè)一年級(jí)上冊(cè)小鼓響咚咚課件(共18張PPT內(nèi)嵌音頻)
- 單自由度系統(tǒng)的自由振動(dòng)
- 2023款 kawasaki 川崎Ninja 1000S 用戶(hù)使用手冊(cè) 說(shuō)明書(shū) 摩托車(chē)
- 智能變電站一體化監(jiān)控系統(tǒng)功能規(guī)范
- 防水煤柱的留設(shè)
- s-舒更葡糖鈉注射液說(shuō)明書(shū)
- 正等軸測(cè)圖課程學(xué)習(xí)
- GB/T 11322.1-2013射頻電纜第0部分:詳細(xì)規(guī)范設(shè)計(jì)指南第1篇同軸電纜
評(píng)論
0/150
提交評(píng)論