




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要Arduino是比較常用于智能控制的芯片,在智能儀器、工業(yè)檢測(cè)和控制、機(jī)電一體等方面應(yīng)用廣泛。使用Arduino可以實(shí)現(xiàn)溫濕度全程的監(jiān)測(cè)與控制,而且Arduino控制器的使用還具有易于學(xué)習(xí)掌握,性價(jià)比高等優(yōu)點(diǎn)?;贏rduino的溫濕度控制系統(tǒng)采用一個(gè)含有已校準(zhǔn)數(shù)字信號(hào)輸出的DHT11傳感器來收集環(huán)境中的溫濕度數(shù)據(jù)。經(jīng)過Arduino進(jìn)行數(shù)據(jù)處理,再將處理的結(jié)果通過LCD顯示器進(jìn)行顯示。當(dāng)環(huán)境中的參數(shù)達(dá)到預(yù)先設(shè)定的臨界值時(shí),報(bào)警系統(tǒng)中的無源蜂鳴器就會(huì)自動(dòng)鳴響報(bào)警。采用Arduino設(shè)計(jì)的溫濕度控制系統(tǒng),可以精確的反應(yīng)環(huán)境的溫度以及濕度的變化情況。完成升溫、降溫等一列智能控制行為。在一定的
2、溫度波動(dòng)范圍內(nèi)保持恒溫狀態(tài)。將這樣智能系統(tǒng)應(yīng)用到現(xiàn)代溫室種植當(dāng)中,可以為農(nóng)作物的生長(zhǎng)提供較為適宜的生長(zhǎng)環(huán)境。對(duì)于一些特殊的農(nóng)業(yè)生產(chǎn)諸如大棚種植和花卉種植等,必須使用溫濕度裝置對(duì)其進(jìn)行監(jiān)控使其保持恒定環(huán)境。本系統(tǒng)可以及時(shí)、精確的反映和控制環(huán)境中的溫濕度的變化。關(guān)鍵詞: Arduino;DHT11;傳感器;液晶顯示器;溫濕度; ABSTRACTArduino is relatively commonly used in the control chip, smart instrumentation, industrial inspection control; mechatronics achie
3、ved impressive results has been widely applied.also a lot of its strength as the temperature and humidity control system. Able to achieve automatic control of temperature and humidity throughout Arduino, the Arduino is easy to learn and master the high cost-effective.This paper designs a temperature
4、 and humidity control system based on Arduino,the system uses a containing composite sensor DHT11 digital temperature and humidity calibration of digital signal output to temperature and humidity data acquisition in the environment. . After Arduino treatment, and the treatment results through the LC
5、D display display. When the parameters in the environment reaches the critical value, the alarm will sound the alarmsystem.Use a Arduino-type micro-controller design temperature and humidity control system for, instant accurate reaction greenhouse temperature and moderate changes. Complete, such as
6、the temperature was cooled to a specific temperature,raised to a specific temperature. Maintain constant temperature and other control in the volatilitytemperature range, humidity control is also true. The application of this system to the greenhouse which is no doubt that provides a more suitable e
7、nvironment for vegetation growth. For greenhouse cultivation and flower garden, flower cultivation, you must install certain environmental temperature and humidity device monitor. This system can be timely, accurate reflection of the indoor temperature and humidity changes, able to meet the requirem
8、ents of the temperature and humidity control.Keywords: Arduino; DHT11; Sensor; LCD; Temperature and Humidity; 目 錄第一章 緒 論11.1 課題背景11.2 研究目的及意義11.2.1 生活環(huán)境與溫濕度的關(guān)系11.2.2 溫濕度檢測(cè)的意義21.3 國(guó)內(nèi)外發(fā)展歷程和狀況3第二章 Arduino理論基礎(chǔ)52.1 單片機(jī)-Arduino的核心器件52.1.1 單片機(jī)的概念52.1.2 單片機(jī)的作用52.1.3 Arduino的定義62.1.4 Arduino的優(yōu)勢(shì)62.2 Arduino開發(fā)
9、工具介紹72.3 Arduino語言82.4 本章總結(jié)9第三章 系統(tǒng)整體設(shè)計(jì)103.1 方案論證103.1.1 系統(tǒng)主要功能103.1.2 系統(tǒng)的工作原理簡(jiǎn)介103.1.3 總體設(shè)計(jì)簡(jiǎn)介113.2 系統(tǒng)硬件設(shè)計(jì)123.2.1 主控模塊123.2.2 數(shù)據(jù)采集模塊143.2.3 數(shù)據(jù)顯示模塊163.2.4 報(bào)警模塊183.2.5 原理總圖及器件清單193.3 系統(tǒng)軟件設(shè)計(jì)203.3.1 總體程序流程圖203.3.2 液晶顯示模塊程序203.3.3 傳感器模塊程序223.4 本章小結(jié)24第四章 調(diào)試過程和注意問題254.1 程序下載說明254.2 硬件問題及解決 274.3 軟件問題及解決27第五
10、章 總結(jié)與展望295.1 全文總結(jié)295.2 未來展望29致 謝31參考文獻(xiàn)32附錄一34附錄二35江西理工大學(xué)2014屆本科生畢業(yè)設(shè)計(jì)(論文)第一章 緒 論1.1 課題背景農(nóng)業(yè)科學(xué)技術(shù)與信息科學(xué)互相融合、滲透是現(xiàn)代農(nóng)業(yè)生產(chǎn)的顯著特點(diǎn)。各種高新技術(shù)不斷應(yīng)用于農(nóng)業(yè)的生產(chǎn),農(nóng)業(yè)信息化的總趨勢(shì)就是:計(jì)算機(jī)技術(shù),信息存儲(chǔ)和數(shù)據(jù)處理技術(shù)以及各類軟件,網(wǎng)絡(luò)通信,人工智能與智能控制系統(tǒng)等綜合應(yīng)用于現(xiàn)代智能機(jī)械化的農(nóng)業(yè)生產(chǎn)1。很長(zhǎng)一段時(shí)間,對(duì)溫室環(huán)境的監(jiān)測(cè)一般采用人工方式,這種傳統(tǒng)的數(shù)據(jù)收集的方法浪費(fèi)人力財(cái)力,準(zhǔn)確性不是很高,而且容易受其它外部因素影響,很難達(dá)到期望的目的。特別是在現(xiàn)代化的蔬菜溫室的生產(chǎn)和管理
11、過程中,環(huán)境的溫度和濕度變化對(duì)植物的健康成長(zhǎng)有重要影響。如果白天和夜里的溫濕度變化很大,則會(huì)對(duì)植物的正常生長(zhǎng)產(chǎn)生重要影響2。國(guó)內(nèi)外溫室種植業(yè)的實(shí)踐生產(chǎn)經(jīng)驗(yàn)表明,提高溫室環(huán)境的管理水平和自動(dòng)化控制水平可以有效發(fā)揮溫室作物生產(chǎn)的高效性,其中對(duì)作物生長(zhǎng)環(huán)境的溫濕度的數(shù)據(jù)采集是溫室環(huán)境監(jiān)測(cè)的重要組成部分。因此,為了提高農(nóng)作物產(chǎn)量,我們需要對(duì)植物生長(zhǎng)環(huán)境中的溫濕度因素進(jìn)行必不可少的監(jiān)測(cè)與控制,使其保持在有利于作物生長(zhǎng)的合理范圍內(nèi)波動(dòng),以提高農(nóng)作物的產(chǎn)量和質(zhì)量。隨著通信網(wǎng)絡(luò)技術(shù),傳感器數(shù)據(jù)采集技術(shù)及計(jì)算機(jī)控制技術(shù)等現(xiàn)代信息技術(shù)的迅猛發(fā)展,目前設(shè)施農(nóng)業(yè)的一個(gè)研究熱點(diǎn)就是數(shù)據(jù)自動(dòng)采集及智能控制系統(tǒng)的開發(fā)3。因
12、此,設(shè)計(jì)一套能夠?qū)崟r(shí)對(duì)植物生長(zhǎng)環(huán)境因素有效監(jiān)測(cè)和控制的智能系統(tǒng)對(duì)于提高農(nóng)作物產(chǎn)量具有十分重要的意義。1.2 研究目的及意義濕溫度是工業(yè)領(lǐng)域內(nèi)比較重要的兩個(gè)監(jiān)測(cè)目標(biāo)。無論是我們的日常生活環(huán)境,還是生產(chǎn)領(lǐng)域都需要對(duì)溫濕度參數(shù)進(jìn)行控制和監(jiān)測(cè)。對(duì)溫濕度的測(cè)量與控制水平直接影響到人類的所有活動(dòng)。1.2.1 生活環(huán)境與溫濕度的關(guān)系 隨著人類社會(huì)對(duì)生活環(huán)境的質(zhì)量要求不斷提高,特別是溫度和濕度的變化所帶來的不同負(fù)面影響,比如溫度變化都直接影響到我們這個(gè)社會(huì),而濕度的波動(dòng)也一樣會(huì)影響著我們的生活以及其他物種的生存條件。近代隨著工業(yè)革命而帶來的二氧化碳的排放導(dǎo)致全球氣候變暖,因此對(duì)我們的生活帶來了一系列的巨大影響
13、。隨著全球氣候的變暖,導(dǎo)致南北極的冰山融化,進(jìn)而導(dǎo)致海平面的上升。因此導(dǎo)致全球有上億的人口收到海平面上升所帶來的威脅,類如海水倒灌,島嶼消失等。溫度的上升也影響著全球的氣候變化。最近幾十年厄爾尼諾現(xiàn)象頻繁發(fā)生,導(dǎo)致無數(shù)人的生活受到影響。溫度的變化同時(shí)也會(huì)影響到環(huán)境濕度的變化,因?yàn)楫?dāng)溫度較高時(shí)會(huì)加劇地面水汽的蒸發(fā),使?jié)穸壬仙?,例如在南美地區(qū)溫度較高同時(shí)也使?jié)穸容^高。但是當(dāng)溫度達(dá)到很高時(shí)也會(huì)是空氣急劇干燥,例如在北非地區(qū)。在國(guó)家安全、環(huán)境保護(hù)、生產(chǎn)制造、氣象預(yù)測(cè)、科學(xué)研究等部門,經(jīng)常需要對(duì)環(huán)境溫度和濕度數(shù)據(jù)進(jìn)行控制和監(jiān)測(cè)。隨著科技的不斷進(jìn)步,為了保持一起的精確,現(xiàn)在越來越多的緊密儀器需要在恒定環(huán)境
14、下工作,對(duì)環(huán)境中的溫濕度要求越來越高。在食材成品加工、生物制藥工程等關(guān)于國(guó)計(jì)民生的工業(yè)制造領(lǐng)域?qū)τ诰_監(jiān)測(cè)溫度和濕度變化更是有重大的意義。為了生產(chǎn)出合格的產(chǎn)品,有時(shí)我們必須精確的控制和監(jiān)測(cè)環(huán)境中的溫度和濕度的變化。1.2.2 溫濕度檢測(cè)的意義 無論是在現(xiàn)代化工業(yè)生產(chǎn)、現(xiàn)代農(nóng)業(yè)生產(chǎn),還是在倉(cāng)庫(kù)保管、氣象衛(wèi)星等領(lǐng)域,對(duì)溫度和濕度的測(cè)量都是隨處都可以看到的。有效合理的調(diào)解與控制濕溫度參數(shù),不但可以減小資源浪費(fèi)還更有利保障行業(yè)生產(chǎn)的正常發(fā)展。在工業(yè)生產(chǎn)領(lǐng)域,各種高科技自動(dòng)化精密設(shè)備都需要在特定的環(huán)境下工作。電器設(shè)備是工業(yè)生產(chǎn)領(lǐng)域最常見的也是使用頻率最高的設(shè)備。電器設(shè)計(jì)人員在設(shè)計(jì)電器設(shè)備時(shí)的必須要考慮到
15、的問題之一就是考慮溫度和濕度的波動(dòng)變化。電器工程師為了設(shè)計(jì)出合格的設(shè)備,在設(shè)計(jì)的時(shí)候必須要考慮設(shè)備使用過程中散熱通風(fēng)的問題,使產(chǎn)品能適應(yīng)特定工作環(huán)境中溫度和濕度的波動(dòng)。在眾多的工業(yè)材料中選取性能優(yōu)秀的材料并且對(duì)設(shè)備表面進(jìn)行特別封裝可以大大有效提升設(shè)備的運(yùn)行年限。大型的電器設(shè)備如果長(zhǎng)期處于大電流、高電壓和滿負(fù)荷運(yùn)行的狀態(tài),將導(dǎo)致造成聚集大量熱量而不能及時(shí)降低溫度,因?yàn)殡娏鞯臒嵝?yīng)造成的危害直接影響設(shè)備的絕緣安全保護(hù)器件,對(duì)設(shè)備的正常工作和員工的人身安全產(chǎn)生嚴(yán)重的安全隱患,所以對(duì)用電機(jī)器的溫度和濕度變化進(jìn)行及時(shí)精確的測(cè)量與控制是十分必要的4。溫濕度對(duì)動(dòng)植的生長(zhǎng)都有很大的影響,當(dāng)溫度達(dá)到了動(dòng)植物生長(zhǎng)
16、所能承受的最高值或最低值時(shí),這些植物和動(dòng)物就會(huì)慢慢的從地球上消失,或者適應(yīng)環(huán)境而演變成其他的一些物種。所以對(duì)特定環(huán)境下的溫濕度我們必須能準(zhǔn)確有效的測(cè)量。同時(shí)我們也要記錄他們的的變化情況和變化規(guī)律,只有這樣這樣我們才有可能對(duì)我們當(dāng)前所生活的環(huán)境的變化有個(gè)更為直觀感性的了解與認(rèn)識(shí)。老式的溫度計(jì)的原理是利用水銀遇熱膨脹和遇冷收縮來實(shí)現(xiàn)的,盡管物美價(jià)廉,但是它的精度很低,而且需要很仔細(xì)才能讀清測(cè)量值。干濕球顯示測(cè)量法是老式的濕度計(jì)普遍采用方法,但它不僅構(gòu)造復(fù)雜而且測(cè)量精的確度也不是很高5。但是采用Arduino對(duì)溫濕度進(jìn)行測(cè)量控制,不但控制簡(jiǎn)單,操作方便和應(yīng)用靈活等一系列的優(yōu)點(diǎn),而且可以大幅度提升溫濕
17、度控制的技術(shù)指標(biāo)。用LCD液晶顯示屏來顯示溫濕度的數(shù)值,看起來更加直觀。1.3 國(guó)內(nèi)外發(fā)展歷程和狀況目前國(guó)外先進(jìn)大型室內(nèi)環(huán)境監(jiān)控系統(tǒng)大多是多種因素綜合控制系統(tǒng)。這些先進(jìn)控制系統(tǒng)提供了可以人機(jī)交互的操作界面,不僅可以方便操作人員對(duì)環(huán)境參數(shù)進(jìn)行設(shè)定和對(duì)參數(shù)進(jìn)行顯示,而且還可用計(jì)算機(jī)對(duì)各種環(huán)境因子進(jìn)行的遠(yuǎn)程監(jiān)視與控制,涉及到的環(huán)境因子如二氧化碳濃度、溫濕度變化、光照強(qiáng)度等,包含了農(nóng)作物在各個(gè)生長(zhǎng)階段的生命信息甚至包括開花時(shí)間的控制等6。在美國(guó),摩托羅拉集團(tuán)在80年代初就已經(jīng)研制出了一套專門用于灌溉的中央計(jì)算機(jī)控制系統(tǒng),很快這套系統(tǒng)贏得了美國(guó)大部分地區(qū)的廣泛的認(rèn)可和應(yīng)用7。GeenAir集團(tuán)開發(fā)的GH
18、Cl00型溫室環(huán)境控制系統(tǒng)在滿足低成本通風(fēng)控制要求的同時(shí)也可對(duì)溫室進(jìn)行全方位控制8,用戶不僅可以通過顯示器來進(jìn)行實(shí)時(shí)監(jiān)控和現(xiàn)場(chǎng)設(shè)置,還可進(jìn)行遠(yuǎn)程數(shù)據(jù)記錄、監(jiān)測(cè)、控制。荷蘭具有世界領(lǐng)先的溫控技術(shù)水平,在全球市場(chǎng)上,其智能溫室成套設(shè)施備受各國(guó)青睞。追溯到上世紀(jì)70年代荷蘭就開發(fā)出了計(jì)算機(jī)控制系統(tǒng)CECS,并且集成了一系列的計(jì)算機(jī)軟、硬件,實(shí)現(xiàn)了溫室內(nèi)施肥、供水以及環(huán)境的自動(dòng)控制等9。荷蘭Priva公司是著名的溫室系統(tǒng)設(shè)備研發(fā)及生產(chǎn)的公司10,他們所研制的溫室控制系統(tǒng)不但能夠協(xié)調(diào)控制各種環(huán)境因子而且也能對(duì)溫室過程控制、澆水施肥作業(yè)進(jìn)行智能控制。以色列的溫室農(nóng)業(yè)技術(shù)的發(fā)展也非常迅速,它的溫室計(jì)算機(jī)環(huán)境
19、控制系統(tǒng)采用比較先進(jìn)的溫室控制結(jié)構(gòu)和空氣溫濕度調(diào)控技術(shù)等,并配備了天窗、幕簾及遮陽網(wǎng)等,可依據(jù)光線強(qiáng)度的不同自動(dòng)調(diào)節(jié)環(huán)境因子。此外,該系統(tǒng)在室內(nèi)還設(shè)置了現(xiàn)代化的滴灌和微噴灌智能控制系統(tǒng),可以方便快捷地通過現(xiàn)場(chǎng)控制器與監(jiān)控室內(nèi)的中央計(jì)算機(jī)之間的通信對(duì)室內(nèi)進(jìn)行遠(yuǎn)程遙控灌溉和施肥,使水肥的利用率達(dá)80%到90%11。在英國(guó),溫室農(nóng)業(yè)大部分都采用遠(yuǎn)程計(jì)算機(jī)來控制二氧化碳、溫濕度、營(yíng)養(yǎng)液供給等12,英國(guó)自主研發(fā)的遠(yuǎn)程計(jì)算機(jī)遙控技術(shù)可以監(jiān)測(cè)并遙控50km以外溫室內(nèi)的溫濕度等環(huán)境狀況的變化。在日本,其溫室監(jiān)控技術(shù)水平發(fā)展也很高,比如四國(guó)電力集團(tuán)發(fā)明的“Open PLANET”遠(yuǎn)程雙向監(jiān)測(cè)控制系統(tǒng)13,該系統(tǒng)
20、包括檢控專用LAN、服務(wù)器、數(shù)據(jù)的收集、分散控制等,也可對(duì)溫室的群進(jìn)行管理。此外,ESE公司研發(fā)的控制系統(tǒng)可以對(duì)溫室內(nèi)的環(huán)境因子如溫度、二氧化碳濃度等可進(jìn)行全面的檢測(cè)和控制14。但是,我國(guó)在溫室控制檢測(cè)技術(shù)方面的研究相對(duì)較晚。在80年代初期,外國(guó)高科技溫室技術(shù)的蓬勃發(fā)張也促使我國(guó)的農(nóng)業(yè)科技工作人員逐漸對(duì)溫度、C02濃度、濕度等單一的環(huán)境因子方面展開了豐富的研究15。國(guó)內(nèi)外在信息的傳輸方式上還是有不小的差距的。對(duì)于一般數(shù)據(jù)的傳輸(例如溫度、煙火警報(bào)等)我國(guó)現(xiàn)在主要還是在運(yùn)用走線布線的方式,先進(jìn)一點(diǎn)的采用功率較大的無線芯片進(jìn)行星型網(wǎng)絡(luò)數(shù)據(jù)的傳輸,盡管這樣節(jié)省了對(duì)于信號(hào)線的布線,但其能量消耗比較大,
21、而且還需要對(duì)電源線進(jìn)行布線16。然而,基于低功耗無線自組網(wǎng)的Zigbee傳輸模式在美國(guó)早已走進(jìn)了千家萬戶,為人們的生活生產(chǎn)提供便利。總的來說,我國(guó)在溫室控制方面的研究和開發(fā)與運(yùn)用主要集中在環(huán)境的控制算法、控制系統(tǒng)結(jié)構(gòu)等方面獲得數(shù)據(jù),但是和國(guó)外相比,國(guó)內(nèi)溫室自動(dòng)控制系統(tǒng)在可靠性、經(jīng)濟(jì)性、可擴(kuò)展性、功能等方面還需進(jìn)一步的改善。鑒于Arduino控制器擁有較為穩(wěn)定的可靠性、可擴(kuò)展性,而且在功能和經(jīng)濟(jì)性方面遠(yuǎn)遠(yuǎn)優(yōu)于其他控制器,所以本文將采用DHT11數(shù)字復(fù)合溫濕度傳感器采集溫濕度數(shù)據(jù),以Arduino為控制器來控制數(shù)據(jù)的處理,來設(shè)計(jì)一個(gè)高性價(jià)比的基于Arduino的溫濕度控制系統(tǒng)。所以,本次畢業(yè)設(shè)計(jì)以
22、DHT11傳感器為例,介紹基于Arduino的數(shù)字溫濕度系統(tǒng)的的設(shè)計(jì)。第二章 Arduino理論基礎(chǔ)本章作為Arduino的理論概述部分,將介紹與Arduino相關(guān)的知識(shí)原理為后續(xù)章節(jié)提供基本理論基礎(chǔ)。本章文首先將講述什么是Arduino,關(guān)于Arduino的一些基礎(chǔ)知識(shí)及關(guān)于Arduino編寫語言C語言的基礎(chǔ)知識(shí)和開發(fā)工具。2.1 單片機(jī)-Arduino的核心器件要理解Arduino就先要明白單片機(jī)的作用,Arduino控制板是一塊基于AVR命令集的電子開發(fā)平臺(tái)。Arduino的主要元器件是一塊微型處理器,它是基于Atmega328P-PU芯片的開源開發(fā)平臺(tái)17。2.1.1 單片機(jī)的概念計(jì)算
23、機(jī)一般包括包括以下幾個(gè)部份:CPU、ROM、RAM、輸入/輸出設(shè)備I/O18。在個(gè)人計(jì)算機(jī)上這些部份被分割成若干塊不同的芯片,安裝在一個(gè)被叫做主板的印刷線路板上。但在單片機(jī)平臺(tái)中,各個(gè)部件會(huì)被全部一起做到一塊集成芯片中,所以就被命名為單片機(jī)19,而且有一些單片機(jī)中除了上述組成部份外,還集成了其它部份如模/數(shù)轉(zhuǎn)換和數(shù)/模轉(zhuǎn)換等。2.1.2 單片機(jī)的作用其實(shí)在我們的實(shí)際工作中要根據(jù)不同的場(chǎng)合和應(yīng)用來選擇合適的處理器,選擇應(yīng)用處理器的關(guān)鍵是看是否支持設(shè)備運(yùn)行,是否有很高的性價(jià)比等。單片機(jī)經(jīng)常用在工業(yè)生產(chǎn)的控制智能家居設(shè)備中。但是有些場(chǎng)合使用單片機(jī)就會(huì)使簡(jiǎn)單的問題復(fù)雜化,因?yàn)樵陂_發(fā)單片機(jī)資源的時(shí)候需要
24、了解寄存器,指針等資源,對(duì)于一般的初學(xué)者很難掌握這些資源的使用方法。因此為了找到一個(gè)便宜又好用的控制器,2005年Massimo Banzi和David Cuartielles設(shè)計(jì)一個(gè)基于Atmega328P-PU芯片的開源控制平臺(tái),被命名為Arduino20。圖2-1 Atmega328P-PU單片機(jī)Arduino可以使用 Arduino 語言與Processing、Macromedia Flash、Max/MSP和SuperCollider等軟件,結(jié)合其他常用電子元件,例如傳感器或LED發(fā)光燈、電動(dòng)馬達(dá)或其他電子器件,設(shè)計(jì)出許多具有藝術(shù)創(chuàng)意性的互動(dòng)作品21。圖2-1就是一個(gè)Atmega32
25、8P-PU單片機(jī)。2.1.3 Arduino的定義Arduino是一套能夠感應(yīng)和控制現(xiàn)實(shí)物理世界的工具。 它由一個(gè)基于單片機(jī)并且代碼開源的硬件平臺(tái),和一套Arduino IDE開發(fā)環(huán)境組成15。Arduino可以用來開發(fā)交互式智能產(chǎn)品,例如它可以讀取大量的開關(guān)和傳感器數(shù)據(jù),同時(shí)可以控制不同種類的電子元器件等其他各種物理設(shè)備?;贏rduino的控制系統(tǒng)既可以獨(dú)自進(jìn)行,也可以在運(yùn)行的同時(shí)又和計(jì)算機(jī)中正在運(yùn)行的其他程序進(jìn)行數(shù)據(jù)通訊。Arduino的編程環(huán)境是基于處理多媒體的,編程語言就像在類似的物理平臺(tái)上連線。2.1.4 Arduino的優(yōu)勢(shì)很多的單片機(jī)和單片機(jī)平臺(tái)的設(shè)計(jì)都采用交互式系統(tǒng)。例如:P
26、arallax Basic Stamp,Phidgets,MITs Handyboard等提22。對(duì)于這些工具,工程師都不需要去關(guān)心那些單片機(jī)編程的復(fù)雜細(xì)節(jié),提供給編寫人員的是一套很容易上手的工具包。同樣Arduino也很大程度的簡(jiǎn)化了內(nèi)部芯片的工作順序,但Arduino和其它開發(fā)平臺(tái)相比在一些方面更具有優(yōu)越的特點(diǎn):跨平臺(tái)Arduino編程環(huán)境可以完美兼容Macintosh OSX,Windows和Linux等應(yīng)用系統(tǒng)。但很多其它的單片機(jī)系統(tǒng)都只能在Windows環(huán)境下運(yùn)行。便宜Arduino控制板價(jià)格低廉,既可親自組裝,也可以購(gòu)買完整的成品。軟件開源且可擴(kuò)展Arduino軟件是開源的,專業(yè)的
27、程序員可以對(duì)其進(jìn)行擴(kuò)展??梢酝ㄟ^C+庫(kù)對(duì)Arduino編程語言進(jìn)行擴(kuò)展23。簡(jiǎn)易的編程環(huán)境Arduino編程環(huán)境和Processing 編程環(huán)境很相似,所以我們很容易就可以學(xué)會(huì)如何熟練使用Arduino開發(fā)環(huán)境。硬件開源并可擴(kuò)展Arduino開發(fā)板是基于Atmel 公司的ATMEGA8 和ATMEGA168/328 單片機(jī),基于Creative Commons 許可協(xié)議24,所以我們能夠根據(jù)需求設(shè)計(jì)模塊,可以對(duì)其擴(kuò)展或改進(jìn)。Arduino是基于AVR開發(fā)平臺(tái)的,并且對(duì)AVR庫(kù)進(jìn)行了二次編譯封裝,把所有端口都進(jìn)行了打包,基本不需要寄存器、地址指針等資源。但是Arduino是二次編譯封裝,所以編寫
28、的代碼沒有直接使用AVR代碼編寫精練,代碼的執(zhí)行效率與代碼容量都沒有直接AVR編寫的好。2.2 一、Arduino開發(fā)工具的作用Arduino開發(fā)工具(是一個(gè)用來編寫Arduino程序的軟件,將程序編寫好檢測(cè)無誤后,通過該軟件下載到Arduino開發(fā)板中進(jìn)行燒錄。二、獲取和安裝Arduino開發(fā)工具方式1.下載Arduino 開發(fā)工具下載地址 :http:/Arduino.cc/en/Main/Software如圖2-1所示,在頁面上找到以下內(nèi)容: 圖2-1 Arduino IDE下載界面我們既可以下載windows installer 版本,也可以下載windows(ZIP file)版版本
29、,windows(ZIP file)版本的可以在直接解壓后就使用。2、Arduino開發(fā)工具功能介紹 安裝成功后雙擊Arduino.exe即可打開Arduino,界面如下圖2-2所示:圖2-2 Arduino IDE開發(fā)界面各按鈕功能如下: Verify(校驗(yàn)) :在下載代碼之前,對(duì)編好的代碼進(jìn)行檢驗(yàn)。 Stop(停止):可以停止進(jìn)行的編譯操作。 New(新建):可新建一個(gè)程序文件。 Open(打開):打開一個(gè)已經(jīng)編寫好后綴名為.pde的程序文件。 Save(保存):保存當(dāng)前的程序文件。 Upload(上傳) :在Arduino編程環(huán)境里編輯的程序,還不能讓Arduino運(yùn)行出希望的結(jié)果,還需
30、要將編寫的代碼下載到到Arduino控制板中。 Serial Monitor(串口監(jiān)視窗):可觀測(cè)開發(fā)環(huán)境中所使用的串口收發(fā)的數(shù)據(jù)變化情況。2.3 Arduino語言Arduino語言也就是基礎(chǔ)的C語言,Arduino語言只不過把AVR單片機(jī)相關(guān)的一些參數(shù)設(shè)置都函數(shù)化,不需要我們?nèi)チ私馑牡讓釉O(shè)計(jì),是他的編寫與設(shè)計(jì)更加簡(jiǎn)單方便25。常量:LOW | HIGH 表示數(shù)字接口的電平高低,LOW 代表低電平(0),HIGH 代表高電平(1)。OUTPUT | INPUT 表示數(shù)字IO口的方向,OUTPUT 表示輸出,INPUT 表示輸入(高阻態(tài))。true | false true 表示真(1),f
31、alse表示假(0)。程序結(jié)構(gòu):聲明變量及接口名稱:void setup() 放在在程序運(yùn)行起始位置,具有初始化變量,定義管腳模式,調(diào)用庫(kù)函數(shù)等一系列功能。void loop() 放在在setup()函數(shù)之后,即初始化之后,loop() 讓程序循環(huán)地被執(zhí)行。數(shù)字 I/O :pinMode(pin, mode) 定義數(shù)字IO端口輸入輸出模式的函數(shù),pin指向?yàn)?13引腳, mode表示輸出方向INPUT或OUTPUT。digitalWrite(pin, value) 定義數(shù)字IO端口輸出電平的函數(shù),pin指向?yàn)?13引腳,value表示為電平的高低HIGH或LOW。 int digitalRea
32、d(pin, value) 定義數(shù)字IO接口輸入電平函數(shù),pin指向?yàn)?13引腳,value表示為電平的高HIGH或LOW。模擬 I/O :int analogRead(pin) 定義模擬IO口讀函數(shù),pin指向?yàn)?5引腳。analogWrite(pin, value) - PWM 數(shù)字IO口PWM輸出函數(shù),Arduino數(shù)字IO口標(biāo)注了PWM的IO口可使用該函數(shù),pin指向3, 5, 6, 9, 10, 11引腳,value表示為0255。2.4 本章總結(jié)通過本章介紹,我們初步了解了什么是Arduino,以及Arduino在現(xiàn)代社會(huì)的電子設(shè)計(jì)中的優(yōu)勢(shì)。了解了Arduino集成環(huán)境的使用及其功
33、能的介紹,使我們對(duì)于Arduino控制板有了進(jìn)一步了解,為我們接下來的設(shè)計(jì)提供了基礎(chǔ)知識(shí)。下一章我們將進(jìn)入系統(tǒng)的具體設(shè)計(jì)。第三章 系統(tǒng)整體設(shè)計(jì)本章主要介紹的是關(guān)于Arduino溫濕度控制系統(tǒng)的主要控制模塊的設(shè)計(jì)與分析。本系統(tǒng)軟件設(shè)計(jì)以功能需求為根本目標(biāo),利用簡(jiǎn)單易懂的C語言,采取模塊化編程,對(duì)包括主控模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)顯示模塊、報(bào)警模塊等四個(gè)模塊進(jìn)行了詳細(xì)的設(shè)計(jì),結(jié)構(gòu)清晰,通俗易懂。為實(shí)現(xiàn)預(yù)期目標(biāo)的系統(tǒng)功能,將分析整個(gè)控制系統(tǒng)的硬件物理設(shè)計(jì)和軟件設(shè)計(jì)等。3.1 方案論證本節(jié)通過對(duì)基于Arduino的溫濕度控制系統(tǒng)的整體方案論證讓我們對(duì)于設(shè)計(jì)還系統(tǒng)有一個(gè)整體的設(shè)計(jì)與方法,為后面的具體設(shè)計(jì)設(shè)
34、下鋪墊。3.1.1 系統(tǒng)主要功能該系統(tǒng)希望實(shí)現(xiàn)的目標(biāo)功能是:(1) 溫濕度數(shù)據(jù)的實(shí)時(shí)檢測(cè)和顯示。溫濕度傳感器DHT11檢測(cè)到的數(shù)值經(jīng)過LCD1602液晶顯示屏實(shí)時(shí)地進(jìn)行顯示,并且以固定周期檢測(cè)刷新顯示一次。(2) 對(duì)歷史環(huán)境數(shù)據(jù)進(jìn)行記錄,以便以后任何時(shí)間都可以分析處理數(shù)據(jù),預(yù)測(cè)環(huán)境變化情況。(3) 當(dāng)溫濕度超出設(shè)定閾值時(shí)能自動(dòng)報(bào)警。蜂鳴器發(fā)出聲音報(bào)警。3.1.2 系統(tǒng)的工作原理簡(jiǎn)介一般來說,本次系統(tǒng)設(shè)計(jì)主要涉及包括溫度和濕度的測(cè)量、顯示以及實(shí)現(xiàn)方便控制。硬件方面有四個(gè)模塊,即Arduino主控模塊、傳感器模塊、LCD1602液晶顯示模塊以及報(bào)警模。主要使用DHT11數(shù)字溫濕度傳感器來進(jìn)行數(shù)據(jù)采
35、集工作。當(dāng)前環(huán)境下的溫度和濕度數(shù)據(jù)通過DHT11傳感器來檢測(cè)出,將所測(cè)環(huán)境數(shù)據(jù)傳送到Arduino主控模塊中進(jìn)行數(shù)據(jù)分析和處理等工作,并分別存入不同數(shù)組中以便顯示的時(shí)候取用。為了獲取穩(wěn)定的數(shù)據(jù),本系統(tǒng)每間固定周期采集一次數(shù)據(jù)送Arduino控制板中。溫濕度檢測(cè)值通過LCD1602液晶顯示模塊顯示。上邊一行英文字母及標(biāo)題,下邊一行顯示濕度和溫度值。蜂鳴器報(bào)警模塊實(shí)現(xiàn)了檢測(cè)值超過閾值的時(shí)鳴響報(bào)警功能。本系統(tǒng)采用的是無源源蜂鳴器,因此只有濕度超出范圍蜂鳴器時(shí)才進(jìn)行報(bào)警提示。當(dāng)溫度數(shù)據(jù)出現(xiàn)異常狀況時(shí),系統(tǒng)會(huì)提醒工作人員需及時(shí)調(diào)整,及時(shí)啟動(dòng)升溫器、降溫設(shè)備以及噴霧器等設(shè)備來有效的調(diào)節(jié)室內(nèi)環(huán)境溫濕度。呼吸
36、燈模塊可以通過觀察LED閃爍頻率的快慢來估測(cè)環(huán)境中濕度的大小及變化,更能直觀的反映出空氣中濕度的大小,當(dāng)LED燈閃爍頻率較快時(shí),說明此時(shí)環(huán)境濕度較大,可以連接到加濕器控制加濕器的功率等。3.1.3 總體設(shè)計(jì)簡(jiǎn)介1、總體設(shè)計(jì)框圖在保證實(shí)現(xiàn)其基本功能的基礎(chǔ)上,根據(jù)系統(tǒng)功能的具體要求,原則之一要盡可能降低系統(tǒng)軟硬件成本。設(shè)計(jì)的總體方案圍繞上述思想,初步確定系統(tǒng)的方案如圖3-1所示。圖3-1系統(tǒng)總體方案從圖中可以看出,系統(tǒng)由Arduino uno主控模塊、DHT11數(shù)據(jù)采集模塊、LCD1602液晶顯示模塊、報(bào)警模塊,呼吸燈模塊等組成。為了簡(jiǎn)化系統(tǒng),提高控制精度,外圍設(shè)備采用并行控制模式。該設(shè)計(jì)以Ard
37、uino uno為控制核心,實(shí)現(xiàn)溫濕度采集及顯示的基本功能。2 、總體設(shè)計(jì)工作進(jìn)程 只要弄清兩個(gè)部分模塊的工作原理,既可以很好的完成本次系統(tǒng)設(shè)計(jì)。一個(gè)是DHT11數(shù)據(jù)采集模塊,另一個(gè)是LCD1602液晶顯示模塊。DHT11傳感器比較陌生,以前沒有接觸過,液晶相對(duì)而言我們比較了解。因此只要先攻克了液晶顯示模塊,然后再掌握數(shù)據(jù)采集部分就可以掌握整個(gè)系統(tǒng)的工作原理。整個(gè)流程如下圖3-2所示:圖3-2 整體設(shè)計(jì)流程圖3.2 系統(tǒng)硬件設(shè)計(jì)本節(jié)主要介紹基于Arduino的溫濕度控制系統(tǒng)的主控模塊的設(shè)計(jì)。Arduino溫濕度控制系統(tǒng)包括Arduino主控板,LCD1602液晶顯示模塊,溫濕度數(shù)據(jù)采集模塊,報(bào)
38、警模塊等組成。本章將主要介紹系統(tǒng)的硬件設(shè)計(jì)及功能介紹。3.2.1 主控模塊Arduino UNO是作為Arduino平臺(tái)的參考標(biāo)準(zhǔn)模板,是Arduino USB接口系列的最新版本。UNO的核心控制器件是ATmega328處理芯片,數(shù)字輸入/輸出口共計(jì)有14路:6路PWM輸出端口,6路模擬輸入端口,一路ICSP header,一個(gè)16MHz晶體振蕩器,一個(gè)電源插口,一個(gè)USB接口和一個(gè)復(fù)位按鈕26。Arduino Uno有三個(gè)版本,最新版本與老版相比有以下新的特點(diǎn):在AREF處新添加了兩個(gè)引腳:SCL和SDA,支持I2C接口;增加IOREF和一個(gè)預(yù)留管腳,控制板能同時(shí)兼容5V和3.3V的供應(yīng)電壓
39、。 USB接口芯片由ATmega16U2替代了ATmega8U227 。如圖3-3為改進(jìn)后的Arduino UNO。圖3-3 Arduino UNO控制板1 、Arduino uno基本概要l 處理器 ATmega328 l 工作電壓 5V l 輸入電壓(推薦) 7-12V l 輸入電壓(范圍) 6-20V l 數(shù)字IO腳直流電流 40 mA l 3.3V腳直流電流 50 mA l 數(shù)字IO腳 共計(jì)14路 l 模擬輸入腳 6路 l Flash Memory 32 KB l SRAM 2 KB l EEPROM 1 KB l 工作時(shí)鐘頻率 16 MHz 2 、數(shù)據(jù)通信接口及引腳配置說明l 串口:
40、ATmega328處理芯片內(nèi)置的UART可以通過數(shù)字接口0和1與外部硬件完成串口數(shù)據(jù)通信28。 l TWI接口l SPI 接口圖3-4 Arduino原理圖Arduino控制板上基本端口如圖3-4所示Digital I/O:數(shù)字輸入/輸出013。Analog I/O:模擬輸入/輸出0-5。支持ICSP下載,同時(shí)支持RX/TX。輸入電壓:5-12V外部電源供電或USB接口供電。輸出電壓:支持3.3V級(jí)5V 電源輸出。處理器:使用Atmel Atmega168 328微處理器。AREF: 參考電壓的模擬輸入。采用analogReference()指令調(diào)用。VIN端口:外部電源輸入引腳。ICSP:是
41、一種線上即時(shí)燒錄引腳。3.2.2 數(shù)據(jù)采集模塊1、DHT11產(chǎn)品概述DHT11溫濕度傳感器是含有已校準(zhǔn)數(shù)字信號(hào)輸出的一款溫濕度復(fù)合傳感器。為保證傳感器具有卓越的長(zhǎng)期穩(wěn)定性和極高的可靠性,它采用了溫濕度傳感技術(shù)和專門制作的數(shù)字集成模塊數(shù)據(jù)采集技術(shù)29。圖3-5 DHT11傳感器實(shí)物圖DHT11溫濕度傳感器均在嚴(yán)格的校驗(yàn)實(shí)驗(yàn)室中經(jīng)過精確的濕度檢驗(yàn)校準(zhǔn)。校準(zhǔn)系數(shù)結(jié)果采用程序數(shù)據(jù)的形式存放在OTP中,DHT11內(nèi)部在檢測(cè)信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)30。體積小和功耗低等優(yōu)點(diǎn)使信號(hào)數(shù)據(jù)傳輸距離可超過20多米,使它成為各種應(yīng)用場(chǎng)合的最佳選則甚至環(huán)境最為復(fù)雜的應(yīng)用場(chǎng)合。(1)引腳介紹:l Pin1:(
42、VDD),電源引腳,供電電壓為35.5V。l Pin2:(DATA),單總線,串行數(shù)據(jù)通信。l Pin3:(NC),空腳,請(qǐng)懸浮。l Pin4:(VDD),電源負(fù)極,接地端。(2)接口說明 :當(dāng)連接線長(zhǎng)度在20米內(nèi)的時(shí)候要使用5000歐的上拉電阻,當(dāng)距離超過這個(gè)距離時(shí)則需要根據(jù)實(shí)際的工作情況來選用適合的電阻器件。圖3-6 DHT11典型應(yīng)用電路(3)數(shù)據(jù)幀的描述:DATA 通信接口用于 DHT11傳感器與控制器之間采用單總線數(shù)據(jù)格式進(jìn)行同步和通信,一次通信周期約4毫秒,數(shù)據(jù)分為兩部分:整數(shù)和小數(shù),當(dāng)前小數(shù)部分用于擴(kuò)展,現(xiàn)讀出為零.實(shí)現(xiàn)順序如下:一次完整的數(shù)據(jù)傳輸為40位,高位先出。數(shù)據(jù)格式8位
43、濕度整數(shù)+8位濕度小數(shù)+8位溫度整數(shù)+8位溫度小數(shù)如果數(shù)據(jù)沒有發(fā)送錯(cuò)誤,則所得到的校驗(yàn)和數(shù)據(jù)等于所得結(jié)果的最后8位數(shù),即8位的溫度小數(shù)部分。(4)電氣特性:VDD=5V,T = 25攝氏度,表3-1 DHT11的電氣特性參數(shù)條件Mintypmax單位供電電壓DC355.5V供電電流測(cè)量mA平均0.20.81mA待機(jī)100120150uA采樣周期秒135次注:采樣周期間隔不得低于1秒鐘。2、DHT11傳感器模塊電路設(shè)計(jì)DHT11溫度與濕度傳感器連接Arduino控制板相對(duì)而言還是比較簡(jiǎn)單的。Arduino控制板的數(shù)字I/O接口2的作用是發(fā)收串行數(shù)據(jù)的,即數(shù)據(jù)口。數(shù)字I/O接口2
44、連接傳感器的Pin2。由于測(cè)量電路長(zhǎng)度一般小于20米,所以需要額外增加一個(gè)5000歐的上拉電阻,所以在電源與DHT11的第二個(gè)腳之間接一個(gè)5000歐電阻31。而DHT11的電源端口第一個(gè)腳和第四個(gè)腳分別接Arduino控制板的電源接口和接地接口。DHT11的第三腳不接任何原件,懸浮放置。DHT11溫濕度傳感器的原理圖如下圖3-11所示:圖3-11 DHT11電路原理圖3.2.3 數(shù)據(jù)顯示模塊1、LCD1602液晶顯示屏LCD1602液晶是一種可以同時(shí)顯示32個(gè)字符(16列2行)的工業(yè)字符型液晶。LCD顯示模塊在電子表、攝像機(jī)、手機(jī)及很多日常電子產(chǎn)品中都可以監(jiān)到,主要作用是顯示圖形、數(shù)字和專用符
45、號(hào)等32。在基于微型處理器的電子設(shè)備中,LCD1602很多常用的輸出方式例如作為顯示器、發(fā)光器等使用。(一)引腳說明圖3-12 LCD1602引腳功能圖VSS:電源地。+5:電源正極,一般用+5V的電壓。VCVOM:液晶顯示對(duì)比度調(diào)節(jié)端,電壓范圍在05V之間。RS:?jiǎn)纹瑱C(jī)寫入指令或數(shù)據(jù)接口。R/W:讀寫控制接口。E:LCD模塊使能信號(hào)控制接口。DB0DB7:8位數(shù)據(jù)總線,同時(shí)有三態(tài)雙向的特點(diǎn)。BLA+: LED背光正極端。BLA-: LED背光接地端。(二)顯示地址 LCD1602字符液晶顯示分上行16字符下行16字符,不同位置字符的顯示地址如下表所示:顯示字符1234567第一行地址00H0
46、1H02H03H04H05H06H第二行地址40H41H42H43H44H45H46H顯示字符89101112···第一行地址07H08H09H0AHBH···第二行地址47H48H49H4AH4BH···2、1602液晶顯示原理LCD液晶的顯示是利用液晶的物理特性原理, 通過電壓的變化對(duì)其顯示區(qū)域的對(duì)比度進(jìn)行控制,接通電源就可以正常顯示,他不僅可以顯示圖形而且也可顯示不同的符號(hào)等。圖3-13 1602顯示模塊原理圖液晶顯示器適用于大規(guī)模集成電路直接驅(qū)動(dòng)、具有厚度薄、易于實(shí)現(xiàn)全彩色顯示等眾多優(yōu)點(diǎn),目前已經(jīng)
47、被廣泛應(yīng)用在工業(yè)領(lǐng)域例如數(shù)字?jǐn)z像機(jī)、便攜式電腦、移動(dòng)通信工具等33。為了方便調(diào)節(jié)液晶的顯示亮度使液晶顯示在最佳的狀態(tài),在第三個(gè)引腳Vo腳加上一個(gè)10000歐的滑動(dòng)變阻器,通過調(diào)節(jié)滑動(dòng)變阻器的電阻阻值不斷改變Vo腳的電壓值34。3.2.4 報(bào)警模塊(一) 蜂鳴器介紹1. 蜂鳴器是一種采用直流電壓供電的一體化結(jié)構(gòu)的電子訊響設(shè)備,被廣泛應(yīng)用于各種常用電子器件中作發(fā)聲元件。2. 蜂鳴器主要有兩個(gè)類型:電磁式和壓電式。3. 蜂鳴器在電路中用字母“HA”或“H”表示。(二) 蜂鳴器的結(jié)構(gòu)原理1壓電式蜂鳴器原件主要包括多諧振蕩器、阻抗匹配原件及音箱、外殼等。有些壓電式蜂鳴器外殼上還裝有發(fā)光二極管35。多諧振
48、蕩器由主要集成電路組成。當(dāng)開啟后,多諧振蕩器就會(huì)起振,產(chǎn)生1.52.5kHZ的音頻波動(dòng)信號(hào),阻抗匹配器驅(qū)動(dòng)壓電蜂鳴片振動(dòng)進(jìn)而發(fā)出聲音。鈮鎂酸鉛壓電陶瓷材料是壓電蜂鳴片的主要材料。另外分別在陶瓷片的正反面鍍上銀電極,然后經(jīng)過老化和極化處理后,再同不銹鋼片粘接在一起36。2磁式蜂鳴器組件主要包括磁鐵、電磁線圈、振蕩器、振動(dòng)膜片及外殼等37。(三)有源蜂鳴器和無源蜂鳴器常見的一種小型蜂鳴器因其比較小巧、結(jié)構(gòu)牢靠,而被大量應(yīng)用在一些需要發(fā)聲鳴響的電器設(shè)備、電子制作設(shè)計(jì)等電路中。常用蜂鳴器被分為無源蜂鳴器和有源蜂鳴器。有源蜂鳴器接通電源就可連續(xù)發(fā)出聲音;而無源蜂鳴器則必須接在音頻輸出電路中才能發(fā)出聲音。
49、圖3-14 蜂鳴器原理圖本系統(tǒng)在設(shè)計(jì)時(shí)候采用的是無源蜂鳴器,只要給蜂鳴器一定的電流值,蜂鳴器就可以按照給定的一定的頻率發(fā)聲,但是Arduino控制器引腳的電流相對(duì)較小,不足以驅(qū)動(dòng)蜂鳴器工作,因此采用了一個(gè)NPN的三極管來驅(qū)動(dòng)。3.2.5 原理總圖及器件清單經(jīng)過以上分析,將傳感器、無源蜂鳴器和LCD1602等與Arduino相連接,便構(gòu)成了本系統(tǒng)的電路原理圖,如圖3-15所示。圖3-15 系統(tǒng)總電路圖原件列表清單如下表:原件數(shù)量Arduino uno擴(kuò)展版1(塊)LCD1602顯示屏1(塊)DHT11傳感器1(個(gè))無源蜂鳴器1(個(gè))LED1(個(gè))電阻2(個(gè))導(dǎo)線若干面包板2(塊)擴(kuò)展版1(塊)數(shù)
50、據(jù)線1(條)3.3 系統(tǒng)軟件設(shè)計(jì)本系統(tǒng)軟件設(shè)計(jì)以功能需求為根本目標(biāo),利用簡(jiǎn)單易懂的C語言,采取模塊化編程,結(jié)構(gòu)清晰,通俗易懂。3.3.1 總體程序流程圖在對(duì)我們所選專題的研究方向有了大致的總體認(rèn)識(shí)后,我們就需要先設(shè)計(jì)一個(gè)整體的程序工作流程圖,將整個(gè)大系統(tǒng)系統(tǒng)劃分為多個(gè)不同功能的小模塊,然后再逐個(gè)對(duì)各個(gè)功能小模塊所需要實(shí)現(xiàn)的功能進(jìn)行分析,最后再把各個(gè)功能模塊的程序合有效的連接一個(gè)整體的程序。程序流程如圖3-16所示。圖 3-16 主程序流程圖3.3.2 液晶顯示模塊程序LCD1602顯示器是一個(gè)慢顯示元件,在運(yùn)行任何一條命令以前要保證顯示模塊的忙標(biāo)志表示不忙為低電平,如果不是那么這條命令不可用,
51、如果想顯示字符或圖像則必須先輸入字符會(huì)圖像的地址38。LCD1602顯示模塊可直接與Arduino控制板接口相連,不需要再加任何額外的驅(qū)動(dòng)程序。軟件流程圖如圖3-17所示及調(diào)試結(jié)果如圖3-18所示:圖3-17 1602液晶顯示模塊程序流程圖 圖3-18 液晶調(diào)試結(jié)果顯示顯示程序如下:int DI = 12;int RW = 11;int DB = 3, 4, 5, 6, 7, 8, 9, 10;/int Enable = 2;void LcdCommandWrite(int value)int i = 0;for (i=DB0; i <= DI; i+) digitalWrite(i,v
52、alue & 01); value >>= 1; digitalWrite(Enable,LOW);delayMicroseconds(1);digitalWrite(Enable,HIGH);delayMicroseconds(1); digitalWrite(Enable,LOW);delayMicroseconds(1);void LcdDataWrite(int value) int i = 0;digitalWrite(DI, HIGH);digitalWrite(RW, LOW);for (i=DB0; i <= DB7; i+) digitalWrite
53、(i,value & 01); value >>= 1;digitalWrite(Enable,LOW);delayMicroseconds(1);digitalWrite(Enable,HIGH);delayMicroseconds(1);digitalWrite(Enable,LOW);delayMicroseconds(1); void setup (void) int i = 0;for (i=Enable; i <= DI; i+) pinMode(i,OUTPUT);delay(100);LcdCommandWrite(0x38); delay(64);L
54、cdCommandWrite(0x38); delay(50); LcdCommandWrite(0x38); delay(20); LcdCommandWrite(0x06); delay(20); LcdCommandWrite(0x0E); delay(20); LcdCommandWrite(0x01); delay(100); LcdCommandWrite(0x80); delay(20); 3.3.3 傳感器模塊程序伴隨著科學(xué)與工程技術(shù)的逐步發(fā)展,DH11傳感器漸漸已進(jìn)入人們的日常生活中,經(jīng)常使用的許許多多的電子電器設(shè)備都對(duì)溫濕度等環(huán)境參數(shù)有特別嚴(yán)格要求39。因此,溫濕度傳感器被
55、不斷推廣使用在不同的場(chǎng)合。最新的數(shù)字傳感器標(biāo)準(zhǔn)接口已經(jīng)不需要外置的模數(shù)轉(zhuǎn)換模塊了。調(diào)試結(jié)果如圖3-19所示。程序如下:double dewPoint(double celsius, double humidity) double A0= 373.15/(273.15 + celsius); double SUM = -7.90298 * (A0-1); SUM += 5.02808 * log10(A0); SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)-1) ; SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)-1) ; SUM += log10(1013.246); double VP = pow(10, SUM-3) * humidity; double T = log(VP/0.61078); / temp var return (241.88 * T) / (17.558-T);void setup() Serial.begin(9600); Serial.prin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度租船運(yùn)輸費(fèi)用及船舶交易中介服務(wù)協(xié)議
- 2025年度知識(shí)產(chǎn)權(quán)授權(quán)保證金協(xié)議
- 2025年度私家車個(gè)人車輛抵押融資合同
- 二零二五年度勞務(wù)班組退場(chǎng)及新能源項(xiàng)目設(shè)備回收協(xié)議
- 二零二五年度機(jī)床轉(zhuǎn)讓與知識(shí)產(chǎn)權(quán)保護(hù)協(xié)議
- 2025年度生物科技企業(yè)研發(fā)人員勞動(dòng)用工協(xié)議書
- 二零二五年度手房貸款買賣合同(含裝修款分期支付)
- 二零二五年度古井買賣合同范本全新解讀
- 二零二五年度科室承包責(zé)任書及考核協(xié)議
- 幼兒園與社區(qū)聯(lián)合舉辦親子活動(dòng)的合作協(xié)議
- 2024年廣州港集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
- 【特級(jí)教師上優(yōu)課】《黃河頌》名師課件
- 鋁合金門窗安裝施工工藝詳解
- 《包裝設(shè)計(jì)》課件-包裝設(shè)計(jì)發(fā)展的歷史
- 全國(guó)保密宣傳教育月課件
- 醫(yī)療器械經(jīng)營(yíng)企業(yè)GSP培訓(xùn)
- 語言藝術(shù)訓(xùn)練智慧樹知到期末考試答案2024年
- 報(bào)價(jià)單(產(chǎn)品報(bào)價(jià)單)
- 內(nèi)鏡逆行闌尾炎治療術(shù)
- JJG 633-2024 氣體容積式流量計(jì)
- 2024年國(guó)家社會(huì)科學(xué)基金年度項(xiàng)目申請(qǐng)書;2024年國(guó)家社會(huì)科學(xué)基金重大項(xiàng)目投標(biāo)書
評(píng)論
0/150
提交評(píng)論