《基于單片機的智能澆花系統設計與實現》11000字(論文)_第1頁
《基于單片機的智能澆花系統設計與實現》11000字(論文)_第2頁
《基于單片機的智能澆花系統設計與實現》11000字(論文)_第3頁
《基于單片機的智能澆花系統設計與實現》11000字(論文)_第4頁
《基于單片機的智能澆花系統設計與實現》11000字(論文)_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章概述1.1設計背景隨著綠色地球,綠色經濟等概念的提出,越來越多的人更加注重家庭綠色植物的布置,這是使家庭園藝市場異常火爆的原因之一。然而,快節奏的生活也凸顯出來了很多問題,比如說很多人愿意養花,但是養不好花。越來越多的年輕人面臨著巨大的壓力,面臨著買房買車的困境,沒有固定的時間來照顧自己的盆栽,這就會使盆栽長勢不好或者成活率不高。除此之外,我們的盆栽植物是綠色植物,除了它自身的可以觀賞和怡情的作用以外,還具有他作為綠色植物的作用,可以吸收空氣中的部分二氧化碳。研究表明,很多農村或者生活環境中綠色植物更高的地方空氣都更加清新,有害氣體指數更低。因此,加入種植花草隊伍的人也越來越多。給花盆及時的澆水,以及澆水的周期和澆水量都是影響盆栽成長的主要因素。但是,很多人由于自己的各種原因會沒時間照顧自己的盆栽,比如:出差,加班,外出旅游等。花卉的生長問題主要出現在各種澆水情況下。如果因為我們自己的照顧不周導致了盆栽長勢不利,那么就違背了我們養盆栽的初心,也沒有發揮出他們自身優勢。因此,我想設計一款,能夠解放人們雙手,隨時隨地通過手機就能看到自己花草具體情況,并且通過對花盆濕度的檢測,能夠在自己設置的閾值下,自動實現澆水。也避免了因主人沒時間而忽視自己的花草。造成花草死掉的后果。1.2設計目的及意義1.2.1設計目的近年來,電子行業發展極為迅速,以此為基礎的智能家居行業也迅猛發展,智能冰箱,智能家電系統等為生活帶來了方便和趣味。從前可能很多的技術和核心材料都要依靠外國才能完成,但是現在的中國在各個方面都處于國際前端,所以在這樣一個人口大國,智能化國內市場已經是一個成熟而穩定的大市場,為我國的人民帶來美好生活的同時也解決了很多人才的就業問題,挖掘出來了很多新型人才。在我國能夠實現自動澆花的設備有很多,但是實現的功能和使用的原理卻有很多不同,根本目的都是一樣的,是為了讓人們種植的盆栽植物能夠正常生長。盆栽現在已經非常的普遍了,卻因為人們自己的各種原因而植物的長勢受到影響。智能澆花系統便可以解決到這類人群的這些問題。于此同時,如果智能澆花系統能夠走向家庭,也是人們進入智能化時代的一大進步。1.2.1設計意義在中國古代,很多的文人高官就十分的喜愛種植花花草草,更有很多詩人的詩詞來源于種植的花草,這可以得出從古到今有很多的人喜歡養盆栽來陶冶自己的情操,此外這也是一種休閑娛樂的方式,但是由于現代人生活壓力大,越來越沒有時間和經力去照顧花草盆栽。這也成為了很多盆栽死亡的主要原因。為了解決按時澆花并且可以及時觀察花草的具體情況的,很多的年輕人會選擇在手機的備忘錄上記錄時間,但是這類方法一方面沒有及時的提醒作用,也存在很多其他的缺陷。市場上雖然也有很多的澆花系統,但都是捆綁銷售,價格高昂,對于普通的家庭或者正在為買車買房奮斗的年輕人來說,沒有辦法承受。智能澆花系統能夠解決這一些列的問題,該系統主要通過一個電容式的溫濕度傳感器,接收花盆土壤的濕度,通過AD轉換器將數據轉換成模擬信號再輸入單片機最終顯示在與單片連接的LCD電子屏幕上,通過自己對盆栽植物的了解提前在單片機上設置閾值,如果監測到濕度不夠時就會自動抽水,到達指定濕度時會制動停止。除此,為了方便主人及時準確的了解盆栽植物,還將傳感器的濕度傳到手機藍牙工具上,通過藍牙接收濕度信息,在藍牙助手上還可以設置閾值,解放養花者的時間。在樣子一個簡單的操作,一方面能夠保障花草的正常生長,另一方面能夠解放養花者的時間,享受更好的養花過程。1.3設計原理智能澆花系統的設計主要以單片機為主,利用濕度傳感器獲取相應的濕度信息以后通過AD轉換器進行數據轉換,再進行一系列的數據對比完成自動澆水。也將所檢測的相關信息通過HC-05藍牙模塊進行實時傳輸,在手機方便能查看到相應的數據,也能實現修改濕度閾值等功能。智能澆花系統以現在流行的智能家居為基礎進行的設計,設計模型以單片機為核心,用濕度傳感器檢測實時濕度,再通過對單片機的編程,獲取傳感器檢測到的濕度數據,根據設置的濕度閾值進行對比,以達到超出閾值自動抽水;手機端可以通過藍牙串口助手發送相關指令完成查詢濕度信息以及調整傳感器的閾值,及時澆水。

