Arduino單片機的智能家居設(shè)計_第1頁
Arduino單片機的智能家居設(shè)計_第2頁
Arduino單片機的智能家居設(shè)計_第3頁
Arduino單片機的智能家居設(shè)計_第4頁
Arduino單片機的智能家居設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

...wd......wd......wd...山東科技大學第三屆學生電子設(shè)計大賽技術(shù)報告基于Arduino單片機的智能家居系統(tǒng)學院:電子通信與物理學院班級:碩研2015級參賽者:張榮飛曹其棟侯煥存摘要本文中我們基于Arduino單片機設(shè)計了一個模擬智能家居系統(tǒng)。該系統(tǒng)以ArduinoUNOR3單片機為核心,外接光照檢測、溫濕度傳感器、LED、風扇和無線通信等模塊。整個系統(tǒng)分為檢測端和控制端兩大局部,檢測端由光敏電阻、溫濕度傳感器、無線通信模塊和單片機組成。控制端由無線接收、液晶顯示、電燈控制和風扇控制四大模塊組成,包含單片機、無線通信模塊、LCD顯示屏、風扇和LED等。檢測端和控制端之間借助無線通信模塊進展無線通信,控制端內(nèi)部的無線接收和液晶顯示兩個模塊之間那么采用串口通信。該系統(tǒng)能夠?qū)崿F(xiàn)對室內(nèi)溫度、濕度和光照強度等參數(shù)的實時檢測,并借助LCD顯示溫濕度值,還可以根據(jù)檢測端探測到的光照強度和溫度值以及預先設(shè)定的參數(shù)對室內(nèi)的電燈和風扇進展智能控制。關(guān)鍵詞:智能家居;Arduino單片機;自動控制;無線通信;液晶顯示目錄§1緒論11.1智能家居簡介11.2智能家居的研究意義2§2系統(tǒng)總體設(shè)計方案32.1系統(tǒng)框圖32.2系統(tǒng)工作原理簡介3§3系統(tǒng)硬件設(shè)計43.1單片機的選擇43.1.1ArduinoUNO簡介43.1.2Arduino單片機特色53.1.3Arduino單片機引腳簡介53.1.4Arduino單片機編程軟件63.2溫濕度檢測模塊設(shè)計63.2.1DHT11概述63.2.2DHT11引腳說明73.2.3電源引腳83.2.4串行接口〔單線雙向〕83.3光照檢測模塊設(shè)計83.4無線通信模塊設(shè)計93.5液晶顯示模塊設(shè)計93.5.1液晶顯示模塊的選擇93.5.2液晶顯示電路設(shè)計103.6其他模塊設(shè)計113.6.1電燈模塊設(shè)計113.6.2風扇模塊設(shè)計123.7系統(tǒng)硬件實物圖12§4軟件系統(tǒng)設(shè)計134.1檢測端程序設(shè)計134.2控制端程序設(shè)計13§5總結(jié)15參考文獻15附錄:源程序16§1緒論1.1智能家居簡介智能家居很早就出現(xiàn)在人們的定義當中,但很長時間以來都沒有真正意義上的智能家居成型,到了1984年美國聯(lián)合科技公司〔UnitedTechnologiesBuildingSystem〕將智能信息融入建筑設(shè)備中,在整合的根基上應(yīng)用到了美國康乃迪克州哈特佛市的城市地標性建筑中時,出現(xiàn)了世界上的首棟智能化建筑,也正是從那時開場,智能化家居正式融入到現(xiàn)代生活中。智能家居控制的開展關(guān)鍵在于設(shè)計理念以及經(jīng)營者的心態(tài),市場目標客戶真正需要什么東西,如果只注重簽單,不設(shè)身處地的為客戶著想,不兼顧智能解決未來的開展,提供片面的智能家居解決方案,而不考慮客戶的適用性,是不可取的,是急功近利的表現(xiàn),這不僅降低了智能家居的應(yīng)用效果,還不利于整個智能家居行業(yè)的開展。智能家居控制系統(tǒng)的市場不是一般普通的商品買賣,而是一項系統(tǒng)性工程,它涉及到很多技術(shù),涉及到人們生活的方方面面,智能家居控制系統(tǒng)的終極目標是一種理想,更是一種理念,要想智能家居控制系統(tǒng)有很好的開展,研發(fā)機構(gòu)必須本著長遠開展的心態(tài),本著簡化、實用、性價比高、適合市場的理念,虔誠研究人們的生活、習慣、精神文化等需要,并把它看最高目標,運用各種技術(shù)手段實現(xiàn)它。在國內(nèi),智能家居不是單純意義上的智能產(chǎn)品,也不能被狹義的理解為小區(qū)智能化,而是基于小區(qū)的多層次家居智能化解決方案。它綜合利用主控平臺、無線連接及通信、設(shè)備管理、整體布局布線等手段,將住戶智能化管理、交互共享及消費服務(wù)、小區(qū)安防監(jiān)控等常見家居因素協(xié)調(diào)配合并最終整合為整體,在原有小區(qū)智能化的大面上延伸到小區(qū)內(nèi)部室內(nèi)家居的具體環(huán)節(jié),構(gòu)建出高效、舒適、安全、便捷的個性化住宅空間。近幾年,很多研發(fā)機構(gòu)和廠商已經(jīng)意識到家庭安全的重要性,把智能家居作為一個重要的方向和工程來研究,并紛紛投入大量人力財力,使智能家居真正的走向市場和產(chǎn)業(yè)化生產(chǎn)。智能家居是一個具有交互能力的平臺,并且通過平臺能夠把各種不同的系統(tǒng)、協(xié)議、信息和內(nèi)容控制在相對獨立的模塊單元中進展傳輸、交換。1.2智能家居的研究意義隨著人們生活水平的不斷提高,生活節(jié)奏的加快,人們不斷的對居住環(huán)境提出更高的要求,越來越注重家庭生活中每個成員的舒適、安全和便利,因此從市場需求的角度來說,智能家居必然是前景廣闊。因此設(shè)計一個符合國家國情和標準的集遠程控制和本地控制為一體的智能家居控制系統(tǒng)是非常具有現(xiàn)實意義的,且勢在必行。作為智能家居的核心系統(tǒng)的智能家居的控制系統(tǒng),它的設(shè)計功能的完善必將推動住宅智能化的開展。而系統(tǒng)功能的集成化、用戶使用的傻瓜化以及市場的平民化將是智能家居控制器的開展趨勢,系統(tǒng)也將逐步邁向綠色化。最終,我想全人類的夢想是智能家居控制系統(tǒng)將囊括所有的家事雜物,讓我們真正的享受舒適溫馨的家庭生活。雖然智能家居經(jīng)過十幾年的蓬勃開展,很多功能已趨于完善和成熟,智能化家居系統(tǒng)的應(yīng)用也越來越廣泛,然而生活中的智能家居所展現(xiàn)出的智能化,與業(yè)主所理想的智能化還存在較大差距。而這也推動了智能化技術(shù)在家居領(lǐng)域的縱深開展,并為各類智能化家居新產(chǎn)品的設(shè)計和研發(fā)增加了動力,同時新產(chǎn)品的出現(xiàn),也大大豐富了智能家居系統(tǒng)的厚度。因此,將智能家居作為這次研究的主要內(nèi)容具有很大的現(xiàn)實指導意義。本文的目的就是設(shè)計一個簡捷有效智能家居控制系統(tǒng),從溫度、濕度、光照強度的采集,到LCD實時顯示,并根據(jù)采集的信號不同采取相應(yīng)的應(yīng)對機制,智能控制家中的電燈、風扇等電器設(shè)備,從而實現(xiàn)基本的智能家居功能?!?系統(tǒng)總體設(shè)計方案2.1系統(tǒng)框圖智能家居控制系統(tǒng)對整個家庭內(nèi)部環(huán)境進展監(jiān)測和及時應(yīng)對的系統(tǒng),核心局部是單片機,通過與其他各監(jiān)測模塊和執(zhí)行模塊的連接,實現(xiàn)對室內(nèi)環(huán)境的整體改變和各元件的控制。首先,主控元件對接收到的數(shù)據(jù)〔如光線強暗,溫度上下〕通過LCD顯示模塊進展實時顯示,使室內(nèi)情況一目了然。然后根據(jù)各信號采集模塊傳送給單片機的數(shù)據(jù),做出應(yīng)對執(zhí)行,實現(xiàn)家居系統(tǒng)的智能控制。系統(tǒng)總體框圖如下:圖2.1系統(tǒng)總體框圖2.2系統(tǒng)工作原理簡介本系統(tǒng)工作可以分為四個局部:第一局部是傳感器數(shù)據(jù)采集,將溫度傳感器、濕度傳感器以及光敏電阻分別連接到單片機①上,單片機①會將傳感器采集到的實時數(shù)據(jù)進展處理;第二局部是數(shù)據(jù)傳輸,有兩個無線模塊,一個連接到單片機①上作為發(fā)射端,一個連接到單片機②上作為接收端,單片機①將處理過的數(shù)據(jù)通過發(fā)射端發(fā)送出去,單片機②通過接收端將數(shù)據(jù)接收進來,再次進展處理;第三局部是控制功能,單片機②將接收到的數(shù)據(jù)與設(shè)定的閾值進展對比,當?shù)竭_閾值條件時,可以啟動風扇或者電燈,另外,溫度和光敏設(shè)定了幾個不同的閾值,當?shù)竭_某一閾值會有相應(yīng)的風扇轉(zhuǎn)速或者電燈亮度;第四局部,溫濕度顯示,單片機②將通過無線方式接收到的數(shù)據(jù)采用串口通信的方式傳給單片機③,單片機③是專門用來控制LCD1602液晶顯示屏的,得到數(shù)據(jù)后單片機③將數(shù)據(jù)傳到液晶屏進展顯示?!?系統(tǒng)硬件設(shè)計3.1單片機的選擇首先將所需器件羅列,根據(jù)與單片機相連的各器件,確定整個系統(tǒng)所需與單片機連接的管腳數(shù),通過查資料,選定Arduino單片機作為該系統(tǒng)的微控制器,因為它帶有模擬I/O口,在外接各類傳感器方面比普通的51系列單片機更為方便。Arduino單片機的模擬I/O口可以很方便地將光敏電阻和溫濕度傳感器等模塊采集到的模擬量經(jīng)A/D轉(zhuǎn)換后送給單片機進展處理,而對數(shù)字信號的識別和處理正是Arduino的優(yōu)勢所在。3.1.1ArduinoUNO簡介ArduinoUNO是ArduinoUSB接口系列的最新版本,作為Arduino平臺的參考標準模板。UNO的處理器核心是ATmega328,同時具有14路數(shù)字輸入/輸出口〔其中6路可作為PWM輸出〕,6路模擬輸入,一個16MHz晶體振蕩器,一個USB口,一個電源插座,一個ICSPheader和一個復位按鈕。UNO已經(jīng)發(fā)布到第三版,與前兩版相比有以下新的特點:在AREF處增加了兩個管腳SDA和SCL,支持I2C接口;增加IOREF和一個預留管腳,將來擴展板將能兼容5V和3.3V核心板。這樣改進了復位電路設(shè)計,USB接口芯片由ATmega16U2替代了ATmega8U2。圖2.2為改進后的ArduinoUNO。圖2.2ArduinoUNOR33.1.2Arduino單片機特色1、開放源代碼的電路圖設(shè)計,程序開發(fā)接口免費下載,也可依需求自己修改。2、使用低價格的微處理控制器(ATMEGA8或ATmega128)??梢圆捎肬SB接口供電,不需外接電源,也可以使用外部9VDC輸入。3、Arduino支持ISP在線燒,可以將新的“bootloader〞固件燒入ATmega8或ATmega128芯片。有了bootloader之后,可以通過串口或者USBtoRs232線更新固件。4、可依據(jù)官方提供的Eagle格式PCB和SCH電路圖,簡化Arduino模組,完成獨立運作的微處理控制??珊唵蔚嘏c傳感器,各式各樣的電子元件連接(如:紅外線、超聲波、熱敏電阻、光敏電阻、伺服馬達等)。5、支持多種互動程序,如:Flash、Max/Msp、VVVV、PD、C、Processing等。6、應(yīng)用方面,利用Arduino,突破以往只能使用鼠標、鍵盤、CCD等輸入的裝置的互動內(nèi)容,可以更簡單地達成單人或多人游戲互動。3.1.3Arduino單片機引腳簡介Arduino單片機的數(shù)字I/O被分成兩個局部,其中每個局部都包含有6個可用的I/O管腳,即管腳2到管腳7和管腳8到管腳13。在數(shù)字電路中開關(guān)〔switch〕是一種基本的輸入形式,它的作用是保持電路的連接或者斷開。Arduino從數(shù)字I/O管腳上只能讀出高電平〔5V〕或者低電平〔0V〕,因此我們首先面臨到的一個問題就是如何將開關(guān)的開/斷狀態(tài)轉(zhuǎn)變成Arduino能夠讀取的高/低電平。解決的方法是通過上/下拉電阻,按照電路的不同通常又可以分為正邏輯〔PositiveLogic〕和負邏輯〔InvertedLogic〕兩種。Arduino的優(yōu)勢在于對數(shù)字信號的識別和處理,但我們所生活的真實世界并不是數(shù)字〔digital〕化的,簡單到只要用0和1就能夠表示所有的現(xiàn)象。例如溫度這一我們已經(jīng)司空見慣的概念,它只能在一個范圍之內(nèi)連續(xù)變化,而不可能發(fā)生像從0到1這樣的瞬時跳變,類似這樣的物理量被人們稱為是模擬〔analog〕的。Arduino是無法理解這些模擬量的,它們必須在經(jīng)過模數(shù)轉(zhuǎn)換后變成數(shù)字量后,才能被Arduino進一步處理。3.1.4Arduino單片機編程軟件Arduino語言是建設(shè)在C/C++根基上的,其實也就是根基的C語言,Arduino語言只不過把AVR單片機〔微控制器〕相關(guān)的一些存放器參數(shù)設(shè)置等都函數(shù)化了,不用我們?nèi)チ私馑牡讓?,讓不太了解AVR單片機〔微控制器〕的朋友也能輕松上手。圖2.3Arduino編程界面Arduino語言是以setup()開頭,loop()作為主體的一個程序構(gòu)架。官方網(wǎng)站是這樣描述setup()的:用來初始化變量,管腳模式,調(diào)用庫函數(shù)等等,此函數(shù)只運行一次。loop()函數(shù)是一個循環(huán)函數(shù),函數(shù)內(nèi)的語句周而復始的循環(huán)執(zhí)行,功能類似c語言中的“main();〞。3.2溫濕度檢測模塊設(shè)計智能家居的一個主要控制對象就是住戶室內(nèi)溫濕度,適宜的溫濕度為主人提供良好的家居環(huán)境,這樣一來,溫濕度檢測與控制模塊就變得尤為重要。考慮到硬件電路的復雜性,本設(shè)計中選擇DHT11數(shù)字溫濕度傳感器來檢測室內(nèi)的溫度和濕度,這樣可以用一個傳感器檢測兩個指標,使硬件電路得以簡化。3.2.1DHT11概述DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。每個DHT11傳感器都在極為準確的濕度校驗室中進展校準。校準系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最正確選那么。產(chǎn)品為4針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。圖3.1DHT11實物圖3.2.2DHT11引腳說明引腳號引腳名稱類型引腳說明1VCC電源正電源輸入,3V-5.5VDC2Dout輸出單總線,數(shù)據(jù)輸入/輸出引腳3NC空空腳,擴展未用4GND地電源地圖3.2DHT11典型應(yīng)用電路3.2.3電源引腳DHT11的供電電壓為3-5.5V。傳感器上電后,要等待1s以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳〔VDD,GND〕之間可增加一個100nF的電容,用以去耦濾波。3.2.4串行接口〔單線雙向〕DATA用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,用戶MCU發(fā)送一次開場信號后,,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開場信號完畢后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取局部數(shù)據(jù)。從模式下,DHT11接收到開場信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開場信號,DHT11不會主動進展溫濕度采集,采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。3.3光照檢測模塊設(shè)計光敏電阻特性是在不同光照強度下,其阻值發(fā)生變化〔只要是人眼可感受的光,都會引起它的阻值變化〕。利用這一特性,我們把光敏電阻接入電路實現(xiàn)光照強度檢測。圖3.3光照檢測電路示意圖亮度檢測電路工作原理:我們把光敏電阻接入電路后,光敏電阻置于窗口處,由于光線的變化,其阻值也在一定時間內(nèi)不斷變化,從而產(chǎn)生連續(xù)的電信號,通過模擬I/O口進入單片機。由于單片機內(nèi)部自帶A/D轉(zhuǎn)換電路,通過相應(yīng)程序,能使模擬I/O口傳來的電信號轉(zhuǎn)換成數(shù)字信號,單片機讀取這些數(shù)字信號,就能得出相應(yīng)的光照強度,并決定是否啟動其他應(yīng)對措施。3.4無線通信模塊設(shè)計考慮到系統(tǒng)的普遍適用性和硬件電路實現(xiàn)的難易程度,本次設(shè)計中選取NRF24L01無線模塊作為系統(tǒng)的無線通信模塊,該模塊既可以用于發(fā)送數(shù)據(jù),也可以用于接收數(shù)據(jù),且易于編程操作。NRF24L01無線模塊主要特點如下:(1)2.4Ghz全球開放ISM頻段免許可證使用;(2)最高工作速率2Mbps,高效GFSK調(diào)制,抗干擾能力強,特別適合工業(yè)控制場合;(3)126頻道,滿足多點通信和跳頻通信需要;(4)內(nèi)置硬件CRC檢錯和點對多點通信地址控制;(5)低功耗1.9-3.6V工作,待機模式下狀態(tài)為22uA;掉電模式下為900nA;(6)內(nèi)置2.4Ghz天線,體積種類多樣;(7)模塊可軟件設(shè)地址,只有收到本機地址時才會輸出數(shù)據(jù)〔提供中斷指示),可直接接各種單片機使用,軟件編程非常方便;(8)內(nèi)置專門穩(wěn)壓電路,使用各種電源包括DC/DC開關(guān)電源均有很好的通信效果;(9)2.54MM間距接口,DIP封裝;(10)工作于EnhancedShockBurst具有Automaticpackethandling,Autopackettransactionhandling,具有可選的內(nèi)置包應(yīng)答機制,極大的降低丟包率。3.5液晶顯示模塊設(shè)計3.5.1液晶顯示模塊的選擇LCD1602屏幕為2行,每行顯示16個字符,為字符型顯示器,只能顯示數(shù)字和字符,不可以顯示漢字。LCD12864屏幕為64行,每行顯示128個字符,為點陣型顯示器,可根據(jù)需求任意顯示字符,數(shù)字,漢字和圖形。綜合價格因素和實際應(yīng)用的需要,選用LCD1602為改家居系統(tǒng)的顯示器。下面詳細介紹一下LCD1602的功能實現(xiàn)和各項參數(shù)。LCD1602主要技術(shù)參數(shù):顯示容量:16×2個字符芯片工作電壓:4.5—5.5V工作電流:2.0mA(5.0V)模塊最正確工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mmLCD1602相比傳統(tǒng)顯示器的幾個突出優(yōu)點:〔1〕顯示質(zhì)量高由于液晶顯示器收到信號后的每一個點都會一直保持原有亮度和顏色,恒定發(fā)光。而不像陰極射線管顯示器〔CRT〕那樣需要不斷刷新新亮點。因此,液晶顯示器既不會閃爍,又保證了畫質(zhì)高。〔2〕數(shù)字式接口液晶顯示器的輸入輸出采用數(shù)字量,和主控芯片〔SCM〕的接口連接更加簡單可靠,操作也更為簡便。〔3〕重量輕,體積小液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來到達顯示的目的,在重量上比一樣顯示面積的傳統(tǒng)顯示器要輕得多?!?〕功耗低相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其他顯示器要少得多。LCD1602分為帶背光和不帶背光兩種,基控制器大局部為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差異。3.5.2液晶顯示電路設(shè)計圖3.4液晶顯示電路示意圖液晶顯示電路工作原理:液晶顯示器LCD1602通過7~14管腳的數(shù)據(jù)總線與單片機進展數(shù)據(jù)傳送,單片機通過輸出高地電平來控制液晶顯示器LCD1602的4~6管腳配合傳送的數(shù)據(jù)決定讀/寫數(shù)據(jù),并通過LCD顯示屏顯示出來。期間單片機是控制元件,而LCD1602為顯示和執(zhí)行元件。3.6其他模塊設(shè)計3.6.1電燈模塊設(shè)計本次系統(tǒng)設(shè)計中用發(fā)光二極管LED來替代實際場景中的電燈。LED發(fā)光原理發(fā)光二極管是由Ⅲ-Ⅳ族化合物,如GaAs(砷化鎵)、GaP(磷化鎵)、GaAsP(磷砷化鎵)等半導體制成的,其核心是PN結(jié)。因此它具有一般P-N結(jié)的I-N特性,即正向?qū)?,反向截止、擊穿特性。此外,在一定條件下,它還具有發(fā)光特性。在正向電壓下,電子由N區(qū)注入P區(qū),空穴由P區(qū)注入N區(qū)。進入對方區(qū)域的少數(shù)載流子(少子)一局部與多數(shù)載流子(多子)復合而發(fā)光。假設(shè)發(fā)光是在P區(qū)中發(fā)生的,那么注入的電子與價帶空穴直接復合而發(fā)光,或者先被發(fā)光中心捕獲后,再與空穴復合發(fā)光。除了這種發(fā)光復合外,還有些電子被非發(fā)光中心(這個中心介于導帶、介帶中間附近)捕獲,而后再與空穴復合,每次釋放的能量不大,不能形成可見光。發(fā)光的復合量相對于非發(fā)光復合量的比例越大,光量子效率越高。由于復合是在少子擴散區(qū)內(nèi)發(fā)光的,所以光僅在靠近PN結(jié)面數(shù)μm以內(nèi)產(chǎn)生。理論和實踐證明,光的峰值波長λ與發(fā)光區(qū)域的半導體材料禁帶寬度Eg有關(guān),即λ≈1240/Eg(mm)式中Eg的單位為電子伏特(eV)。假設(shè)能產(chǎn)生可見光(波長在380nm紫光~780nm紅光),半導體材料的Eg應(yīng)在3.26~1.63eV之間。比紅光波長長的光為紅外光?,F(xiàn)在已有紅外、紅、黃、綠及藍光發(fā)光二極管,但其中藍光二極管成本、價格很高,使用不普遍。LED的應(yīng)用由于發(fā)光二極管的顏色、尺寸、形狀、發(fā)光強度及透明情況等不同,所以使用發(fā)光二極管時應(yīng)根據(jù)實際需要進展恰中選擇。由于發(fā)光二極管具有最大正向電流IFm、最大反向電壓VRm的限制,使用時,應(yīng)保證不超過此值。為安全起見,實際電流IF應(yīng)在0.6IFm以下;應(yīng)讓可能出現(xiàn)的反向電壓VR0。6VRm。LED被廣泛用于種電子儀器和電子設(shè)備中,可作為電源指示燈、電平指示或微光源之用。紅外發(fā)光管常被用于電視機、錄像機等的遙控器中。在連接電路時,首先應(yīng)正確區(qū)分LED的正負極,防止正負極戒飯導致無法使用甚至燒壞元件。LED的兩只引腳中,長的一根為正極,短的一根為負極,連接電路時,正極接一個220Ω的電阻,電阻另一端接單片機的數(shù)字I/O口,負極接地。3.6.2風扇模塊設(shè)計本設(shè)計中,采用普通的直流電機帶動扇葉來模擬實際場景中的風扇。直流風扇的兩個接線端不分正負,一端接地,另一端接單片機數(shù)字I/O口即可,根據(jù)系統(tǒng)設(shè)計的要求,通過程序控制輸出到電機的電壓不同來改變電機轉(zhuǎn)速,從而實現(xiàn)根據(jù)溫度變化和預設(shè)參數(shù)改變風扇轉(zhuǎn)速的目的。3.7系統(tǒng)硬件實物圖根據(jù)上述各模塊的硬件設(shè)計,最后做出的實物圖如下:圖3.5模擬智能家居硬件實物圖§4軟件系統(tǒng)設(shè)計4.1檢測端程序設(shè)計檢測端由單片機、光照檢測模塊、溫濕度檢測模塊和無線通信模塊組成,相應(yīng)的程序包括光照檢測程序、溫濕度檢測程序和無線通信程序,局部程序如以以下圖所示,完整的程序在附錄中。圖4.1檢測端局部程序4.2控制端程序設(shè)計控制端由單片機、液晶顯示模塊、電燈模塊、風扇模塊和無線通信模塊組成,相應(yīng)的程序包括無線接收程序、串口通信程序、顯示程序、風扇和電燈控制程序,局部程序如以以下圖所示,完整的程序在附錄中。圖4.2無線接收局部程序圖4.3液晶顯示局部程序§5總結(jié)本次設(shè)計的模擬智能家居系統(tǒng)滿足了所有的系統(tǒng)設(shè)計要求,完成了對溫濕度的實時監(jiān)測和現(xiàn)實,得到的最終結(jié)果誤差也在要求的范圍之內(nèi),而且完成了根據(jù)光照強度變化、溫度變化和預設(shè)參數(shù)對電燈和風扇進展智能控制的任務(wù),取得了令人滿意的成果。通過本次設(shè)計,使我對基于單片機的智能控制有了更多的了解和掌握,在科技飛速開展的今天,科技意味著第一生產(chǎn)力,機器智能正在越來越多的方面取代人工操作,作為智能控制在工業(yè)應(yīng)用的代表性成果,它結(jié)合了程序調(diào)控,提供了定時控制、計數(shù)控制、步進控制以及數(shù)據(jù)處理等多種功能,具有人工作業(yè)無法對比的優(yōu)越性和準確性。隨著科技的開展,基于單片機的智能控制功能也會不斷擴大,各項性能也將不斷提高。參考文獻[1]張鑫.單片機原理及應(yīng)用[M].北京:電子工業(yè)出版社,2008[2]童詩白,華成英.模擬電子技術(shù)根基[M].北京:高等教育出版社,2001[3]王港元.電工電子實踐指導[M].南昌:江西科學技術(shù)出版社,2006[4]李朝青.PC機及單片機數(shù)據(jù)通信技術(shù),北京,北京航空航天大學出版社,2000[5]藍宇電子研發(fā)團隊.Arduino設(shè)計[M].[6]湯凱,劉洋,續(xù)欣.Arduino程序設(shè)計指南[M].北京:電子工業(yè)出版社,2015[7]趙光宙.信號分析與處理[M].北京:機械工業(yè)出版社,2010[8]張國雄.測控電路〔第四版〕[M].北京:機械工業(yè)出版社,2011附錄:源程序檢測端發(fā)送程序:#include<SPI.h>#include<Mirf.h>#include<nRF24L01.h>#include<MirfHardwareSpiDriver.h>#defineDHT11_PIN0//ADC0接到模擬口0byteread_dht11_dat(){bytei=0;byteresult=0;for(i=0;i<8;i++){while(!(PINC&_BV(DHT11_PIN)));//waitfor50usdelayMicroseconds(30);if(PINC&_BV(DHT11_PIN))result|=(1<<(7-i));while((PINC&_BV(DHT11_PIN)));//wait'1'finish}returnresult;}voidsetup(){DDRC|=_BV(DHT11_PIN);PORTC|=_BV(DHT11_PIN);Serial.begin(9600);Mirf.cePin=9;//設(shè)置CE引腳為D9Mirf.csnPin=10;//設(shè)置CE引腳為D10Mirf.spi=&MirfHardwareSpi;Mirf.init();//初始化nRF24L01//設(shè)置接收標識符"Sen01"Mirf.setRADDR((byte*)"Sen01");//設(shè)置一次收發(fā)的字節(jié)數(shù),這里發(fā)一個整數(shù),寫sizeof(unsignedint),實際等于2字節(jié)Mirf.payload=sizeof(unsignedint);//發(fā)送通道,可以填0~128,收發(fā)必須一致。Mirf.channel=5;Mirf.config();Serial.println("I'mSender...");}voidloop(){bytedht11_dat[5];bytedht11_in;bytei;unsignedintGuangmin,WenDu,ShiDu;//startcondition//1.pull-downi/opinfrom18msPORTC&=~_BV(DHT11_PIN);delay(18);PORTC|=_BV(DHT11_PIN);delayMicroseconds(40);DDRC&=~_BV(DHT11_PIN);delayMicroseconds(40);dht11_in=PINC&_BV(DHT11_PIN);if(dht11_in){Serial.println("dht11startcondition1notmet");return;}delayMicroseconds(80);dht11_in=PINC&_BV(DHT11_PIN);if(!dht11_in){Serial.println("dht11startcondition2notmet");return;}delayMicroseconds(80);//nowreadyfordatareceptionfor(i=0;i<5;i++)dht11_dat[i]=read_dht11_dat();DDRC|=_BV(DHT11_PIN);PORTC|=_BV(DHT11_PIN);bytedht11_check_sum=dht11_dat[0]+dht11_dat[1]+dht11_dat[2]+dht11_dat[3];//checkcheck_sumif(dht11_dat[4]!=dht11_check_sum){Serial.println("DHT11checksumerror");}WenDu=(unsignedint)(dht11_dat[2]);ShiDu=(unsignedint)(dht11_dat[0]);Guangmin=analogRead(A2);//Guangmin=(unsignedint)20;Serial.println(WenDu);Serial.println(ShiDu);Serial.println(Guangmin);fasong(WenDu);fasong(ShiDu);fasong(Guangmin);delay(1000);}voidfasong(unsignedintadata){bytedata[Mirf.payload];data[0]=adata&0xFF;//低八位給data[0],data[1]=adata>>8;//高八位給data[1]。//設(shè)置向"serv1"發(fā)送數(shù)據(jù)Mirf.setTADDR((byte*)"Rec01");Mirf.send(data);//while死循環(huán)等待發(fā)送完畢,才能進展下一步操作。while(Mirf.isSending()){}}控制端無線接收程序:#include

