基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)緒論1.1課題背景隨著我們國(guó)家經(jīng)濟(jì)的快速發(fā)展,人民對(duì)生活質(zhì)量的追求也一直在提高,人們也不再像前一代人那樣的消費(fèi)觀念。人們追求越來(lái)越高的生活品位,導(dǎo)致了消費(fèi)水平也在提高,家居環(huán)境的個(gè)性化、環(huán)?;苍絹?lái)越受到人們的重視,同時(shí)相關(guān)的智能家居等行業(yè)相應(yīng)的出現(xiàn)大發(fā)展之機(jī)遇?,F(xiàn)代都市生活使人們承受著種種壓力許多人需要得到精神的安慰,心底渴望懷抱大自然的寧?kù)o與和諧,飼養(yǎng)寵物已經(jīng)成為一股經(jīng)久不息的潮流。而一個(gè)生機(jī)勃勃的魚(yú)草生活愜意的魚(yú)缸不但可以給人們帶來(lái)春季盎然的美感,更能美化居室環(huán)境,使人回歸那久違的綠色,讓自己重新回到大自然美景的懷抱中。在這樣的新趨勢(shì)下,飼養(yǎng)幾條觀賞魚(yú)將成為新的潮流。智能魚(yú)缸控制系統(tǒng)正是在這種需求下產(chǎn)生的。水族箱不單單只是一個(gè)是養(yǎng)魚(yú)、魚(yú)草的水容器,它更是大自然的一個(gè)小小的縮影,是一個(gè)相對(duì)完整的小型生態(tài)系統(tǒng)。最近這些年,這種以水草、觀賞魚(yú)為主體的生態(tài)魚(yú)缸被叫做“微縮魚(yú)草園林”,人們對(duì)其非常喜愛(ài)和追捧。但是要讓一個(gè)適宜水草、小魚(yú)生活的環(huán)境長(zhǎng)時(shí)間保持是一件費(fèi)時(shí)費(fèi)力的事情,很多都市人忙于工作或者迫于生活壓力都沒(méi)有時(shí)間照料小魚(yú),所以一般結(jié)局大都是水草枯死小魚(yú)干死。所以現(xiàn)在出現(xiàn)的魚(yú)缸水體凈化和水質(zhì)改善的設(shè)備有很多,目前市場(chǎng)上經(jīng)??匆?jiàn)的魚(yú)缸控制設(shè)備有:換水設(shè)備、加氧泵、喂食設(shè)備等,但是它們一般都是非智能化的、單獨(dú)工作需要人工控制開(kāi)關(guān)的器件。但若是把若干獨(dú)立的魚(yú)缸控制設(shè)備機(jī)械的組成一個(gè)多功能的控制設(shè)備,需要的花費(fèi)是很多的,而且這些器件按裝在一起之后,同時(shí)存在著電的浪費(fèi),不便于集中統(tǒng)一進(jìn)行管理控制。1.2國(guó)內(nèi)外研究現(xiàn)狀基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第6頁(yè)。 “魚(yú)缸"又稱“水族箱",水族箱一詞起源于英國(guó),水族箱飼養(yǎng)始于1851年的英國(guó)萬(wàn)國(guó)工業(yè)博覽會(huì)上,沿用至今已經(jīng)有150年的歷史。魚(yú)缸在150年前的定義僅是一個(gè)養(yǎng)動(dòng)植物的容器,最原始的魚(yú)缸只一個(gè)結(jié)構(gòu)簡(jiǎn)單水箱,水族箱也沒(méi)有什么復(fù)雜的功能。德國(guó)與英國(guó)在這個(gè)嗜好上競(jìng)爭(zhēng),踏入20世紀(jì),漢堡市成為歐洲入口新奇水族品種的港口。第一次世界大戰(zhàn)后幾乎所有家居都已經(jīng)有電力供應(yīng),水族箱亦因此更廣泛地受歡迎。電力的改善使水族科技得以發(fā)展,使人工照明、通風(fēng)、過(guò)濾、水溫加熱都成為可能??罩羞\(yùn)輸?shù)某霈F(xiàn)使更多遠(yuǎn)方的外地品種能夠入口,亦使水族飼養(yǎng)更受歡迎?,F(xiàn)時(shí),估計(jì)全球有大約6千萬(wàn)水族喜好者。水族嗜好最強(qiáng)列的地區(qū)依次序?yàn)闅W洲、亞洲及北美洲。在美國(guó),大部分人(40%)同時(shí)打理2個(gè)或以上的水族箱?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第6頁(yè)。 我國(guó)的水族箱控制系統(tǒng)發(fā)展起步相對(duì)較晚。隨著經(jīng)濟(jì)水平的突飛猛進(jìn),裝飾業(yè)的日趨興起,人們對(duì)生活、家居品位的追求愈加重視,體現(xiàn)在經(jīng)濟(jì)形態(tài)中就是與之相關(guān)的休閑、居家裝飾等行業(yè)日顯蓬勃發(fā)展之勢(shì)。居住、工作環(huán)境的生動(dòng)化、溫馨化也越來(lái)越和人的精神、情操、新的生活觀念緊密地聯(lián)系在一起。休閑水族行業(yè)也正是在人類的這種需求下應(yīng)運(yùn)而生,并且近年來(lái)其快速發(fā)展之狀況使其已經(jīng)成為一股新興的經(jīng)濟(jì)力量受到經(jīng)濟(jì)界及業(yè)內(nèi)人士的關(guān)注,據(jù)最新資料顯示:水族產(chǎn)品的日漸豐富,水族市場(chǎng)更加繁榮昌盛,水族行業(yè)產(chǎn)業(yè)規(guī)模的年增長(zhǎng)率達(dá)到13.8%,僅北京就由傳統(tǒng)的幾個(gè)小市場(chǎng),發(fā)展成8個(gè)大規(guī)模的市場(chǎng)。其市場(chǎng)空間的拓展速度也昭示著將有更多的投資機(jī)會(huì)點(diǎn)在這種新的經(jīng)濟(jì)形勢(shì)下誕生。如今是國(guó)際水族產(chǎn)品看中國(guó),許多國(guó)外大的采購(gòu)公司都盯準(zhǔn)中國(guó)這個(gè)市場(chǎng),把長(zhǎng)遠(yuǎn)的目標(biāo)放在中國(guó)嘲。隨著水族箱產(chǎn)品迅猛發(fā)展,巨大的水族箱市場(chǎng)的需求也極大推動(dòng)了國(guó)內(nèi)外各種水族箱控制設(shè)備的研發(fā)和生產(chǎn)。 水族箱要保持金魚(yú)、水草的生活環(huán)境需經(jīng)常換水和補(bǔ)充氧氣,通常配備水泵和空氣泵這兩種設(shè)備來(lái)循環(huán)水體和補(bǔ)充氧氣,但是這些設(shè)備都是通過(guò)人力進(jìn)行開(kāi)關(guān)控制,不便宜操作。1.3研究目的 目前很多家庭都用小型的水族箱來(lái)養(yǎng)水草、觀賞魚(yú),但是人們的生活卻很忙碌,可能沒(méi)有時(shí)間來(lái)照顧魚(yú)缸里的小魚(yú)和水草,以至于魚(yú)缸這個(gè)小型生態(tài)環(huán)境長(zhǎng)時(shí)間得不到平衡,進(jìn)而導(dǎo)致水草、觀賞魚(yú)相繼死去。智能魚(yú)缸控制系統(tǒng)正是在這種需求下產(chǎn)生的,現(xiàn)在魚(yú)缸水體凈化和水質(zhì)改善的設(shè)備有很多,目前市場(chǎng)上經(jīng)??匆?jiàn)的魚(yú)缸控制設(shè)備有:換水設(shè)備、加氧泵、喂食設(shè)備等,但是它們一般都是非智能化的、單獨(dú)工作需要人工控制開(kāi)關(guān)的器件。但若是把若干獨(dú)立的魚(yú)缸控制設(shè)備機(jī)械的組成一個(gè)多功能的控制設(shè)備,需要的花費(fèi)是很多的,而且這些器件組裝在一起之后,存在著資源浪費(fèi),不便于集中統(tǒng)一進(jìn)行管理控制?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第7頁(yè)。 現(xiàn)在,魚(yú)缸智能控制器有的很大的市場(chǎng)需求,但是研究和開(kāi)發(fā)尚處于起步階段,相應(yīng)的產(chǎn)品也相對(duì)較少。因此,自主設(shè)計(jì)了成本低,操作簡(jiǎn)單,節(jié)能環(huán)保的智能魚(yú)缸控制系統(tǒng)?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第7頁(yè)。 本智能魚(yú)缸控制系統(tǒng)以STC研發(fā)生產(chǎn)的STC12C5A60S2單片機(jī)為控制CPU,同時(shí)結(jié)合傳感器技術(shù)、藍(lán)牙通訊技術(shù)、手機(jī)APP,研發(fā)出一套可以用于不同類型水族箱和各種使用環(huán)境的集自動(dòng)充氧、自動(dòng)換水、燈光變幻、自動(dòng)喂食、溫度監(jiān)控等各種功能于一體的智能魚(yú)缸基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第8頁(yè)。