第2章智能澆花系統可行性與需求分析2.1可行性分析2.1.1技術可行性分析由于智能家電的快速崛起,很多專業人才加入,所以很多相關技術都相當成熟,在市面上有很多的測量濕度的傳感器,有的不僅能檢測濕度還能自動的轉換數據;單片機則是在開發階段一個成熟的簡單控制系統,單片機上有很多通用接口,這些接口可以連接不同的硬件設備完成單片機對他們的控制功能,所以只對單片機進行編程,調整好接口即可完成相對應的功能,比如連接LCD那么可以在單片機上編程就可顯示在LCD屏幕上。同時還可以連接藍牙模塊,可以使藍牙設備和藍牙連接后就可進行數據傳輸。正是因為現在技術的成功,資源的共享以及相關硬件設備的完善,以單片機為主要的智能澆花系統是完全可設計執行的。2.1.2經濟可行性分析智能澆花系統選擇的是家庭中最平凡的花盆作為服務的對象,大多數的智能家居產品面臨的是冰箱洗衣機等大型家電,所測試的成本比較高昂,同時人們在選擇時也會由于金錢的高昂而猶豫再三。而我們的智能澆花系統面臨的是最經濟便宜的花盆,所以對于消費者來說,接受程度能夠更大一些。同時我們使用的材料也是最簡單的,簡單的單片機系統,最簡單的藍牙模塊,此類硬件設施在研究方面能夠節省資金,同時也更具可行性。2.2需求分析2.2.1系統需求分析經過謹慎的問卷調查表格的設置,對100位行人進行了街頭問卷調查,問題主要集中在一下幾點:1在學習或者工作之余是否會養綠植;2一個人住是否會覺得照料綠植是一項麻煩的事情;3如果出差是否擔心綠植枯死;4如果市場出現一款可以手機控制的智能澆花器,是否會購買;5關于澆花器的價格你能接收多少元區間。經過各種調查之后,我們的出來一系列數據,并且得出一下結論:1絕大多數的人在學習和工作之余愿意養綠植;2如果自己一個人住,平時比較忙,有約一半的人會覺得養綠植很麻煩;3有超過一半的人會在自己出差的時候擔心自己所養的綠植;4有四分之三的人愿意購買這類智能澆花系統;5絕大多數人能夠接收100元以內的澆花器,極少數對價格沒有要求。根據研究表示,智能澆花系統是一款滿足市場的系統,具有開發的價值。2.2.2功能需求分析很多人喜歡養花養草等,但是由于自己工作或者學習沒時間去進行照料,很容易導致自己所養的綠植枯死。養綠植不僅是對我們凈化空氣非常有利,同時在對我們人體的心靈有很大的作用,在養花草的過程中能夠修生養性,能夠讓自己有個很好的心態,同時對于自己所養護的綠植一定是充滿情感的。所以能夠對綠植進行自動的澆水和檢測濕度,是一個非常適合現在的系統。本系統主要是檢測花盆的濕度,以及將數據傳輸到手機,讓消費者能夠及時的了解情況,當花盆的濕度指數小于消費者自己根據所養的植物設置的閾值,就會自動的實現抽水。我們消費者可以通過按鍵手動改寫閾值或者通過手機的藍牙助手輸入口令來改寫閾值。實現對植物水分的控制。這樣子能夠更科學更方便對植物的養護。濕度傳感器能夠直接插入花盆內部,直接接觸土壤,水泵能放置在水盆或者水缸里,在外出差的時候,通過對閾值的調整和對水杠里放滿水,就能實現自動澆花。同時在消費者自己比較空閑的時候,可以打開手機藍牙助手隨時隨地查看花盆濕度情況,并且可以通過自己養花的經驗設置一定的閾值。第3章智能澆花系統總體設計3.1系統功能設計根據上述需求分析,系統詳細功能如圖3-1所示:智能澆花系統智能澆花系統LCD顯示模塊土壤檢測模塊藍牙控制模塊系統設置模塊濕度檢測判斷澆水藍牙查詢濕度值顯示濕度值藍牙閾值設置閾值設置圖3-1智能澆花功能模塊圖3.1.1濕度檢測功能盆栽成活的關鍵因素在于環境是否利于成長,濕度檢測則是盆栽成活的關鍵檢測因素。將濕度傳感器放入土壤中,感受到土壤此時的確切濕度,通過傳感器的串口與AD轉換器連接,進行轉換數據后再傳置單片機內部,完成濕度的檢測功能。3.1.2判斷澆水功能通過濕度傳感器對土壤濕度的檢測,將檢測的濕度通過模數轉換后與事先設置好的濕度閾值進行對比,如若檢測值小于設置閾值,則表示需要澆水,此時電機便會自動工作,LCD顯示NO。如若檢測值大于設置閾值,則表示不需要澆水,LCD顯示OFF。3.1.3顯示濕度值功能當使用濕度傳感器時,將感應端放入土壤里面進行檢測,再通過接口連接AD轉換器,轉換采集的模擬信號的數據,再傳入單片機內顯示再LCD上。3.1.4藍牙查詢濕度值功能通過藍牙串口助手可以查看到土壤實時濕度,主要是通過單片機的串口與藍牙模塊相連接,再使手機下載藍牙工具與藍牙模塊匹配后,在遠程也能夠通過手機接收家中盆栽的土壤具體濕度值。3.1.5藍牙閾值設置功能通過手機藍牙串口助手APP與單片機上的藍牙模塊相匹配,連接后即可對植物現在的濕度值以及閾值進行查詢并且對所需濕度的閾值進行調控,以達到使植物最適合生長的環境。3.1.6閾值設置功能通過對不同的盆栽植物所需要的土壤濕度有不同值的了解,針對于不同的盆栽,可以通過系統按鍵進行設置濕度閾值,一共有四個按鍵,第一個按鍵表示進入閾值設置模塊,第二和第三個模塊自由調整濕度值,最后一個按鍵確認濕度值。以達到最適合植物生長的環境。3.2系統結構設計根據對智能澆花系統的需求分析,以及對數據的一系列流程進行分析后,可將該系統劃分為5個模塊:信息采集模塊:主要是對盆栽的土壤濕度進行采集,能夠準確的掌握土壤的信息,進行澆水預判。數據處理模塊:主要是在單片機內部進行處理,將經過AD轉換器轉換成功的數據傳入單片機內部進行相應功能的處理。顯示模塊:處理結束的數據會經過串口進入LCD顯示屏顯示。藍牙控制模塊:藍牙模塊通過手機串口助手進行連接后,能夠在手機端接收濕度信息,同時能夠在手機端進行閾值的修改。電機澆水模塊:在處理階段通過采集的數值與設置的閾值進行的比較后,采取自動澆水。具體的結構如下圖所示:顯示模塊顯示模塊AD轉換濕度傳感器單片機LCD顯示藍牙控制電機澆水信息采集模塊數據處理模塊藍牙控制模塊電機澆水模塊圖3-2智能澆花系統結構圖3.3設備選型3.3.1信息采集模塊此模塊主要功能是實現對濕度信息的采集。把傳感器放到花盆的土壤中,等待一會就檢測出相應的濕度信息。選擇設備標準:設備應簡單,體積小巧,檢測靈敏,使用時間長,容易清潔,對電源要求低設備選型:電容式土壤濕度傳感器,此模塊插入土壤中檢測濕度信號,再將獲取的信號通過接口傳遞給A/D轉換模塊進行信號轉換。電容式土壤濕度傳感器的特點是,不采用電阻式采集信號,而是以兩個電容為基礎,通過兩個電容之間的感應原理來檢測土壤濕度,采用PVC外皮耐腐蝕,并且在內部也增加了一個能夠穩定電壓的芯片使檢測的信號更加準確,同時支持工作的電壓范圍是3.3V到5.5V,輸出電壓在0-3V范圍內;大小為長98mm寬23mm。電容式土壤濕度傳感器如圖3-3所示:圖3-3電容式土壤濕度傳感器主要功能:檢測土壤的實時濕度。3.3.2數據處理模塊此模塊是單片機數據處理模塊。單片機是系統的核心,進行著數據的總體處理,接收到檢測后的數據信息后傳遞到連接的LCD上進行相關顯示。同時,單片機在對數據進行處理后也會將數據傳輸到藍牙模塊,通過藍牙匹配后手機也可查詢濕度和閾值信息。單片機選型選擇設備標準:體積相對小,耗電量低,引腳滿足通用,代碼能夠兼容傳統的單片機。設備選型:STC89C52RC型號單片機,體積屬于較小的,而且適用很多系統,功耗的使用率也比較低,抗干擾能力強并且穩定性強。這款單片機比8051系列的單片機功能更加完善,具有兩種模式分別是:6時鐘/機器周期和12時鐘/機器周期,可以根據自己的設計需求任意選擇,指令或者代碼能夠和傳統8051單片機共使用REF_Ref4749\r\h[1];支持的工作電壓在5.5V到3.3V范圍內,用戶能夠使用的空間為8K字節,片上集成的RAM有512字節具有看門狗功能,共有3個16位定時器/計數器REF_Ref5043\r\h[2]。STC89C52RC單片機主芯片如圖3-4所示:圖3-4STC89C52RC單片機A/D轉換器選型選擇設備標準:能夠正常進行數模轉換,體積小,分辨率高。選型:ADC0832,內部具有的AD轉換芯片位8位分辨率,而且芯片的分辨率最高可達256級,可滿足一般開發情況下的模擬量轉換要求REF_Ref12981\r\h[3]。并且芯片的模擬電壓輸入為0-5V之間是因為芯片內部電源輸入與參考電壓的復用。芯片轉換時間只有32us,具有雙數據輸出可作為數據驗證,為了減少數據錯誤,轉換速度快且穩定性強,獨立芯片可使輸入,使多設備掛鉤和處理器控制更加方便REF_Ref13043\r\h[4]。通過DI數據輸入終端,可以方便地實現通道功能的選擇。A/D轉換模塊引腳圖如下:圖3-5A/D轉換模塊引腳圖3.3.3顯示模塊此模塊是顯示模塊使用LCD顯示器。選擇設備標準:能夠清晰顯示信息。設備選型:LCD1602一共有兩行,分為上行和下行,能夠滿足系統所需要的顯示,每行都可以顯示16個字母數字。我們用第一行來顯示CurrentSoilMoist(當前土壤濕度),第二行Re:(土壤此刻濕度)%;M:(OFF,NO)。LCD1602液晶屏如圖3-6所示:圖3-6LCD1602液晶屏主要功能:顯示實時檢測的土壤濕度以及是否需要澆水。3.3.4藍牙控制模塊此模塊包括手機藍牙模塊。通過藍牙模塊傳輸檢測到的數據,手機下載藍牙串口APP輸入指令完成接收數據,同時輸入相關指令還可更改土壤濕度閾值。選擇標準:與手機藍牙可配對,響應靈敏度高。當單片機與藍牙模塊相鏈接,不僅可以從單片機上傳輸數據到藍牙模塊,也可以反向傳輸信息;當手機藍牙與藍牙模塊匹配后手機遠程可以通過藍牙進行相應數據的接收以及及時調整土壤濕度閾值。藍牙模塊如圖3-7所示:圖3-7藍牙模塊主要功能:與手機藍牙相匹配,通過手機串口助手對土壤濕度閾值的更改。3.3.5電機澆水模塊選擇標準:使用壽命長,體積小。設備選型:我們選擇USB直流小水泵,由于盆栽的體積都相對小,而且水在土壤中要慢慢的滲透,選擇一個小型的水泵就能滿足要求,并且不占用太多地方。主要是在濕度檢測后根據閾值來進行澆水,在濕度小于設置的閾值時進行澆水,當濕度達到閾值后便停止工作。電機澆水模塊如圖3-8所示:圖3-8電機模塊主要功能:抽取水池的水給盆栽澆水。第4章智能澆花系統硬件接口電路設計4.1濕度檢測電路設計濕度檢測使用電容式濕度傳感器。內具穩壓模塊能夠穩定檢測濕度,外觀呈現長條形,更加方便插入土壤。傳感器的引腳比較簡單只有3個,但每個引腳的作用非常重要,分別是VCC:通常接在電源的正極,適用電壓為3.3-5.5V的電源,GND:接在電源負極或者直接接地,AUOT:數據輸出,可以連接單片機REF_Ref13278\r\h[5]。此款傳感器的主要部件是濕敏電容和轉換電路,濕敏電容是兩個電容成串聯連接組成的,每個電容都由玻璃底襯、下電極、濕敏材料、上電極構成,濕敏材料是一種介電常數隨著環境的相對濕度變化而變化的高分子聚合物REF_Ref13363\r\h[6]。當環境濕度發生變化時,濕敏元件的電容量隨之發生改變,即當相對濕度增大時,濕敏電容量隨之增大,反之減小(電容量通常是48-56pf間)。傳感器的感應段將濕敏電容變化量通過轉換電路轉換成電壓量變化,對應與相對濕度0-100%RH的變化,傳感器的輸出呈現0-1V的線性變化。檢測出來的模擬信號與ADC轉換器連接,進行數據的轉換。電容式濕度傳感器與ADC0832接口電路如圖所示:圖4-1電容式濕度傳感器與ADC0832接口電路4.2A/D轉換器電路設計1.單片機對ADC0832的控制原理一般情況下ADC0832與單片機有4條接口線并且都是數據線,分別是CS、CLK、DO、DI。但是D0和D1再通信時不能同時有效,并且和單片機的接口之間的連接是雙向的,所以電路設計時可以將DO和DI并聯在一起當一根數據線使用。當ADC0832在沒有工作時數據線CS輸入端應為高電平,這時候AD芯片處于不能工作狀態,CLK和DO/DI的電平沒有固定,無論處于哪個狀態都可以REF_Ref13484\r\h[7]。但是當要使用芯片進行A/D轉換時,須先將CS使能端置于低電平并且在轉換過程中一直保持低電平保直到轉換完全結束。這個時候芯片開始轉換工作,同時由處理器向芯片時鐘輸入端CLK輸入時鐘脈沖,DO/DI端則使用任意一端輸入通道功能選擇的數據信號例如:D0。起始信號是在第1個時鐘脈沖的下沉之前DO端必須是高電平。接著輸入2位數據用于選擇通道并且必須在第2、3個脈沖下沉之前完成。A/D轉換器與單片機和傳感器之間的連接如圖所示:圖4-2ADC0832接口電路4.3LCD1602顯示電路設計LCD1602液晶顯示器中的液晶是一種本身不能夠發光,但是被別的物質處理過后產生一種獨特的性質才能發光的,所以才能去顯示字符。該液晶模塊之所以被稱作1602的原因是此模塊有兩行,并且每一行可以顯示16個字符或數字。LCD1602的結構是點陣字符,每個兩行顯示的LCD都是由32個5x7的點陣字符位組成,每個點陣字符位都可以顯示一個字符,一共可顯示32個字符REF_Ref13627\r\h[8]。他們之間并不是緊密相挨的,他們之間每兩個字符或者每兩行之間都有一定的距離,主要的作用是讓人們能夠清晰的看懂顯示的字符,不容易混淆和檢查,但是也有一個缺點就是,由于不同字符和不同行之間存在距離,所以不是任何位置都能顯示。LCD1602液晶屏一共有16個引腳,每個引腳的功能都不同,如下表4-1所示:表4-1LCD1602引腳功能表編號符號引腳說明1VSS電源地2VCC5V電源正極3V0液晶顯示器對比度調整端,接電源正極對比度弱,接電源負極對比度高。4RS寄存器選擇,高電平時選擇數據寄存器,低電平時選擇指令寄存器。5RW讀寫信號線,高電平時為讀操作,低電平時為寫操作。6E使能端,高電平時讀取信息,負跳變時執行指令。7~14D0~D78位雙向數據端15BLA背光源負極或空腳。16BLK背光源正極或空腳。1602液晶模塊的接口電路如圖所示:圖4-3LCD接口電路4.4HC-05藍牙電路設計藍牙串口是以藍牙為載體,串口為最終應用。它是無線串口的一種。它可以替代現有的串口線。它的基本參數為:采用主流藍牙芯片,采用的協議是藍牙V2.0協議標準。工作默認電壓在3.6到6V之間。波特率有多種,主要是為4800,9600,19200,38400,57600,115200,用戶可自己設置,默認波特率為9600。模塊尺寸大小為28mmx15mmx2.35mm。(5)配對中電流為30-40ma,配對后無通信電流為2-8ma,有通信電流為8maREF_Ref13892\r\h[9]。休眠電流:無休眠。用于導航系統、抄表系統、現場采集和控制系統。(8)可與藍牙筆記本電腦、PC+藍牙適配器、PDA等設備無縫連接藍牙模塊使用的波特率有兩種類型:通訊波特率:是指最終應用的波特率,和使用普通串口線一樣,單片機、電腦和藍牙模塊的通訊波特率應該完全相同,例如都是4800REF_Ref13944\r\h[10]。調試波特率:是指在使用之前對模塊的參數進行設置時的波特率。單片機可以與電腦和手機進行通信傳輸信息,但本系統采用與手機進行通信。當手機端想接收藍牙模塊傳輸的信息時,手機端需要下載藍牙串口助手APP。連接時需要按下藍牙模塊上的啟動按鍵,再打開手機藍牙進行搜索配對,配對成功后,藍牙模塊上的LED燈先快閃2次,后慢閃1次。此時便在單片機與手機之間的無線串口通道,可實現單片機到手機,手機到單片機的數據傳輸。藍牙模塊的電路設計如圖所示:圖4-4藍牙接口電路4.5閾值設置電路設計在單片機上實現對代碼或者系統的內容作轉換或者調整最簡單的是加入按鍵,但是由于按鍵個數和單片機接口的不同,會有很多種不同的設計方法,而且每種都有著不同的優缺點。而在系統中我選擇的是最簡單的也是最常見的,也就是一個I/O口對應一個按鈕開關。系統中我使用P0到P3作為按鍵的I/O端口,在按鍵上每個都外接一個上拉電阻,也就是這個上拉電阻在控制著開關的狀態,在按鍵沒變化的時候,是高電平,一旦有按鍵按下,上拉電阻就發揮作用,下拉變成低電平。通過按鍵可以實現對閾值的調控,首先按下設置鍵即進入設置模式,然后根據具體數值進行調整,按加號鍵一次閾值增加百分之一,按減號鍵一次閾值減少百分之一,最后按下確定鍵即完成閾值設置。具體接口電路如下:圖4-5閾值設置接口電路圖4.6系統硬件電路設計STC89C52RC型號單片機具有超強的抗干擾能力,并且耗能相對較小,是最新研究的運行速度快的一代單片機。有5個端口P0,P1,P2,P3,P4。P0口引腳范圍是P0.0-P0.7,這里面的八個引腳口最基礎的功能是進行數據的輸入輸出,除此之外還可以把他們當成地址和數據的復用總線使用。P1口引腳范圍是P1.0-P1.7,P1最簡單的功能是一個雙向數據傳輸的8位帶上拉電阻的引腳,還有兩個口還有其他的功能,P1.0和P1.1還可以作為定時器/計數器2的外部計數輸入和觸發輸入REF_Ref14045\r\h[11]。P2口引腳范圍是P2.0~P2.7,P2口和P1口有類似的功能,都是帶上拉電阻的8位雙向數據傳輸口,還有一個功能就是高8位地址總線(A8-A15)。P3口引腳范圍是P3.0~P3.7,P3的基礎功能和P1,P2相同,同時P3的輸出緩沖器可驅動(吸收或輸出電流方式)4個TTL輸入,P3口除作為一般i/0口外,還有其他一些復用功能,能夠滿足更多的需求REF_Ref14153\r\h[12]。在系統中,單片機是整個系統的核心,所有的程序代碼都是在單片機內運行的,同時也進行著相關數據的處理。一方面單片機與處理數據的AD轉換器連接,接收到處理結束的數據,另一方面連接著顯示器LCD,按鍵和藍牙模塊。傳感器將采集到的濕度信息通過AUOT口傳輸到ADC0832轉換器里面進行模數處理。處理過的數字信號再通過D0口傳輸到單片機內部進行處理。最終將接收到的信號通過P0接口顯示在LCD1602上,同時也通過TX接口將數字信息傳輸至藍牙模塊。在藍牙端需要寫進單片機的信息通過RX口再寫入單片機內部,同時按鍵的輸入也通過P2口傳遞進入單片機內部。整個系統的電路設計如下圖:圖4-6系統硬件電路圖第5章智能澆花系統軟件設計智能澆花系統分為五個模塊,濕度采集模塊,A/D轉換模塊、液晶顯示模塊、閾值設置模塊以及藍牙控制模塊。濕度采集模塊主要是如何獲取濕度數值程序;A/D轉換模塊主要是數據進行模擬信號到數字信號過程的程序;液晶顯示模塊是LCD上顯示初始化和濕度的程序;閾值設置模塊是按鍵調整閾值的程序;藍牙模塊的程序即是展示如何將單片機與與藍牙模塊連接。5.1濕度采集模塊信息的采集通過傳感器進行,首先是將傳感器檢測端插入土壤,等待相關信號傳出到與之連接的數模轉換器,轉換后再經過串口傳輸到單片機內部進行后續的處理。采集流程圖如下:圖5-1濕度采集程序流程體電容式濕度傳感器通過濕敏原件原理進行數據的采集,并且將采集到的相應濕度信息通過AUTO數據管口進行數據輸出。程序代碼(部分代碼如下)。voidUsartRX(void){unsignedintlen=0; if(USART_RX_STA&0x8000) {len=USART_RX_STA&0x3fff;//得到此次接收數據的長度 if((USART_RX_BUF[0]=='R')&&(USART_RX_BUF[1]=='E')&&(USART_RX_BUF[2]=='A')&&(USART_RX_BUF[3]=='D')){TX_Humidity(); USART_RX_STA=0; }elseif((USART_RX_BUF[0]=='M')&&(USART_RX_BUF[1]=='O')&&(USART_RX_BUF[2]=='D')&&(USART_RX_BUF[3]=='I')&&(USART_RX_BUF[4]=='F')&&(USART_RX_BUF[5]=='Y')){ LCD1602_Rest(); Display_Flag=1; TX_Humidity1(); USART_RX_STA=0; } else5.2A/D轉換模塊A/D轉換模塊一邊連接傳感器AUTO接口進行數據的接收,另一邊連接單片機的D0接口將轉換成數字信號的濕度信息傳遞到單片機進行處理。AD轉換模塊工作主要通過CS端口和CLK端口的值來確定。通道值讀取部分代碼如下:ucharADC0832_ADC(charCH){uchari,dat1=0,dat2=0; CS=0;CLK=0;DIO=1;_nop_();_nop_(); CLK=1;_nop_();_nop_(); CLK=0;DIO=1;_nop_();_nop_(); CLK=1;_nop_();_nop_(); if(CH==0){ CLK=0;DIO=0;_nop_();_nop_();CLK=1;DIO=1;_nop_();_nop_();} if(CH==1){ CLK=0;DIO=1;_nop_();_nop_();CLK=1;DIO=0;_nop_();_nop_();} CLK=0;DIO=1;_nop_();_nop_(); for(i=0;i<8;i++) { CLK=1;_nop_();_nop_(); CLK=0;_nop_();_nop_(); dat1=dat1<<1|DIO;} for(i=0;i<8;i++) { dat2=dat2|((uchar)(DIO)<<i); CLK=1;_nop_();_nop_(); CLK=0;_nop_();_nop_();} CS=1; } ……5.3液晶屏顯示模塊LCD1602液晶顯示屏為兩行顯示液晶屏,每行顯示的內容都不同,首先要對顯示屏進行初始化,并且初始化顯示的內容為CurrentSoilMoist(當前土壤濕度)。液晶屏初始化部分代碼如下:voidLCD1602_Init(){ lcdrw=0; lcden=0; Write_Cmd(0x38); Write_Cmd(0x0e); Write_Cmd(0x06); Write_Cmd(0x01); Write_Cmd(0x80); Write_Cmd(0x0c);}LCD1602,第一行顯示初始化內容;第二行顯示實時濕度,為%形式,同時顯示是否需要澆水。顯示代碼如下:voidLCD1602_SetRAM(unsignedcharx,unsignedchary){ucharaddr; if(y==0) addr=0x00+x; else addr=0x40+x; Write_Cmd(addr|0x80);}voidLCD1602_Show(unsignedcharx,unsignedy,unsignedchar*str){LCD1602_SetRAM(x,y); while(*str!='\0') {Write_Dat(*str++); }}voidLCD1602_num(unsignedcharx,unsignedy,unsignedcharj,unsignedinti){LCD1602_SetRAM(x,y);if(j==1) {Write_Dat(i+'0');}if(j==2) {if((i<10)&&(i>=0)) {Write_Dat(0+'0'); Write_Dat(i+'0'); }elseif((i<100)&&(i>=10)) {Write_Dat(i/10+'0'); Write_Dat(i%10+'0');}}if(j==3) {if((i<10)&&(i>=0)) {Write_Dat(0+'0'); Write_Dat(0+'0'); Write_Dat(i+'0'); }elseif((i<100)&&(i>=10)) {Write_Dat(0+'0'); Write_Dat(i/10+'0'); Write_Dat(i%10+'0'); } elseif((i<1000)&&(i>=100)) {Write_Dat(i/100+'0'); Write_Dat(i%100/10+'0'); Write_Dat(i%10+'0'); } }……5.4閾值設置模塊通過傳感器的信息采集結合不同盆栽的生長情況,可以手動通過按鍵輸入對盆栽的具體濕度閾值進行設置,保證能夠使盆栽正常生長。相關按鍵輸入代碼如下:voidKEY_IN(void){if((KEY1==0)&&(KEY1_Flag==0)) {KEY1_num=1; KEY1_Flag=1; }if(KEY1)KEY1_Flag=0; if((KEY2==0)&&(KEY2_Flag==0)) {KEY2_num=1; KEY2_Flag=1; }if(KEY2)KEY2_Flag=0; if((KEY3==0)&&(KEY3_Flag==0)) {KEY3_num=1; KEY3_Flag=1; }if(KEY3)KEY3_Flag=0; if((KEY4==0)&&(KEY4_Flag==0)) {KEY4_num=1; KEY4_Flag=1; }if(KEY4)KEY4_Flag=0;}5.5藍牙控制模塊使用藍牙模塊不僅可以在手機端查詢濕度、閾值等信息,還可以修改閾值完成澆水。通過藍牙之間的互相配對,配對成功后手機端發送相關指令,就可以收到土壤此時的濕度,并且輸入修改指令便可修改閾值。藍牙連接具體實現代碼如下所示:voidUART_ISR(void)interrupt4{ uint8Res; if(RI){ TR0=0; RI=0; Res=SBUF; if((USART_RX_STA&0x8000)==0)//接收未完成 { if(USART_RX_STA&0x4000)//接收到了0x0d{ if(Res!=0x0a)USART_RX_STA=0;//接收錯誤重新開始 elseUSART_RX_STA|=0x8000; //接收完成 } else//還沒收到0X0D{ if(Res==0x0d)USART_RX_STA|=0x4000; else{ USART_RX_BUF[USART_RX_STA&0X3FFF]=Res; USART_RX_STA++; if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//接收數據錯誤,重新開始 }}}}}第6章調試6.1信息采集及顯示模塊功能調試信息采集模塊首先是將傳感器插入土壤中,濕度傳感器在接觸到濕敏信號以后開始采集信息。再將傳感器與AD轉換器通過引腳線路連接。將采集到的模擬信號傳遞給數模轉換模塊進行處理。將AD轉換器通過引腳線路與單片機連接后,即可將數據傳送至單片機內部。LCD1602通過與單片機的P0接口連接。即可以顯示出相關的濕度信息。同時,藍牙模塊通過TX接口與單片機的連接,也能進行濕度信息的查詢,手機端通過下載藍牙串口助手就可查看盆栽土壤濕度相關信息,還可以更改閾值,即完成智能澆花系統的功能。LCD的顯示屏上顯示如下:第一行來固定顯示CurrentSoilMoist,第二行re:%(土壤此刻濕度);M:(OFF,NO)是否需要澆水。如圖所示6-1圖6-1LCD參數顯示6.2按鍵調節閾值調試根據不同的盆栽在不同時間下需要的濕度都不同,可以通過按鍵進行土壤濕度閾值調整,進而來控制對土壤是否澆水。從上往下一共四個按鍵,每個按鍵都有不同的功能。第一個按鍵是設置,按下表示進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論