<SPI.h>

#include

<Mirf.h>

#include

<nRF24L01.h>

#include

<MirfHardwareSpiDriver.h>

int

fengshan

=

6;

int

led

=

5;

//定義一個變量adata存儲最終結(jié)果,oldadata存儲舊結(jié)果,防止一樣結(jié)果刷屏。

unsigned

int

WenDu

=

0,

ShiDu

=

0,

Guangmin

=

0;

void

setup()

{

pinMode(fengshan,

OUTPUT);

pinMode(led,

OUTPUT);

Serial.begin(9600);

Mirf.cePin

=

9;

//設(shè)置CE引腳為D9

Mirf.csnPin

=

10;

//設(shè)置CE引腳為D10

//初始化局部,不可隨時修改

Mirf.spi

=

&MirfHardwareSpi;

Mirf.init();

//初始化nRF24L01

//配置局部,可以隨時修改

//設(shè)置接收標識符"Rev01"

Mirf.setRADDR((byte

*)"Rec01");

//設(shè)置一次收發(fā)的字節(jié)數(shù),這里發(fā)一個整數(shù),

//寫sizeof(unsigned

int),實際等于2字節(jié)

Mirf.payload

=

sizeof(unsigned

int);

//發(fā)送通道,可以填0~128,收發(fā)必須一致。