基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第8頁(yè)。2開(kāi)發(fā)技術(shù)與原理簡(jiǎn)介2.1嵌入式技術(shù)嵌入式系統(tǒng)被定義為:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng),對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)主要由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等4個(gè)部分組成,它是集軟硬件于一體的可獨(dú)立工作的“器件”。嵌入式系統(tǒng)是一種面向應(yīng)用、功能定制、資源受限、響應(yīng)要求高、性能穩(wěn)定、無(wú)自舉開(kāi)發(fā)能力,由硬件和軟件兩部分構(gòu)成的專用計(jì)算機(jī)系統(tǒng)。“嵌入性”、“專用性”與“計(jì)算機(jī)系統(tǒng)”是嵌入式系統(tǒng)的三個(gè)基本要素,應(yīng)用對(duì)象系統(tǒng)指嵌入式系統(tǒng)所嵌入的宿主系統(tǒng)。2.2傳感器技術(shù)傳感器技術(shù)是現(xiàn)代科學(xué)的前沿技術(shù),是新技術(shù)革命和信息社會(huì)的重要技術(shù)基礎(chǔ)。在現(xiàn)代生活和科學(xué)研究中,各種類型的傳感器所提供的大量可靠、準(zhǔn)確的信息,不僅能代替人的五官功能,而且還能檢測(cè)到人的五官所不能感受的信息,從而使人類能更好地認(rèn)識(shí)世界和改造世界。目前,傳感器技術(shù)廣泛應(yīng)用于航空、航天等尖端技術(shù)領(lǐng)域及工業(yè)、農(nóng)業(yè)等人類日常生活許多方面。傳感器在工業(yè)部門(mén)的應(yīng)用普及率已被國(guó)際社會(huì)作為衡量一個(gè)國(guó)家智能化、數(shù)字化、網(wǎng)絡(luò)化的重要標(biāo)志。因此,傳感器技術(shù)作為一種與現(xiàn)代科學(xué)密切相關(guān)的新興學(xué)科正得到迅速的發(fā)展,并且在許多領(lǐng)域被越來(lái)越廣泛的利用。2.3Android技術(shù)2.3.1Android智能手機(jī)平臺(tái)概述基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第9頁(yè)。Android是Google公司在2008年聯(lián)合開(kāi)放手持設(shè)備聯(lián)盟(OHA)推出的基于Linux內(nèi)核的智能移動(dòng)設(shè)備操作系統(tǒng),主要應(yīng)用于掌上便攜設(shè)備,如智能手機(jī)和平板電腦等。Android平臺(tái)為移動(dòng)設(shè)備提供了有Linux操作系統(tǒng)、中間層、UI(用戶界面)和應(yīng)用程序共同組合的軟件平臺(tái)。基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第9頁(yè)。2.3.2Android手機(jī)平臺(tái)的特點(diǎn)開(kāi)放性:源代碼開(kāi)發(fā)可以修改無(wú)需授權(quán)。自由性:擺脫運(yùn)營(yíng)商的束縛讓手機(jī)能自由接觸網(wǎng)絡(luò)。兼容性:與硬件無(wú)關(guān),降低了開(kāi)發(fā)者的負(fù)擔(dān)。拓展性:可以兼容各種手機(jī)、平板電腦等移動(dòng)設(shè)備。2.3.3Android系統(tǒng)軟件架構(gòu)安卓系統(tǒng)軟件架構(gòu)主要有五層,從下到上依次是:Linux內(nèi)核層、本地庫(kù)、安卓運(yùn)行時(shí)、應(yīng)用框架層、應(yīng)用程序?qū)?。如圖2.1所示:圖2.1Android系統(tǒng)架構(gòu)圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第10頁(yè)。