Mirf.channel

=

5;

Mirf.config();

}

void

loop()

{

//定義一個暫存數(shù)組,大小為Mirf.payload。

byte

data[Mirf.payload];

if

(Mirf.dataReady())

//等待接收數(shù)據(jù)準備好

{

Mirf.getData(data);

//接收數(shù)據(jù)到data數(shù)組

WenDu

=

(unsigned

int)((data[1]

<<

8)

|

data[0]);

Mirf.getData(data);

//接收數(shù)據(jù)到data數(shù)組

ShiDu

=

(unsigned

int)((data[1]

<<

8)

|

data[0]);

Mirf.getData(data);

//接收數(shù)據(jù)到data數(shù)組

Guangmin

=

(unsigned

int)((data[1]

<<

8)

|

data[0]);

sender(WenDu);

sender(ShiDu);

delay(1050);

}

if

(25

<=

WenDu

<=

28)

analogWrite(fengshan,

51);

else

if

(29

<=

WenDu

<=

32)

analogWrite(fengshan,

153);

else

if

(WenDu

>=

33)

analogWrite(fengshan,

255);

else

analogWrite(fengshan,

0);

if

(0

<=

Guangmin

<=

60)

analogWrite(led,

255);

else

if

(61<=

Guangmin

<=

120)

analogWrite(led,

153);

else

if

(121

<=

Guangmin

<=

180)

analogWrite(led,

51);

else

digitalWrite(led,

LOW);

}

void

sender(unsigned

int

x)

{

unsigned

int

c,

d,

j

;

unsigned

int

SHU[2];

c

=

x/10;

d

=

x-c

*

10;

SHU[0]

=

c;

SHU[1]

=

d;

for

(j

=

0;

j

<

2;

j++)

{

switch

(SHU[j])

{

case

0:

Serial.print('0');

break;

case

1:

Serial.print('1');

break;

case

2:

Serial.print('2');

break;

case

3:

Serial.print('3');

break;

case

4:

Serial.print('4');

break;

case

5:

Serial.print('5');

break;

case

6:

Serial.print('6');

break;

case

7:

Serial.print('7');

break;

case

8:

Serial.print('8');

break;

default:

Serial.print('9');

break;

}

}

}控制端串口通信及液晶顯示程序:int

DI

=

12;

int

RW

=

11;

int

DB[]

=

{3,

4,

5,

6,

7,

8,

9,

10};

int

Enable

=

2;

int

Echo

=

13;

int

Trig

=

A0;

void

LcdCommandWrite(int

value)

{

int

i

=

0;

for

(i

=

DB[0];

i

<=

DI;

i++)

{

digitalWrite(i,

value

&

01);

value

>>=

1;

}

digitalWrite(Enable,

LOW);

delayMicroseconds(1);

digitalWrite(Enable,

HIGH);

delayMicroseconds(1);

digitalWrite(Enable,

LOW);

delayMicrosecon

溫馨提示

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

最新文檔

評論

0/150

提交評論