基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第10頁(yè)。3需求分析3.1功能需求該智能魚(yú)缸控制系統(tǒng)是以魚(yú)缸的日常護(hù)理為背景,系統(tǒng)集成開(kāi)發(fā)的角度對(duì)水循環(huán)、水溫監(jiān)控、水含氧量、魚(yú)飼料量自動(dòng)化及其應(yīng)用控制進(jìn)行設(shè)計(jì)和開(kāi)發(fā),根據(jù)當(dāng)前市場(chǎng)上的需求,并且利用高新技術(shù)形成了一套集自動(dòng)水循環(huán)、燈光變幻、自動(dòng)充氧和自動(dòng)喂食等功能為一體的智能魚(yú)缸控制系統(tǒng)。3.1.1系統(tǒng)的特點(diǎn)及功能描述1.功能。采用單片機(jī)控制,實(shí)現(xiàn)水族箱自動(dòng)換水、自動(dòng)喂食、溫度狀態(tài)顯示、自動(dòng)加氧、燈光變幻等功能。2.人機(jī)界面。本系統(tǒng)的人機(jī)操作界面采用手機(jī)APP端顯示屏,具有直觀、簡(jiǎn)介、易操作等多重特點(diǎn)。用戶可直接從手機(jī)顯示屏讀取系統(tǒng)的實(shí)時(shí)數(shù)據(jù)。3.系統(tǒng)操作。本系統(tǒng)通過(guò)上位機(jī)手機(jī)APP來(lái)設(shè)置各種參數(shù),用戶可以根據(jù)觀賞魚(yú)的實(shí)際生活習(xí)性來(lái)設(shè)定適宜小魚(yú)生活的參數(shù),使該智能魚(yú)缸控制系統(tǒng)能在各種不同的環(huán)境適中發(fā)揮作用。魚(yú)缸下位機(jī)與手機(jī)上位機(jī)之間的配合使用使本系統(tǒng)具有簡(jiǎn)易的操作性。4.生產(chǎn)成本:本系統(tǒng)使用的控制CPU是STC12C5A60S23.1.2系統(tǒng)流程分析如圖3.1的智能魚(yú)缸流程圖,對(duì)智能魚(yú)缸的業(yè)務(wù)流程進(jìn)行分析。業(yè)務(wù)流程:用戶通過(guò)手動(dòng)操作手機(jī)端,與智能魚(yú)缸系統(tǒng)進(jìn)行人機(jī)交互。用戶通過(guò)手機(jī)端以藍(lán)牙通信的方式將需要執(zhí)行的命令以及參數(shù)傳輸給魚(yú)缸端?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第11頁(yè)。魚(yú)缸端接受到用戶發(fā)送的命令以及參數(shù)執(zhí)行對(duì)應(yīng)的操作如喂食、換水等?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第11頁(yè)。魚(yú)缸端將檢測(cè)到的溫度值傳送給手機(jī)端,手機(jī)端將溫度值顯示在屏幕上,以便用戶獲取溫度值。圖3.1智能魚(yú)缸業(yè)務(wù)流程圖3.2用例分析基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第12頁(yè)。根據(jù)智能魚(yú)缸系統(tǒng)的功能需求,對(duì)其進(jìn)行用例分析。如圖3.2客戶端用戶用例圖,主要用例有:客戶端用戶、換水、喂食、充氧、變換燈光、監(jiān)控溫度、檢測(cè)溫度、顯示溫度、設(shè)置時(shí)間?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第12頁(yè)。圖3.2客戶端用戶用例圖用例規(guī)約(1)換水用例(UC01) 用例名稱:換水 簡(jiǎn)要說(shuō)明:給魚(yú)缸進(jìn)行水體循環(huán)。 事件流:基本事件流①打開(kāi)水泵②抽出、抽入水體進(jìn)行水體循環(huán)擴(kuò)展事件流無(wú) 前置條件:無(wú)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第13頁(yè)。 后置條件:設(shè)置時(shí)間自動(dòng)進(jìn)行水循環(huán)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第13頁(yè)。(2)喂食用例(UC02) 用例名稱:喂食 簡(jiǎn)要說(shuō)明:把魚(yú)飼料倒入魚(yú)缸進(jìn)行喂食。 事件流:基本事件流①打開(kāi)喂食器②倒入魚(yú)飼料擴(kuò)展事件流①容器中無(wú)飼料,人工添加進(jìn)入容器。 前置條件:無(wú) 后置條件:設(shè)置時(shí)間,自動(dòng)喂食(3)充氧用例(UC03) 用例名稱:充氧 簡(jiǎn)要說(shuō)明:給魚(yú)缸中水體充氧,提高水的含氧量。 事件流:基本事件流①打開(kāi)氣泵②給水體充氧擴(kuò)展事件流 無(wú) 前置條件:無(wú) 后置條件:設(shè)置時(shí)間,自動(dòng)充氧(4)燈光變幻用例(UC04) 用例名稱:燈光變換 簡(jiǎn)要說(shuō)明:打開(kāi)LED彩燈,提高魚(yú)缸的觀賞性。 事件流:基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第14頁(yè)?;臼录骰趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第14頁(yè)。①打開(kāi)LED②燈帶跑馬燈閃爍擴(kuò)展事件流無(wú) 前置條件: 后置條件:無(wú)(5)檢測(cè)溫度用例(UC05) 用例名稱:檢測(cè)溫度 簡(jiǎn)要說(shuō)明:檢測(cè)魚(yú)缸的溫度。 事件流:基本事件流①打開(kāi)溫度傳感器②檢測(cè)魚(yú)缸的溫度擴(kuò)展事件流無(wú) 前置條件:無(wú) 后置條件:無(wú)(6)設(shè)置時(shí)間用例(UC06) 用例名稱:設(shè)置時(shí)間 簡(jiǎn)要說(shuō)明:設(shè)置時(shí)間,智能魚(yú)缸系統(tǒng)到時(shí)自動(dòng)進(jìn)行相關(guān)操作。 事件流:基本事件流 設(shè)置時(shí)間,發(fā)送相關(guān)命令擴(kuò)展事件流無(wú) 前置條件:喂食、換水、充氧 后置條件:無(wú)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第15頁(yè)?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第15頁(yè)。(7)顯示溫度用例(UC07) 用例名稱:顯示溫度 簡(jiǎn)要說(shuō)明:把檢測(cè)到的溫度顯示到手機(jī)客戶端。 事件流:基本事件流①獲取溫度值②顯示溫度值擴(kuò)展事件流 無(wú) 前置條件:檢測(cè)溫度 后置條件:無(wú)(8)監(jiān)控溫度用例(UC08)1)用例名稱:充氧2)簡(jiǎn)要說(shuō)明:檢測(cè)溫度值,并把溫度值顯示在手機(jī)客戶端。3)事件流:基本事件流①打開(kāi)溫度傳感器②獲取溫度值③顯示溫度值擴(kuò)展事件流 無(wú) 前置條件:檢測(cè)溫度 后置條件:顯示溫度3.3開(kāi)發(fā)工具3.3.1底層硬件電路開(kāi)發(fā)工具基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第16頁(yè)。本系統(tǒng)需要設(shè)計(jì)硬件電路原理圖(SCH),能滿足設(shè)計(jì)要求的工具很多,比如:Protel、AltiumDesigner、PowerPCB等。在本設(shè)計(jì)中,采用AltiumDesigner14繪制原理圖。該工具擁有大量的原理圖庫(kù)和印刷電路板(PCB)庫(kù),也可以自己繪制原理圖庫(kù)和印刷電路板(PCB)庫(kù),還能自動(dòng)生成pdf文檔,使用起來(lái)很方便?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第16頁(yè)。3.3.2底層系統(tǒng)開(kāi)發(fā)工具本系統(tǒng)采用51內(nèi)核單片機(jī)最常用的KeiluVision5軟件,,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。上海中穎公司也提供了一套Keil軟件的開(kāi)發(fā)驅(qū)動(dòng),只要SH79F6488單片機(jī)的JTAG調(diào)試接口配以Keil軟件的Debug功能就能實(shí)現(xiàn)系統(tǒng)的在線仿真。3.3.3Android客戶端開(kāi)發(fā)工具Android客戶端開(kāi)發(fā)工具很多,比較常用的有:Eclipse、AndroidStudio、Basic4Android等。本系統(tǒng)中使用AndroidStudio。該軟件具有很強(qiáng)大的代碼提示功能和UI設(shè)計(jì)功能,有利于開(kāi)發(fā)者開(kāi)發(fā)速度和減小開(kāi)發(fā)者上手難度。能夠成功開(kāi)發(fā)Android,還需在windows下配置好Java開(kāi)發(fā)環(huán)境以及安裝AndroidSDK?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第17頁(yè)。

基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第17頁(yè)。4概要設(shè)計(jì) 智能魚(yú)缸系統(tǒng)分為下位機(jī)硬件模塊和手機(jī)安卓軟件模塊這兩大部分。其中硬件模塊主要功能為控制魚(yú)缸相關(guān)操作以及上報(bào)溫度功能,軟件模塊則為向下位機(jī)發(fā)送命令以及參數(shù),顯示溫度值。硬件模塊與軟件模塊通信使用藍(lán)牙串口方式,簡(jiǎn)單快捷。系統(tǒng)的架構(gòu)圖如圖4.1所示:圖4.1系統(tǒng)的架構(gòu)圖4.1系統(tǒng)總體方案與功能4.1.1系統(tǒng)功能組成基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第18頁(yè)。該智能魚(yú)缸控制系統(tǒng)的設(shè)計(jì)是在對(duì)當(dāng)前市面上已有的不同類型的魚(yú)缸控制設(shè)備充分考察和調(diào)研的前提下進(jìn)行的。整個(gè)智能魚(yú)缸控制系統(tǒng)分為以下幾個(gè)功能子系統(tǒng):即人工/定時(shí)充氧系統(tǒng)、人工/定時(shí)水循環(huán)系統(tǒng)、LED燈光變幻系統(tǒng)、人工/定時(shí)喂食控制、實(shí)時(shí)溫度監(jiān)控系統(tǒng)等。這些子系統(tǒng)的工作相互獨(dú)立,但是每個(gè)子系統(tǒng)又由單片機(jī)控制,該智能魚(yú)缸控制系統(tǒng)還結(jié)合了時(shí)鐘電路模塊/看門(mén)狗/復(fù)位電路,便于系統(tǒng)的自動(dòng)控制,各子系統(tǒng)的功能參數(shù)的設(shè)置與藍(lán)牙數(shù)據(jù)傳輸電路相連接,通過(guò)藍(lán)牙模塊與手機(jī)控制端進(jìn)行通信,手機(jī)端也通過(guò)藍(lán)牙模塊發(fā)送相關(guān)的控制命令以及參數(shù)給下位機(jī),上位機(jī)手機(jī)端與下位機(jī)智能魚(yú)缸共同組成了一套功能完善的智能控制系統(tǒng)?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第18頁(yè)。4.1.2系統(tǒng)控制參數(shù)該智能魚(yú)缸控制系統(tǒng)的控制目的是能使魚(yú)缸能夠通過(guò)人工調(diào)節(jié)或者自動(dòng)調(diào)節(jié)的方式來(lái)保證魚(yú)缸的水質(zhì)、含氧量等生活環(huán)境是最適宜觀賞魚(yú)生活習(xí)性的。設(shè)計(jì)本系統(tǒng)時(shí)需要考慮的環(huán)境參數(shù)有:溫度,水中含氧量,水的質(zhì)量,led燈光,魚(yú)的飼料等參數(shù)。下表4-1顯示該控制系統(tǒng)對(duì)各項(xiàng)參數(shù)的處理。表4-1系統(tǒng)控制參數(shù)項(xiàng)目控制參數(shù)相應(yīng)的處理措施1水溫溫度傳感器獲取溫度值,并將其通過(guò)藍(lán)牙傳輸?shù)绞謾C(jī)端顯示2水溶氧量根據(jù)人工控制或者定時(shí)自動(dòng)控制氣泵充氧3水質(zhì)根據(jù)人工控制或者定時(shí)自動(dòng)控制水泵進(jìn)行水循環(huán)4燈光根據(jù)人工控制打開(kāi)LED燈帶,提高魚(yú)缸觀賞性5魚(yú)飼料根據(jù)人工控制或者定時(shí)自動(dòng)控制喂食器喂食4.2系統(tǒng)的硬件結(jié)構(gòu)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第19頁(yè)。該智能魚(yú)缸控制系統(tǒng)包含六個(gè)模塊,分別為單片機(jī)核心控制模塊、溫度傳感器、藍(lán)牙模塊、時(shí)鐘控制模塊、led燈帶、電機(jī)。單片機(jī)核心控制模塊以STC12C5A60S2單片機(jī)為核心CPU控制協(xié)調(diào)其他模塊協(xié)同工作;溫度傳感器負(fù)責(zé)溫度的檢測(cè)以及獲取具體的溫度值;藍(lán)牙模塊負(fù)責(zé)上位機(jī)與下位機(jī)之間的通訊;時(shí)鐘控制模塊負(fù)責(zé)提供智能魚(yú)缸控制系統(tǒng)的時(shí)鐘參數(shù);led燈帶則使魚(yú)缸更具觀賞性;不同的電機(jī)負(fù)責(zé)不同的功能主要有氣泵、水泵、喂食器。該智能魚(yú)缸控制系統(tǒng)的硬件結(jié)構(gòu)如圖4.2基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第19頁(yè)。圖4.2硬件結(jié)構(gòu)圖其中控制部分包括:中心控制模塊:主要以CPU核心,包括晶振,復(fù)位電路等。該模塊的主要功能是將單片機(jī)各個(gè)引腳的信號(hào)以及通過(guò)綠色能源模塊接收到的命令及其參數(shù)進(jìn)行運(yùn)算處理,然后發(fā)出各種控制信號(hào)。各種控制信號(hào)對(duì)應(yīng)的相關(guān)操作通過(guò)驅(qū)動(dòng)硬件完成,如打開(kāi)氣泵進(jìn)行充氧操作等??撮T(mén)狗電路負(fù)責(zé)系統(tǒng)工作過(guò)程的監(jiān)測(cè),復(fù)位模塊使系統(tǒng)工作時(shí)發(fā)生異常情況的復(fù)位重啟。其中輸入輸出部分包括:1.溫度檢測(cè)模塊:將溫度傳感器檢測(cè)到的溫度數(shù)據(jù)傳輸給單片機(jī);該溫度傳感器模塊完成數(shù)據(jù)的采集功能,主要由傳感器,放大器,A/D轉(zhuǎn)換器等組成。溫度傳感器主要是用來(lái)探測(cè)魚(yú)缸環(huán)境溫度參數(shù)的變化,并將數(shù)字信號(hào)的溫度變化值轉(zhuǎn)化為電信號(hào)以便單片機(jī)識(shí)別。2.藍(lán)牙數(shù)據(jù)傳輸模塊:將手機(jī)APP端接受到的命令信號(hào)傳輸給CPU,CPU根據(jù)接收到的命令發(fā)出對(duì)應(yīng)的控制信號(hào)。將檢測(cè)到的溫度值發(fā)送給手機(jī)端,手機(jī)端接收到溫度值后,將其顯示出來(lái)。4.3系統(tǒng)的軟件設(shè)計(jì)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第20頁(yè)。Android開(kāi)發(fā)中自帶有藍(lán)牙API,我們直接使用該API并搭配Socket編程和多線程編程,就可以完成手機(jī)端和設(shè)備通信。在程序中使用sqlite數(shù)據(jù)庫(kù)和Chart圖形庫(kù),就可以實(shí)現(xiàn)歷史數(shù)管理和可視化圖形界面顯示。該智能魚(yú)缸控制系統(tǒng)上位機(jī)軟件框圖如圖4.3?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第20頁(yè)。圖4.3手機(jī)端軟件框圖本課題設(shè)計(jì)的上位機(jī)軟件功能包含有三大部分:藍(lán)牙鏈接界面設(shè)計(jì),人工控制界面設(shè)計(jì),定時(shí)任務(wù)界面設(shè)計(jì)。用戶使用時(shí),打開(kāi)程序,會(huì)進(jìn)入藍(lán)牙鏈接界面,該過(guò)程為整個(gè)軟件建立一個(gè)與下位機(jī)之間的通訊;藍(lán)牙鏈接以后會(huì)自動(dòng)進(jìn)入到人工控制界面界面,該界面包含溫度值的檢測(cè)與顯示、喂食控制、進(jìn)出水開(kāi)關(guān)、氧泵開(kāi)關(guān)、霓虹效果;第三個(gè)頁(yè)面是定時(shí)控制界面,用戶可以設(shè)置時(shí)間讓魚(yú)缸每天按照用戶設(shè)置的時(shí)間來(lái)自動(dòng)進(jìn)行喂食、換水、充氧操作。因此該程序模塊會(huì)包含有整個(gè)工程中最重要的通信功能?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第21頁(yè)?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第21頁(yè)。5詳細(xì)設(shè)計(jì)5.1單片機(jī)系統(tǒng)設(shè)計(jì)5.1.1單片機(jī)選型本課題中溫度檢測(cè)部分要求具有高精度AD轉(zhuǎn)換模塊,綜合考慮后我們選擇STC研發(fā)生產(chǎn)的STC12C5A60S2STC12C5A60S2單片機(jī)是一種單時(shí)鐘周期的單片機(jī)也就是說(shuō)該型單片機(jī)只能執(zhí)行一個(gè)任務(wù),如果要同時(shí)執(zhí)行多個(gè)任務(wù)就需要開(kāi)啟中斷。它是一種加強(qiáng)型8051單片機(jī),相比之前類型的8051單片機(jī)具有高速/低功耗/超強(qiáng)抗干擾等特點(diǎn),因?yàn)樗且环N加強(qiáng)型8051單片機(jī)所以該型單片機(jī)指令代碼完全兼容傳統(tǒng)8051,但是它的速度卻要比傳統(tǒng)的8051單片機(jī)快8-12倍。STC12C5A60S2單片機(jī)的內(nèi)部集成了MAX810專用復(fù)位電路用于系統(tǒng)工作異常時(shí)整個(gè)系統(tǒng)的復(fù)位重啟,以及2路PWM用于對(duì)電壓的精確控制,還有8路速度高達(dá)25萬(wàn)次/秒的A/D轉(zhuǎn)換,可以將溫度、濕度等數(shù)字信號(hào)轉(zhuǎn)換為單片機(jī)可識(shí)別的電信號(hào)。該型單片機(jī)專門(mén)針對(duì)電機(jī)的控制,基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第22頁(yè)。圖5.1STC12C5A60S2基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第22頁(yè)。STC12C5A60S2單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖5.2圖5.2STC12C5A60S2STC12C5A60S2圖5.3STC12C5A60S2管腳5.1.2單片機(jī)最小系統(tǒng)設(shè)計(jì)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第23頁(yè)。1)單片機(jī)電源模塊設(shè)計(jì)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第23頁(yè)。STC12C5A60S2單片機(jī)正常工作的電壓范圍為3.0V-5.5V,以及藍(lán)牙的供電電壓為3.3V,本課題所設(shè)計(jì)的智能魚(yú)缸控制系統(tǒng)用的是充電寶作為電源,充電寶的電壓為5V,因此要確保上述的硬件能夠正常工作就需要一個(gè)降壓穩(wěn)壓的模塊將接入電路的電壓降到一個(gè)合適的穩(wěn)定的電壓值。通過(guò)查閱資料實(shí)際考察等方式,從多種穩(wěn)壓降壓模塊中進(jìn)行篩選,最終德科儀器公司提供的TPS76033電壓轉(zhuǎn)換芯片成為最佳的解決方案,通過(guò)這種方式我們成功的把3.7V電壓轉(zhuǎn)換為3.3V穩(wěn)定電壓,這使得單片機(jī)和藍(lán)牙模塊都能同時(shí)正常的工作TPS76033芯片特點(diǎn):輸入電壓16V;輸出電壓為3.3V;DropoutVoltage:0.001Vat0mA;輸出電流:50mA;最大工作溫度:+125C;回動(dòng)電壓—最大值:180mV;Ib-輸入偏流:90uA;最小輸入電壓:+3.5V。如圖5.1所示。圖5.1降壓穩(wěn)壓模塊在智能魚(yú)缸控制系統(tǒng)設(shè)計(jì)中,為了給STC12C5A60S2單片機(jī)以及相關(guān)外圍電路提供穩(wěn)定干凈的電源,所以還加上了濾波電路(圖5.2圖5.2濾波電路2)單片機(jī)時(shí)鐘脈沖設(shè)計(jì)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第24頁(yè)。可以選擇兩種振蕩器類型作為系統(tǒng)的振蕩器1(OSC1CLK)時(shí)鐘源和振蕩器2(OSC2CLK)時(shí)鐘源。當(dāng)選擇振蕩器1時(shí)鐘(OSC1CLK)作為系統(tǒng)時(shí)鐘頻率分頻器的輸入時(shí)鐘(OSCSCLK)(FS=0),并且系統(tǒng)進(jìn)入掉電(Power-Down)模式時(shí),振蕩器1時(shí)鐘(OSC1CLK)和振蕩器2時(shí)鐘(OSC2CLK)都會(huì)關(guān)閉。如果時(shí)基定時(shí)器模塊或LCD模塊功能開(kāi)啟時(shí),振蕩器1時(shí)鐘(OSC1CLK)不會(huì)關(guān)閉,振蕩器2時(shí)鐘(OSC2CLK)會(huì)關(guān)閉。當(dāng)選擇振蕩器2時(shí)鐘(OSC2CLK)作為(FS=1)并且系統(tǒng)進(jìn)入掉電(Power-Down)模式時(shí),用以支持片上外圍設(shè)備(例如定時(shí)器3、時(shí)基定時(shí)器等)。內(nèi)部12MHzRC支持硬件/軟件校正功能,當(dāng)CLKLO寄存器中的CLKRCEN=0時(shí),內(nèi)部RC由系統(tǒng)硬件自動(dòng)校正;當(dāng)CLKRCEN=1時(shí),內(nèi)部RC由用戶軟件校正,通過(guò)修改CLKRC0寄存器的值調(diào)整RC振蕩頻率,CLKRC1寄存器為出廠校正的初值數(shù)據(jù),當(dāng)調(diào)整RC振蕩頻率偏移較大時(shí),可通過(guò)只讀寄存器CLKRC1獲取校正初值數(shù)據(jù)。本課題中為了減小硬件電路開(kāi)支,我們選擇內(nèi)部12MRC振蕩器作為系統(tǒng)時(shí)鐘?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第24頁(yè)。圖5.3單片機(jī)振蕩器類型選擇框圖系統(tǒng)時(shí)鐘控制寄存器如表5-1所示:表5-1系統(tǒng)時(shí)鐘控制寄存器B2H第7位第6位第5位第4位第3位第2位第1位第0位CLKCON32k_SPDUPCLKS1CLKS0SCMIFOSC2ONFS--讀/寫(xiě)讀/寫(xiě)讀/寫(xiě)讀/寫(xiě)只讀讀/寫(xiě)讀/寫(xiě)--復(fù)位值

(POR/WDT/LVR/PIN)111000--基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第25頁(yè)。3)復(fù)位電路設(shè)計(jì)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第25頁(yè)。本課題設(shè)計(jì)中,由于RST引腳內(nèi)部接有30K上拉電阻,所以直接在RST引腳接GND就可實(shí)現(xiàn)上電復(fù)位功能,但為了防止系統(tǒng)出錯(cuò)時(shí),可以方便復(fù)位系統(tǒng),于是給出一種手動(dòng)復(fù)位和上電復(fù)位結(jié)合電路,如圖4-7。圖5.4復(fù)位電路5.1.3詳細(xì)說(shuō)明1)打開(kāi)系統(tǒng)電源,初始化系統(tǒng)時(shí)鐘下載設(shè)置中設(shè)置晶體諧振器,內(nèi)部12MHzRC振蕩器。當(dāng)系統(tǒng)發(fā)生任何形式的復(fù)位,如上電復(fù)位,看門(mén)狗復(fù)位等時(shí),系統(tǒng)時(shí)鐘為OSC1CLK并自動(dòng)進(jìn)入32.768kHz加速模式,因此當(dāng)系統(tǒng)穩(wěn)定以后需要將系統(tǒng)時(shí)鐘切換為OSC2CLK。切換方式為:打開(kāi)OSC2CLK開(kāi)關(guān),并等待延時(shí)4個(gè)NOP指令,切換代碼如下: CLKCON=0x08;//系統(tǒng)時(shí)鐘為 _nop_(); _nop_(); _nop_(); _nop_(); CLKCON=0x0C;//系統(tǒng)時(shí)鐘選擇為OSC2CLK2)系統(tǒng)各模塊功能初始化基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第26頁(yè)。系統(tǒng)將對(duì)以下功能包括外部中斷0、定時(shí)器2、EUART、ADC、POWER、OP、PGA、PWM以及對(duì)端口屬性進(jìn)行初始化。初始化函數(shù)名(各函數(shù)調(diào)用位置視功能需求而定)如下:基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第26頁(yè)。POWER_init(); //電壓初始化OP_init(); //OP初始化PGA_init();//PGA初始化Timer2_init();//Timer2初始化EX01_init(x);//外部中斷初始化pwm1_init();//PWM1初始化SET_OUTPUT_PULL(port,pin);//端口初始化宏5.2溫度傳感器模塊設(shè)計(jì)5.2.1溫度傳感器選型智能魚(yú)缸控制系統(tǒng)的設(shè)計(jì)要求溫度傳感器具有很高的精確度,并且能夠傳回準(zhǔn)確的溫度值,根據(jù)魚(yú)類的生活習(xí)性,測(cè)溫范圍為零下5度到50度之間,傳感器測(cè)量誤差在零下5度到50度之間的精度為±5℃,并且還需要良好的抗干擾能力。綜合以上因素考慮,我們使用DS18B20型號(hào)數(shù)字溫度傳感器。測(cè)溫分辨率可達(dá)0.0625如圖5.5表示DS18B20的方框圖。主要由4部分組成:64位只讀存儲(chǔ)器儲(chǔ)存器、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、溫度配置寄存器。DSl8820的管腳排列是:DQ為數(shù)字信號(hào)輸入/輸出端;GND為電源接地;VDD為外接供電電源輸入。只讀存儲(chǔ)器儲(chǔ)存器中的64位序列號(hào)是生產(chǎn)廠商在出廠以前燒寫(xiě)進(jìn)DS18B20的不會(huì)被改變,因此這個(gè)可以當(dāng)作是不同DSl8820的地址碼,所以DSl8820只讀存儲(chǔ)器儲(chǔ)存器中的的64位序列號(hào)均不相同。DSl8820只讀存儲(chǔ)器儲(chǔ)存器中的的64位序列號(hào)的作用是標(biāo)識(shí)不同的DSl8820,因此多個(gè)DSl8820就可以連接到一根總線上協(xié)同工作。之所以存儲(chǔ)在配置寄存器的數(shù)據(jù)在系統(tǒng)斷開(kāi)電源后任然能夠保存,是因?yàn)樗麄兪欠且资缘目刹脸绦蚣拇嫫鳎‥EPROM)。基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第27頁(yè)。圖5.5DS18B20方框圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第27頁(yè)。5.2.2溫度傳感器電路設(shè)計(jì)如圖5.5表示DS18B20的電路圖。DS18B20數(shù)字溫度計(jì)通過(guò)一個(gè)I/O口發(fā)送或接受信息,所以在STC12C5A60S2單片機(jī)CPU和DS18B20數(shù)字溫度計(jì)之間只要連一個(gè)I/O口就可以了。DSl8820芯片的引腳2與單片機(jī)P10口連接。使用外部5V電源供電,為保證在有效P的DSl8820時(shí)鐘周期內(nèi),鏈接能使該芯片正常工作的電流。圖5.4DS18B20電路圖5.3藍(lán)牙串口模塊設(shè)計(jì)5.3.1串口技術(shù)本課題所使用單片機(jī)STC12C5A60S21. 自帶波特率發(fā)生器的EUART;2. 波特率發(fā)生器就是一個(gè)15位向上計(jì)數(shù)器;3. 增強(qiáng)功能包括幀出錯(cuò)檢測(cè)及自動(dòng)地址識(shí)別;4. EUART有四種工作方式。與普通串口相同,該串口收發(fā)器擁有四種工作方式:基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第28頁(yè)。表5-2EUART工作方式列表基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第28頁(yè)。SM0SM1方式類型波特率幀長(zhǎng)度起始位停止位第9位000同步fSYS/(4或12)8位無(wú)無(wú)無(wú)011異步自帶波特率發(fā)生器的溢出率/1610位11無(wú)102異步fSYS/(32或64)11位110,1113異步自帶波特率發(fā)生器的溢出率/1611位110,1幾種工作模式分別為:1. 方式0:同步,半雙工通訊;2. 方式1:8位EUART,可變波特率,異步全雙工;3. 方式2:9位EUART,固定波特率,異步全雙工;4. 方式3:9位EUART,可變波特率,異步全雙工。本課題中串口工作模式選則——方式1:8位EUART,可變波特率,異步全雙工;波特率為9600。EUART自帶一個(gè)波特率發(fā)生器,它實(shí)質(zhì)上就是一個(gè)15位遞增計(jì)數(shù)器(如圖4-18)。圖5.5波特率發(fā)生器框圖由圖4-18可以得到波特率發(fā)生器的溢出率為:在方式1中,波特率可微調(diào),精度為一個(gè)系統(tǒng)時(shí)鐘,因此,EUART在模式1下的波特率計(jì)算公式如下:在本課題中,系統(tǒng)時(shí)鐘使用內(nèi)部RC12M晶振,經(jīng)計(jì)算可精確得到SBRT值和BFINE值:基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第29頁(yè)。表5-3波特率計(jì)算表基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第29頁(yè)。系統(tǒng)時(shí)鐘(MHz)波特率(bps)SBRTBFINE12960032690212192003272915.3.2藍(lán)牙串口電路設(shè)計(jì)在本課題中,藍(lán)牙模塊已經(jīng)為我們引出了兩個(gè)串口引腳,我們只需要將藍(lán)牙模塊中的串口引腳和單片機(jī)串口引腳相連,就可以通信了。藍(lán)牙模塊單獨(dú)的為用戶提供了幾個(gè)可操作引腳,其中有一個(gè)復(fù)位引腳和連接狀態(tài)引腳。如圖4-19藍(lán)牙連接電路圖,其中Q5作為藍(lán)牙供電開(kāi)關(guān),可實(shí)現(xiàn)單片機(jī)編程控制藍(lán)牙供電;Q6則是藍(lán)牙指示燈開(kāi)關(guān),當(dāng)藍(lán)牙模塊和其他藍(lán)牙設(shè)備(安卓手機(jī))連接時(shí),led燈不間斷閃爍,反之,led燈將常亮。圖5.6藍(lán)牙電路圖5.3.3系統(tǒng)通訊協(xié)議設(shè)計(jì)1)通訊協(xié)議概要底層設(shè)備和手機(jī)安卓端通信需要通過(guò)中繼——藍(lán)牙模塊。其中藍(lán)牙模塊和設(shè)備之間通信采用串行異步方式,一幀數(shù)據(jù)分為1位起始位,8位數(shù)據(jù)位和1位停止位,無(wú)奇偶校驗(yàn)位,共10位。藍(lán)牙模塊和手機(jī)Android采用主從模式:手機(jī)作為主模式,藍(lán)牙模塊作為從機(jī)模式。2)指令包協(xié)議數(shù)據(jù)傳輸中各字段的定義:基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第30頁(yè)。a)開(kāi)啟智能魚(yú)缸控制系統(tǒng)命令幀(下發(fā))格式定義如下所示:基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第30頁(yè)。表5-4下發(fā)數(shù)據(jù)包格式。Byte2Byte3Byte4Byte5TypeCmdData_lengthCheck設(shè)備類型:0x1命令碼:0x1數(shù)據(jù)總長(zhǎng)度:0x05SUM Head為幀頭標(biāo)志,定義為0xAA; Data_length為數(shù)據(jù)總長(zhǎng)度,5個(gè)固定長(zhǎng)度; Check為各字節(jié)和校驗(yàn)例:fa11000000dd5.3.4系統(tǒng)通訊詳細(xì)說(shuō)明1)初始化串口串口初始化需要對(duì)相應(yīng)的寄存器進(jìn)行初始化,在這里我們?cè)O(shè)置其串口波特率為9600,進(jìn)過(guò)計(jì)算得到BFINE=2,SBRT=32690,具體設(shè)置代碼如下:#defineSBRTH_value(((unsignedchar)(SBRT>>8))|0x80)#defineSBRTL_value((unsignedchar)SBRT) SCON=0x70; //SM0SM1SM2RENTB8RB8TIRI SBRTH=SBRTH_value;// SBRTL=SBRTL_value; SFINE=BFINE;2)數(shù)據(jù)包基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第31頁(yè)。數(shù)據(jù)包封裝為兩個(gè)結(jié)構(gòu)體,一個(gè)為發(fā)送數(shù)據(jù)包,一個(gè)為接收數(shù)據(jù)包。系統(tǒng)初始化時(shí),會(huì)對(duì)數(shù)據(jù)包進(jìn)行初始化,當(dāng)需要發(fā)送數(shù)據(jù)包的時(shí)候會(huì)對(duì)數(shù)據(jù)重新組包并發(fā)送:基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第31頁(yè)。typedefstructtagRxDataPacket{ unsignedcharHead; unsignedcharType; unsignedcharCmd; unsignedcharDataLength; unsignedcharCheak;}RXDATAPACKET_S;5.4時(shí)鐘模塊設(shè)計(jì)5.4.1時(shí)鐘該智能魚(yú)缸控制系統(tǒng)需要準(zhǔn)確獲取時(shí)鐘參數(shù),需要時(shí)鐘能在掉電的情況下還能正確計(jì)時(shí),因此智能魚(yú)缸控制系統(tǒng)選用DALLAS公司研發(fā)生產(chǎn)的涓流充電時(shí)鐘芯片DSl302來(lái)完成系統(tǒng)的絕對(duì)時(shí)鐘和相對(duì)時(shí)鐘的電路設(shè)計(jì)。DSl302通過(guò)簡(jiǎn)單的同步串行方式與單片機(jī)進(jìn)行通信。DSl302能夠?yàn)橄到y(tǒng)提供提供年、月、日、時(shí)、分、秒、周的時(shí)間信息,而且DSl302能夠不同的月份和不同的年份來(lái)自動(dòng)調(diào)整每月的天數(shù)以及閏年的天數(shù),DSl302時(shí)鐘可以通過(guò)調(diào)節(jié)AM/PM指示來(lái)控制采用24或12小時(shí)的時(shí)鐘計(jì)時(shí)模式。DSl302僅需用到三個(gè)口線:1)RST(復(fù)位),2)I/O(數(shù)據(jù)線),3)SCLK(串行時(shí)鐘)。DSl302的功耗很低,維持整個(gè)時(shí)鐘模塊正常工作的功率小于1mw。圖5.7DS1302管腳配置圖5.4.2時(shí)鐘基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第32頁(yè)。如圖5.8表示DS1302時(shí)鐘模塊的電路圖。DS1302提供控制魚(yú)缸換水、喂食、充氧等操作的相對(duì)時(shí)鐘,DS1302對(duì)時(shí)間處理的同時(shí)還可以為系統(tǒng)提供其他擴(kuò)展的功能,比如鬧鐘提醒,事件定時(shí),備忘等?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第32頁(yè)。圖5.8DS1302電路圖串行I/O口方式使得DS1302時(shí)鐘芯片與STC12C5A60S25.5Android客戶端設(shè)計(jì)5.5.1Android藍(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)限。代碼如下:<uses-permissionandroid:name="android.permission.BLUETOOTH"/><uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN"/>2)配置本機(jī)藍(lán)牙模塊基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第33頁(yè)。在配置本機(jī)藍(lán)牙模塊時(shí),我們需要使用對(duì)藍(lán)牙操作的一個(gè)核心類BluetoothAdapter。該類可以直接打開(kāi)系統(tǒng)的藍(lán)牙設(shè)置面板,并設(shè)置藍(lán)牙開(kāi)關(guān),還可以設(shè)置藍(lán)牙可見(jiàn)性?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第33頁(yè)。3)藍(lán)牙通信手機(jī)端獲取Socket的方式為:socket=device.createRfcommSocketToServiceRecord(MY_UUID);如果創(chuàng)建成功,則進(jìn)行連接操作:socket.connect();當(dāng)連接成功以后,就創(chuàng)建一個(gè)線程進(jìn)行接收數(shù)據(jù):mreadThread=newReadDataThread();mreadThread.start();在子線程中,有一個(gè)while循環(huán),循環(huán)退出條件為藍(lán)牙斷開(kāi)連接。當(dāng)進(jìn)入子線程以后,程序會(huì)一直監(jiān)視socket的InputStream,及輸入流,當(dāng)輸入流不為空的時(shí)候,我們就接收到的數(shù)據(jù)進(jìn)行處理,如果是符合4.5.4中通訊協(xié)議的數(shù)據(jù)包,我們就對(duì)其進(jìn)行處理。5.5.2Android界面設(shè)計(jì)在本系統(tǒng)設(shè)計(jì)到的Android客戶端中,我們采用ViewPager滑動(dòng)頁(yè)面設(shè)計(jì),主要框架包含三個(gè)Tab界面,如圖5.9軟件界面截圖:ABC基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第34頁(yè)。圖5.9軟件界面截圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第34頁(yè)。藍(lán)牙操作已經(jīng)被封為一個(gè)JAVA類,當(dāng)我們需要使用的時(shí)候,只需要定義并實(shí)例化一個(gè)Bluetooth類就可以了?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第35頁(yè)。

基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第35頁(yè)。6系統(tǒng)實(shí)現(xiàn)6.1底層設(shè)備軟件實(shí)現(xiàn)6.1.1系統(tǒng)軟件流程圖智能魚(yú)缸控制系統(tǒng)工作流程圖如圖6.1所示。其工作過(guò)程主要包括:初始化、藍(lán)牙通信、接收命令及參數(shù)命令、執(zhí)行命令、返回溫度值。圖6.1底層系統(tǒng)軟件流程圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第36頁(yè)。初始化:主要包括輸入輸出端口初始化、系統(tǒng)時(shí)鐘初始化、AD模塊以及藍(lán)牙模塊、溫度傳感器初始化等?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第36頁(yè)。6.1.2底層系統(tǒng)算法設(shè)計(jì)智能魚(yú)缸控制系統(tǒng)主要是對(duì)魚(yú)缸硬件進(jìn)行控制,要讓硬件設(shè)備正常工作,就需要先對(duì)相關(guān)的設(shè)備寫(xiě)驅(qū)動(dòng)程序。在本系統(tǒng)中,需要驅(qū)動(dòng)的硬件設(shè)備主要是電機(jī)。該程序模塊代碼如下:voidmotor_4(MOTOR_SWITCH_Esw){ unsignedchartmp; tmp=MOTOR_PORT; switch(sw) { caseENUM_MOTOR_SWITCH_FORWARD: MOTOR_PORT=tmp&~BV(4); tmp=MOTOR_PORT; MOTOR_PORT=tmp|BV(5); break; caseENUM_MOTOR_SWITCH_REVERSE: MOTOR_PORT=tmp&~BV(5); tmp=MOTOR_PORT; MOTOR_PORT=tmp|BV(4); break; caseENUM_MOTOR_SWITCH_OFF: MOTOR_PORT=tmp|BV(5); tmp=MOTOR_PORT; MOTOR_PORT=tmp|BV(4); break; }}基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第37頁(yè)。時(shí)鐘控制模塊,主要有設(shè)置時(shí)間和讀取時(shí)間這兩大功能,可以把時(shí)間寫(xiě)入DS1302芯片,然后DS1302芯片從寫(xiě)入的時(shí)間開(kāi)始自動(dòng)裝載正確的時(shí)間,控制核心CPU可以讀到正確的時(shí)間,從而更具用戶設(shè)定的時(shí)間完成相關(guān)操作,其代碼實(shí)現(xiàn)是基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第37頁(yè)。//向DS1302寫(xiě)入一字節(jié)數(shù)據(jù)voidds1302_write_byte(ucharaddr,uchard){ uchari; RST=1; //啟動(dòng)DS1302總線 //寫(xiě)入目標(biāo)地址:addr addr=addr&0xFE;//最低位置零,寄存器0位為0時(shí)寫(xiě),為1時(shí)讀基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第38頁(yè)。溫度傳感器模塊主要負(fù)責(zé)溫度信息的檢測(cè)和傳輸回單片機(jī),以便用戶能夠?qū)崟r(shí)監(jiān)控魚(yú)缸的穩(wěn)定情況。主控程序主要接收手機(jī)端發(fā)出的控制命令及參數(shù),然后控制智能魚(yú)缸外圍設(shè)備協(xié)同工作,主要操作有開(kāi)啟/關(guān)閉充氧設(shè)備、開(kāi)啟/關(guān)閉換水設(shè)備、開(kāi)啟/關(guān)閉喂食設(shè)備、開(kāi)啟/關(guān)閉LED燈光設(shè)備、讓溫度傳感器檢測(cè)溫度、向手機(jī)端發(fā)送溫度值等,具體實(shí)現(xiàn)代碼如下:基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第38頁(yè)。 voidprocess(){ ucharhead=CMD[0]; uchar*cmd=CMD+1; ucharwen[2]; ucharport_tmp; uchartimeArr[8]={0}; switch(head) { caseSET_TIME: timeArr[4]=(cmd[1]<<4)|cmd[2]; timeArr[5]=(cmd[3]<<4)|cmd[4]; ds1302_write_time_by_arr(timeArr); break; caseMOTOR: if(str_cmp(cmd,motor[0])==1) { chose_motor(ENUM_MOTOR_CHOSE_1,ENUM_MOTOR_SWITCH_ON); break; } if(str_cmp(cmd,motor[1])) { chose_motor(ENUM_MOTOR_CHOSE_1,ENUM_MOTOR_SWITCH_OFF); break; } if(str_cmp(cmd,motor[2])) chose_motor(ENUM_MOTOR_CHOSE_2,ENUM_MOTOR_SWITCH_ON); if(str_cmp(cmd,motor[3])) chose_motor(ENUM_MOTOR_CHOSE_2,ENUM_MOTOR_SWITCH_OFF); if(str_cmp(cmd,motor[4])) chose_motor(ENUM_MOTOR_CHOSE_4,ENUM_MOTOR_SWITCH_FORWARD); chose_motor(ENUM_MOTOR_CHOSE_4,ENUM_MOTOR_SWITCH_OFF); chose_motor(ENUM_MOTOR_CHOSE_4,ENUM_MOTOR_SWITCH_REVERSE); chose_motor(ENUM_MOTOR_CHOSE_4,ENUM_MOTOR_SWITCH_OFF); } break; caseLED: if(str_cmp(cmd,led[0])) {基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第39頁(yè)。 Timer0Init();基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第39頁(yè)。 ET0=1; break; } if(str_cmp(cmd,led[1])) { port_tmp=LED_PORT; ET0=0; LED_PORT=port_tmp|BV(2)|BV(3)|BV(4); break; } break; chose_motor(ENUM_MOTOR_CHOSE_3,ENUM_MOTOR_SWITCH_OFF); } if(chongyang_cmd[0]==readtime[8]&&//沖氧 chongyang_cmd[1]==readtime[9]&& chongyang_cmd[2]==readtime[10]&& chongyang_cmd[3]==readtime[11]) { chose_motor(ENUM_MOTOR_CHOSE_1,ENUM_MOTOR_SWITCH_ON); chose_motor(ENUM_MOTOR_CHOSE_1,ENUM_MOTOR_SWITCH_OFF); }6.2手機(jī)端軟件實(shí)現(xiàn)6.2.1手機(jī)端軟件流程圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第40頁(yè)。手機(jī)端APP包含有三大部分:藍(lán)牙鏈接界面設(shè)計(jì),人工控制界面設(shè)計(jì),定時(shí)任務(wù)界面設(shè)計(jì)。用戶使用時(shí),打開(kāi)程序,會(huì)進(jìn)入藍(lán)牙鏈接界面,該過(guò)程為整個(gè)軟件建立一個(gè)與下位機(jī)之間的通訊;藍(lán)牙鏈接以后會(huì)自動(dòng)進(jìn)入到人工控制界面界面,該界面包含溫度值的檢測(cè)與顯示、喂食控制、進(jìn)出水開(kāi)關(guān)、氧泵開(kāi)關(guān)、霓虹效果;第三個(gè)頁(yè)面是定時(shí)控制界面,用戶可以設(shè)置時(shí)間讓魚(yú)缸每天按照用戶設(shè)置的時(shí)間來(lái)自動(dòng)進(jìn)行喂食、換水、充氧操作。因此該程序模塊會(huì)包含有整個(gè)工程中最重要的通信功能。手機(jī)端軟件流程圖如圖所示基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第40頁(yè)。圖6.2手機(jī)端軟件流程圖6.2.2底手機(jī)端軟件算法設(shè)計(jì)基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第41頁(yè)。手機(jī)端APP主要是把用戶點(diǎn)擊屏幕按鈕對(duì)應(yīng)的操作轉(zhuǎn)化為下位機(jī)能夠識(shí)別的命令,通過(guò)藍(lán)牙通信傳送給下位機(jī)。例如充氧操作對(duì)應(yīng)的命令是fa11000000dd。手機(jī)端還負(fù)責(zé)把下位機(jī)通過(guò)藍(lán)牙通信發(fā)送的溫度值顯示在手機(jī)端,便于客戶檢測(cè)魚(yú)缸的溫度。其主要代碼實(shí)現(xiàn)是基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第41頁(yè)。switch(v.getId()){caseR.id.btn_CheckTemperature:m_blueTooth.sendMessage(defines.BYTE_ARRAY_CMD_CHECK_TEMPERATURE);m_tvShowStatusInfo.setText("“獲取溫度”命令已發(fā)送");break;caseR.id.btn_Feed:m_blueTooth.sendMessage(defines.BYTE_ARRAY_CMD_FEED);m_tvShowStatusInfo.setText("“喂食”命令已發(fā)送");break;caseR.id.btn_SetTimerFeed:{defines.BYTE_ARRAY_CMD_SET_TIMER_FEED[1]=(byte)(h/10);defines.BYTE_ARRAY_CMD_SET_TIMER_FEED[2]=(byte)(h%10);defines.BYTE_ARRAY_CMD_SET_TIMER_FEED[3]=(byte)(m/10);defines.BYTE_ARRAY_CMD_SET_TIMER_FEED[4]=(byte)(m%10);m_blueTooth.sendMessage(defines.BYTE_ARRAY_CMD_SET_TIMER_FEED);m_tvShowStatusInfo.setText("“定時(shí)喂食”命令已發(fā)送");}break;caseR.id.btn_SetTimerChangeTheWater:{defines.BYTE_ARRAY_CMD_SET_TIMER_CHANGE_THE_WATER[1]=(byte)(h/10);基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第42頁(yè)。m_blueTooth.sendMessage(defines.BYTE_ARRAY_CMD_SET_TIMER_CHANGE_THE_WATER);基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第42頁(yè)。m_tvShowStatusInfo.setText("“定時(shí)換水”命令已發(fā)送");}break;caseR.id.btn_SetTimerChangeTheAir:{defines.BYTE_ARRAY_CMD_SET_TIMER_CHANGE_THE_AIR[4]=(byte)(m%10);m_blueTooth.sendMessage(defines.BYTE_ARRAY_CMD_SET_TIMER_CHANGE_THE_AIR);m_tvShowStatusInfo.setText("“定時(shí)充氧”命令已發(fā)送");}6.3軟硬件設(shè)備實(shí)物圖6.3.1硬件設(shè)備實(shí)物圖 硬件設(shè)備實(shí)物圖如圖6.3、圖6.4、圖6.5所示,單片機(jī)核心控制模塊以STC12C5A60S2單片機(jī)為核心CPU基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第43頁(yè)。圖6.3智能魚(yú)缸正面俯視圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第43頁(yè)。圖6.4智能魚(yú)缸電機(jī)設(shè)備圖圖6.5智能魚(yú)缸反面俯視圖6.3.2手機(jī)端軟件截圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第44頁(yè)。如圖6.6軟件界面截圖,手機(jī)客戶端軟件包含有三大部分:設(shè)備連接界面,人工控制界面,定時(shí)任務(wù)界面。用戶使用時(shí),打開(kāi)程序,會(huì)進(jìn)入藍(lán)牙鏈接界面;藍(lán)牙鏈接以后會(huì)自動(dòng)進(jìn)入到人工控制界面界面,該界面包含溫度值的檢測(cè)與顯示、喂食控制、進(jìn)出水開(kāi)關(guān)、氧泵開(kāi)關(guān)、霓虹效果;第三個(gè)頁(yè)面是定時(shí)控制界面,用戶可以設(shè)置時(shí)間讓魚(yú)缸每天按照用戶設(shè)置的時(shí)間來(lái)自動(dòng)進(jìn)行喂食、換水、充氧操作?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第44頁(yè)。ABC圖6.6軟件界面截圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第45頁(yè)。

基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第45頁(yè)。7系統(tǒng)測(cè)試7.1LED燈光變換測(cè)試打開(kāi)智能魚(yú)缸控制系統(tǒng)電源開(kāi)關(guān),手機(jī)端打開(kāi)智能魚(yú)缸APP,連接設(shè)備,選擇打開(kāi)霓虹燈,如圖7.1所示。圖7.1霓虹燈模塊演示圖如圖7.2所示,智能魚(yú)缸設(shè)備,開(kāi)啟霓虹效果,非常炫目,提高了魚(yú)缸整體的觀賞性?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第46頁(yè)。圖7.2霓虹燈效果圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第46頁(yè)。7.2檢測(cè)溫度測(cè)試打開(kāi)智能魚(yú)缸控制系統(tǒng)電源開(kāi)關(guān),手機(jī)端打開(kāi)智能魚(yú)缸APP,連接設(shè)備,選擇獲取溫度,手機(jī)客戶端顯示當(dāng)前魚(yú)缸的溫度值為21度,并提示“獲取溫度”命令已發(fā)送,如圖所示。圖7.3溫度檢測(cè)圖7.3水循環(huán)控制系統(tǒng)測(cè)試基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第47頁(yè)。打開(kāi)智能魚(yú)缸控制系統(tǒng)電源開(kāi)關(guān),手機(jī)端打開(kāi)智能魚(yú)缸APP,連接設(shè)備,選擇獲打開(kāi)進(jìn)水開(kāi)關(guān),魚(yú)缸做出抽水操作,如圖7.4所示?;趩纹瑱C(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第47頁(yè)。圖7.4魚(yú)缸水循環(huán)測(cè)試圖7.4充氧模塊測(cè)試打開(kāi)智能魚(yú)缸控制系統(tǒng)電源開(kāi)關(guān),手機(jī)端打開(kāi)智能魚(yú)缸APP,連接設(shè)備,選擇獲打開(kāi)充氧泵開(kāi)關(guān),魚(yú)缸做出充氧操作,如圖7.5所示。圖7.5魚(yú)缸充氧測(cè)試圖基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第48頁(yè)。

基于單片機(jī)的智能魚(yú)缸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)全文共51頁(yè),當(dāng)前為第

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論