版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上山東科技大學(xué)第三屆學(xué)生電子設(shè)計大賽技術(shù)報告基于 Arduino 單片機的智能家居系統(tǒng)學(xué)院:電子通信與物理學(xué)院班級:碩研 2015 級參賽者:張榮飛曹其棟侯煥存專心-專注-專業(yè)摘要本文中我們基于 Arduino 單片機設(shè)計了一個模擬智能家居系統(tǒng)。該系統(tǒng)以ArduinoUNOR3 單片機為核心,外接光照檢測、溫濕度傳感器、 LED、風(fēng)扇和無線通信等模塊。 整個系統(tǒng)分為檢測端和控制端兩大部分, 檢測端由光敏電阻、 溫濕度傳感器、無線通信模塊和單片機組成??刂贫擞蔁o線接收、液晶顯示、電燈控制和風(fēng)扇控制四大模塊組成,包含單片機、無線通信模塊、 LCD 顯示屏、風(fēng)扇和 LED 等
2、。檢測端和控制端之間借助無線通信模塊進(jìn)行無線通信, 控制端內(nèi)部的無線接收和液晶顯示兩個模塊之間則采用串口通信。 該系統(tǒng)能夠?qū)崿F(xiàn)對室內(nèi)溫度、 濕度和光照強度等參數(shù)的實時檢測,并借助 LCD 顯示溫濕度值,還可以根據(jù)檢測端探測到的光照強度和溫度值以及預(yù)先設(shè)定的參數(shù)對室內(nèi)的電燈和風(fēng)扇進(jìn)行智能控制。關(guān)鍵詞: 智能家居; Arduino 單片機;自動控制;無線通信;液晶顯示目錄 1 緒論 .1.1.1 智能家居簡介 .1.1.2 智能家居的研究意義 .2. 2 系統(tǒng)總體設(shè)計方案 .3.2.1 系統(tǒng)框圖 .3.2.2 系統(tǒng)工作原理簡介 .3. 3 系統(tǒng)硬件設(shè)計 .4.3.1 單片機的選擇 .4.3.1.1
3、 Arduino UNO 簡介.4.3.1.2 Arduino 單片機特色 . .5.3.1.3 Arduino 單片機引腳簡介 .5.3.1.4 Arduino 單片機編程軟件 .6.3.2 溫濕度檢測模塊設(shè)計 .6.3.2.1 DHT11 概述.6.3.2.2 DHT11 引腳說明 .7.3.2.3 電源引腳 .8.3.2.4 串行接口(單線雙向) .8.3.3 光照檢測模塊設(shè)計 .8.3.4 無線通信模塊設(shè)計 .9.3.5 液晶顯示模塊設(shè)計 .9.3.5.1 液晶顯示模塊的選擇 .9.3.5.2 液晶顯示電路設(shè)計 .1.03.6 其他模塊設(shè)計 .1.1.3.6.1 電燈模塊設(shè)計 .1.1
4、3.6.2 風(fēng)扇模塊設(shè)計 .1.23.7 系統(tǒng)硬件實物圖 .1.2. 4 軟件系統(tǒng)設(shè)計 .1.3.4.1 檢測端程序設(shè)計 .1.3.4.2 控制端程序設(shè)計 .1.3.5 總結(jié) .1.5.參考文獻(xiàn) .1.5.附錄:源程序 .1.6.基于 Arduino 單片機的智能家居系統(tǒng) 1 緒論1.3 智能家居簡介智能家居很早就出現(xiàn)在人們的定義當(dāng)中, 但很長時間以來都沒有真正意義上的智能家居成型,到了 1984 年美國聯(lián)合科技公司( United Technologies Building System)將智能信息融入建筑設(shè)備中, 在整合的基礎(chǔ)上應(yīng)用到了美國康乃迪克州哈特佛市的城市地標(biāo)性建筑中時,出現(xiàn)了世界
5、上的首棟智能化建筑,也正是從那時開始,智能化家居正式融入到現(xiàn)代生活中。智能家居控制的發(fā)展關(guān)鍵在于設(shè)計理念以及經(jīng)營者的心態(tài), 市場目標(biāo)客戶真正需要什么東西,如果只注重簽單,不設(shè)身處地的為客戶著想,不兼顧智能解決未來的發(fā)展,提供片面的智能家居解決方案,而不考慮客戶的適用性,是不可取的,是急功近利的表現(xiàn),這不僅降低了智能家居的應(yīng)用效果,還不利于整個智能家居行業(yè)的發(fā)展。智能家居控制系統(tǒng)的市場不是一般普通的商品買賣,而是一項系統(tǒng)性工程,它涉及到很多技術(shù),涉及到人們生活的方方面面,智能家居控制系統(tǒng)的終極目標(biāo)是一種理想,更是一種理念,要想智能家居控制系統(tǒng)有很好的發(fā)展,研發(fā)機構(gòu)必須本著長遠(yuǎn)發(fā)展的心態(tài),本著簡化
6、、實用、性價比高、適合市場的理念,虔誠研究人們的生活、習(xí)慣、精神文化等需要,并把它看最高目標(biāo),運用各種技術(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)意識到家庭安全的重要性,把智能家居作為一個重要的方向和項目來研究, 并紛紛
7、投入大量人力財力, 使智能家居真正的走向市場和產(chǎn)業(yè)化生產(chǎn)。智能家居是一個具有交互能力的平臺, 并且通過平臺能夠把各種不同的系統(tǒng)、 協(xié)議、信息和內(nèi)容控制在相對獨立的模塊單元中進(jìn)行傳輸、交換。1基于 Arduino 單片機的智能家居系統(tǒng)1.4 智能家居的研究意義隨著人們生活水平的不斷提高,生活節(jié)奏的加快,人們不斷的對居住環(huán)境提出更高的要求,越來越注重家庭生活中每個成員的舒適、安全和便利,因此從市場需求的角度來說,智能家居必然是前景廣闊。因此設(shè)計一個符合國家國情和規(guī)范的集遠(yuǎn)程控制和本地控制為一體的智能家居控制系統(tǒng)是非常具有現(xiàn)實意義的,且勢在必行。作為智能家居的核心系統(tǒng)的智能家居的控制系統(tǒng), 它的設(shè)計
8、功能的完善必將推動住宅智能化的發(fā)展。而系統(tǒng)功能的集成化、用戶使用的傻瓜化以及市場的平民化將是智能家居控制器的發(fā)展趨勢,系統(tǒng)也將逐步邁向綠色化。最終,我想全人類的夢想是智能家居控制系統(tǒng)將囊括所有的家事雜物,讓我們真正的享受舒適溫馨的家庭生活。雖然智能家居經(jīng)過十幾年的蓬勃發(fā)展,很多功能已趨于完善和成熟,智能化家居系統(tǒng)的應(yīng)用也越來越廣泛,然而生活中的智能家居所展現(xiàn)出的智能化,與業(yè)主所理想的智能化還存在較大差距。而這也推動了智能化技術(shù)在家居領(lǐng)域的縱深發(fā)展,并為各類智能化家居新產(chǎn)品的設(shè)計和研發(fā)增加了動力,同時新產(chǎn)品的出現(xiàn),也大大豐富了智能家居系統(tǒng)的厚度。因此,將智能家居作為這次研究的主要內(nèi)容具有很大的現(xiàn)
9、實指導(dǎo)意義。本文的目的就是設(shè)計一個簡捷有效智能家居控制系統(tǒng),從溫度、濕度、光照強度的采集,到 LCD 實時顯示,并根據(jù)采集的信號不同采取相應(yīng)的應(yīng)對機制,智能控制家中的電燈、風(fēng)扇等電器設(shè)備,從而實現(xiàn)基本的智能家居功能。2基于 Arduino 單片機的智能家居系統(tǒng) 2 系統(tǒng)總體設(shè)計方案1.5 系統(tǒng)框圖智能家居控制系統(tǒng)對整個家庭內(nèi)部環(huán)境進(jìn)行監(jiān)測和及時應(yīng)對的系統(tǒng), 核心部分是單片機,通過與其他各監(jiān)測模塊和執(zhí)行模塊的連接,實現(xiàn)對室內(nèi)環(huán)境的整體改變和各元件的控制。首先,主控元件對接收到的數(shù)據(jù)(如光線強暗,溫度高低)通過 LCD 顯示模塊進(jìn)行實時顯示, 使室內(nèi)情況一目了然。 然后根據(jù)各信號采集模塊傳送給單片
10、機的數(shù)據(jù),做出應(yīng)對執(zhí)行,實現(xiàn)家居系統(tǒng)的智能控制。系統(tǒng)總體框圖如下:圖 2.1 系統(tǒng)總體框圖1.6 系統(tǒng)工作原理簡介本系統(tǒng)工作可以分為四個部分:第一部分是傳感器數(shù)據(jù)采集,將溫度傳感器、濕度傳感器以及光敏電阻分別連接到單片機上,單片機會將傳感器采集到的實時數(shù)據(jù)進(jìn)行處理;第二部分是數(shù)據(jù)傳輸,有兩個無線模塊,一個連接到單片機上作為發(fā)射端,一個連接到單片機上作為接收端,單片機將處理過的數(shù)據(jù)通過發(fā)射端發(fā)送出去,單片機通過接收端將數(shù)據(jù)接收進(jìn)來,再次進(jìn)行處理;第三部分是控制功能,單片機將接收到的數(shù)據(jù)與設(shè)定的閾值進(jìn)行比較,當(dāng)達(dá)到閾值條件時,可以啟動風(fēng)扇或者電燈,另外,溫度和光敏設(shè)定了幾個不同的閾值,當(dāng)達(dá)到某一閾
11、值會有相應(yīng)的風(fēng)扇轉(zhuǎn)速或者電燈亮度;第四部分,溫濕度顯示,單片機將通過無線方式接收到的數(shù)據(jù)采用串口通信的方3基于 Arduino 單片機的智能家居系統(tǒng)式傳給單片機,單片機是專門用來控制 LCD1602 液晶顯示屏的,得到數(shù)據(jù)后單片機將數(shù)據(jù)傳到液晶屏進(jìn)行顯示。 3 系統(tǒng)硬件設(shè)計1.7 單片機的選擇首先將所需器件羅列,根據(jù)與單片機相連的各器件,確定整個系統(tǒng)所需與單片機連接的管腳數(shù),通過查資料,選定 Arduino 單片機作為該系統(tǒng)的微控制器,因為它帶有模擬 I/O 口,在外接各類傳感器方面比普通的 51 系列單片機更為方便。 Arduino 單片機的模擬 I/O 口可以很方便地將光敏電阻和溫濕度傳感
12、器等模塊采集到的模擬量經(jīng) A/D 轉(zhuǎn)換后送給單片機進(jìn)行處理,而對數(shù)字信號的識別和處理正是 Arduino 的優(yōu)勢所在。2.3 Arduino UNO 簡介Arduino UNO 是Arduino USB 接口系列的最新版本,作為 Arduino 平臺的參考標(biāo)準(zhǔn)模板。UNO 的處理器核心是 ATmega328,同時具有 14 路數(shù)字輸入 /輸出口(其中 6 路可作為 PWM 輸出),6 路模擬輸入,一個 16MHz 晶體振蕩器,一個 USB 口,一個電源插座,一個 ICSP header和一個復(fù)位按鈕。 UNO 已經(jīng)發(fā)布到第三版,與前兩版相比有以下新的特點:在AREF 處增加了兩個管腳 SDA
13、和 SCL,支持 I2C 接口;增加 IOREF 和一個預(yù)留管腳,將來擴展板將能兼容 5V 和 3.3V 核心板。這樣改進(jìn)了復(fù)位電路設(shè)計, USB 接口芯片由 ATmega16U2替代了 ATmega8U2 。圖 2.2 為改進(jìn)后的 Arduino UNO 。圖 2.2Arduino UNO R34基于 Arduino 單片機的智能家居系統(tǒng)1.8 Arduino 單片機特色1、開放源代碼的電路圖設(shè)計,程序開發(fā)接口免費下載,也可依需求自己修改。2、使用低價格的微處理控制器 (ATMEGA8 或 ATmega128)??梢圆捎?USB 接口供電,不需外接電源,也可以使用外部 9VDC 輸入。3、A
14、rduino 支持 ISP 在線燒,可以將新的“ bootloader”固件燒入 ATmega8 或ATmega128芯片。有了 bootloader之后,可以通過串口或者 USB to Rs232線更新固件。4、可依據(jù)官方提供的 Eagle格式 PCB 和SCH 電路圖,簡化 Arduino 模組,完成獨立運作的微處理控制??珊唵蔚嘏c傳感器,各式各樣的電子元件連接 (如:紅外線、超聲波、熱敏電阻、光敏電阻、伺服馬達(dá)等 )。5、支持多種互動程序,如: Flash、Max/Msp、VVVV 、PD、C、Processing等。6、應(yīng)用方面,利用 Arduino,突破以往只能使用鼠標(biāo)、鍵盤、 CC
15、D 等輸入的裝置的互動內(nèi)容,可以更簡單地達(dá)成單人或多人游戲互動。1.9 Arduino 單片機引腳簡介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 能夠讀取的高 /低電平。解決的辦法是通過上 /下拉電阻,按照電路的不同通常又可以分為正邏輯
16、( Positive Logic)和負(fù)邏輯( Inverted Logic)兩種。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 進(jìn)一步處理。5基于 Arduino 單片機的智能家居系統(tǒng)1.10 Arduino 單片機編程軟件
17、Arduino 語言是建立在 C/C+基礎(chǔ)上的,其實也就是基礎(chǔ)的 C 語言,Arduino 語言只不過把 AVR 單片機(微控制器)相關(guān)的一些寄存器參數(shù)設(shè)置等都函數(shù)化了,不用我們?nèi)チ私馑牡讓?,讓不太了?AVR 單片機(微控制器)的朋友也能輕松上手。圖 2.3 Arduino 編程界面Arduino 語言是以 setup()開頭,loop()作為主體的一個程序構(gòu)架。官方網(wǎng)站是這樣描述 setup()的:用來初始化變量, 管腳模式,調(diào)用庫函數(shù)等等, 此函數(shù)只運行一次。loop()函數(shù)是一個循環(huán)函數(shù),函數(shù)內(nèi)的語句周而復(fù)始的循環(huán)執(zhí)行,功能類似 c 語言中的“main();”。2.4 溫濕度檢測模塊
18、設(shè)計智能家居的一個主要控制對象就是住戶室內(nèi)溫濕度, 適宜的溫濕度為主人提供良好的家居環(huán)境,這樣一來,溫濕度檢測與控制模塊就變得尤為重要??紤]到硬件電路的復(fù)雜性,本設(shè)計中選擇 DHT11 數(shù)字溫濕度傳感器來檢測室內(nèi)的溫度和濕度,這樣可以用一個傳感器檢測兩個指標(biāo),使硬件電路得以簡化。3.8 DHT11 概述DHT11 數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。 它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù), 確保產(chǎn)品具有極高的可靠性與卓越的6基于 Arduino 單片機的智能家居系統(tǒng)長期穩(wěn)定性。 傳感器包括一個電阻式感濕元件和一個 NTC 測溫元件, 并與一個高性能 8位單片
19、機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。每個 DHT11 傳感器都在極為精確的濕度校驗室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在 OTP 內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達(dá) 20 米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。圖 3.1 DHT11 實物圖1.11 DHT11 引腳說明引腳號引腳名稱類型引腳說明1 VCC 電源正電源輸入, 3V-5.5V DC2 Dout
20、輸出單總線,數(shù)據(jù)輸入 /輸出引腳3 NC 空空腳,擴展未用4 GND 地電源地圖 3.2 DHT11 典型應(yīng)用電路7基于 Arduino 單片機的智能家居系統(tǒng)1.12 電源引腳DHT11 的供電電壓為 35.5V。傳感器上電后, 要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳( VDD ,GND)之間可增加一個 100nF 的電容,用以去耦濾波。1.13 串行接口(單線雙向)DATA 用于微處理器與 DHT11 之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間 4ms左右,用戶 MCU 發(fā)送一次開始信號后 ,,DHT11 從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,
21、 DHT11 發(fā)送響應(yīng)信號,送出 40bit 的數(shù)據(jù),并觸發(fā)一次信號采集, 用戶可選擇讀取部分?jǐn)?shù)據(jù)。 從模式下,DHT11 接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號, DHT11 不會主動進(jìn)行溫濕度采集, 采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。2.5 光照檢測模塊設(shè)計光敏電阻特性是在不同光照強度下,其阻值發(fā)生變化(只要是人眼可感受的光,都會引起它的阻值變化) 。利用這一特性,我們把光敏電阻接入電路實現(xiàn)光照強度檢測。圖 3.3 光照檢測電路示意圖亮度檢測電路工作原理:我們把光敏電阻接入電路后,光敏電阻置于窗口處,由于光線的變化,其阻值也在一定時間內(nèi)不斷變化,從而產(chǎn)生連續(xù)的電信號,通過
22、模擬 I/O口進(jìn)入單片機。由于單片機內(nèi)部自帶 A/D 轉(zhuǎn)換電路,通過相應(yīng)程序,能使模擬 I/O 口傳來的電信號轉(zhuǎn)換成數(shù)字信號,單片機讀取這些數(shù)字信號,就能得出相應(yīng)的光照強度,并決定是否啟動其他應(yīng)對措施。8基于 Arduino 單片機的智能家居系統(tǒng)1.14 無線通信模塊設(shè)計考慮到系統(tǒng)的普遍適用性和硬件電路實現(xiàn)的難易程度,本次設(shè)計中選取 NRF24L01無線模塊作為系統(tǒng)的無線通信模塊, 該模塊既可以用于發(fā)送數(shù)據(jù), 也可以用于接收數(shù)據(jù),且易于編程操作。 NRF24L01 無線模塊主要特點如下:(1) 2.4Ghz 全球開放 ISM 頻段免許可證使用;(2) 最高工作速率 2Mbps,高效 GFSK
23、調(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)工作于 Enhanced ShockBurst
24、具有 Automatic packethandling, Auto packettransaction handling,具有可選的內(nèi)置包應(yīng)答機制,極大的降低丟包率。1.15 液晶顯示模塊設(shè)計2.6 液晶顯示模塊的選擇LCD1602 屏幕為 2 行,每行顯示 16 個字符,為字符型顯示器,只能顯示數(shù)字和字符,不可以顯示漢字。 LCD12864 屏幕為 64 行,每行顯示 128 個字符,為點陣型顯示器,可根據(jù)需求任意顯示字符,數(shù)字,漢字和圖形。綜合價格因素和實際應(yīng)用的需要,選用 LCD1602 為改家居系統(tǒng)的顯示器。 下面詳細(xì)介紹一下 LCD1602 的功能實現(xiàn)和各項參數(shù)。LCD1602 主要
25、技術(shù)參數(shù):顯示容量:16 2 個字符芯片工作電壓 :4.55.5V工作電流:2.0mA(5.0V)9基于 Arduino 單片機的智能家居系統(tǒng)模塊最佳工作電壓 :5.0V字符尺寸:2.95 4.35(W H)mmLCD1602 相比傳統(tǒng)顯示器的幾個突出優(yōu)點:(1)顯示質(zhì)量高由于液晶顯示器收到信號后的每一個點都會一直保持原有亮度和顏色,恒定發(fā)光。而不像陰極射線管顯示器( CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器既不會閃爍,又保證了畫質(zhì)高。(2)數(shù)字式接口液晶顯示器的輸入輸出采用數(shù)字量,和主控芯片( SCM)的接口連接更加簡單可靠,操作也更為簡便。(3)重量輕,體積小液晶顯示器通過顯示屏上
26、的電極控制液晶分子狀態(tài)來達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。(4)功耗低相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動 IC 上,因而耗電量比其他顯示器要少得多。LCD1602 分為帶背光和不帶背光兩種,基控制器大部分為 HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別。1.16 液晶顯示電路設(shè)計圖 3.4 液晶顯示電路示意圖液晶顯示電路工作原理: 液晶顯示器 LCD1602 通過 714 管腳的數(shù)據(jù)總線與單片機進(jìn)行數(shù)據(jù)傳送,單片機通過輸出高地電平來控制液晶顯示器 LCD1602 的 46 管腳配合傳送的數(shù)據(jù)決定讀 /寫數(shù)據(jù),并通過 LCD 顯
27、示屏顯示出來。期間單片機是控制元件,而LCD1602 為顯示和執(zhí)行元件。10基于 Arduino 單片機的智能家居系統(tǒng)1.17 其他模塊設(shè)計2.7 電燈模塊設(shè)計本次系統(tǒng)設(shè)計中用發(fā)光二極管 LED 來替代實際場景中的電燈。LED 發(fā)光原理發(fā)光二極管是由-族化合物, 如 GaAs(砷化鎵)、GaP(磷化鎵)、GaAsP(磷砷化鎵)等半導(dǎo)體制成的,其核心是 PN 結(jié)。因此它具有一般P-N 結(jié)的 I-N 特性,即正向?qū)ǎ聪蚪刂?、擊穿特性。此外,在一定條件下,它還具有發(fā)光特性。在正向電壓下,電子由 N 區(qū)注入 P 區(qū),空穴由 P區(qū)注入 N 區(qū)。進(jìn)入對方區(qū)域的少數(shù)載流子 (少子 )一部分與多數(shù)載流子
28、(多子 )復(fù)合而發(fā)光。假設(shè)發(fā)光是在 P 區(qū)中發(fā)生的 ,那么注入的電子與價帶空穴直接復(fù)合而發(fā)光 ,或者先被發(fā)光中心捕獲后,再與空穴復(fù)合發(fā)光。除了這種發(fā)光復(fù)合外,還有些電子被非發(fā)光中心(這個中心介于導(dǎo)帶、介帶中間附近)捕獲,而后再與空穴復(fù)合,每次釋放的能量不大,不能形成可見光。發(fā)光的復(fù)合量相對于非發(fā)光復(fù)合量的比例越大,光量子效率越高。由于復(fù)合是在少子擴散區(qū)內(nèi)發(fā)光的,所以光僅在靠近 PN 結(jié)面數(shù) m 以內(nèi)產(chǎn)生。理論和實踐證明,光的峰值波長 與發(fā)光區(qū)域的半導(dǎo)體材料禁帶寬度 Eg有關(guān),即 1240/Eg(mm)式中 Eg 的單位為電子伏特 (eV)。若能產(chǎn)生可見光 (波長在 380nm紫光780nm 紅
29、光 ),半導(dǎo)體材料的 Eg 應(yīng)在 3.261.63eV 之間。比紅光波長長的光為紅外光?,F(xiàn)在已有紅外、紅、黃、綠及藍(lán)光發(fā)光二極管,但其中藍(lán)光二極管成本、價格很高,使用不普遍。LED 的應(yīng)用由于發(fā)光二極管的顏色、尺寸、形狀、發(fā)光強度及透明情況等不同,所以使用發(fā)光二極管時應(yīng)根據(jù)實際需要進(jìn)行恰當(dāng)選擇。由于發(fā)光二極管具有最大正向電流 IFm、最大反向電壓VRm 的限制,使用時,應(yīng)保證不超過此值。為安全起見,實際電流 IF 應(yīng)在3.9 IFm 以下;應(yīng)讓可能出現(xiàn)的反向電壓VR0。6VRm。LED 被廣泛用于種電子儀器和電子設(shè)備中 ,可作為電源指示燈、 電平指示或微光源之用。 紅外發(fā)光管常被用于電視機、
30、錄像機等的遙控器中。在連接電路時,首先應(yīng)正確區(qū)分 LED 的正負(fù)極,避免正負(fù)極戒飯導(dǎo)致無法使用甚至燒壞元件。 LED 的兩只引腳中,長的一根為正極,短的一根為負(fù)極,連接電路時,正極接一個 220的電阻,電阻另一端接單片機的數(shù)字I/O 口,負(fù)極接地。11基于 Arduino 單片機的智能家居系統(tǒng)1.18 風(fēng)扇模塊設(shè)計本設(shè)計中,采用普通的直流電機帶動扇葉來模擬實際場景中的風(fēng)扇。直流風(fēng)扇的兩個接線端不分正負(fù), 一端接地,另一端接單片機數(shù)字 I/O 口即可,根據(jù)系統(tǒng)設(shè)計的要求,通過程序控制輸出到電機的電壓不同來改變電機轉(zhuǎn)速, 從而實現(xiàn)根據(jù)溫度變化和預(yù)設(shè)參數(shù)改變風(fēng)扇轉(zhuǎn)速的目的。2.8 系統(tǒng)硬件實物圖根據(jù)
31、上述各模塊的硬件設(shè)計,最后做出的實物圖如下:圖3.5 模擬智能家居硬件實物圖12基于 Arduino 單片機的智能家居系統(tǒng) 4 軟件系統(tǒng)設(shè)計1.19 檢測端程序設(shè)計檢測端由單片機、光照檢測模塊、溫濕度檢測模塊和無線通信模塊組成,相應(yīng)的程序包括光照檢測程序、溫濕度檢測程序和無線通信程序,部分程序如下圖所示,完整的程序在附錄中。圖 4.1 檢測端部分程序1.20 控制端程序設(shè)計控制端由單片機、液晶顯示模塊、電燈模塊、風(fēng)扇模塊和無線通信模塊組成,相應(yīng)的程序包括無線接收程序、串口通信程序、顯示程序、風(fēng)扇和電燈控制程序,部分程序如下圖所示,完整的程序在附錄中。13基于 Arduino 單片機的智能家居系
32、統(tǒng)圖4.2 無線接收部分程序圖4.3 液晶顯示部分程序14基于 Arduino 單片機的智能家居系統(tǒng) 5 總結(jié)本次設(shè)計的模擬智能家居系統(tǒng)滿足了所有的系統(tǒng)設(shè)計要求, 完成了對溫濕度的實時監(jiān)測和現(xiàn)實,得到的最終結(jié)果誤差也在要求的范圍之內(nèi), 而且完成了根據(jù)光照強度變化、溫度變化和預(yù)設(shè)參數(shù)對電燈和風(fēng)扇進(jìn)行智能控制的任務(wù),取得了令人滿意的成果。通過本次設(shè)計,使我對基于單片機的智能控制有了更多的了解和掌握,在科技飛速發(fā)展的今天,科技意味著第一生產(chǎn)力,機器智能正在越來越多的方面取代人工操作,作為智能控制在工業(yè)應(yīng)用的代表性成果, 它結(jié)合了程序調(diào)控, 提供了定時控制、 計數(shù)控制、步進(jìn)控制以及數(shù)據(jù)處理等多種功能,
33、具有人工作業(yè)無法比擬的優(yōu)越性和精確性。隨著科技的發(fā)展,基于單片機的智能控制功能也會不斷擴大,各項性能也將不斷提高。參考文獻(xiàn)1張鑫.單片機原理及應(yīng)用 M. 北京:電子工業(yè)出版社, 20082童詩白,華成英.模擬電子技術(shù)基礎(chǔ) M. 北京:高等教育出版社, 20013王港元.電工電子實踐指導(dǎo) M. 南昌:江西科學(xué)技術(shù)出版社, 20064李朝青.PC機及單片機數(shù)據(jù)通信技術(shù),北京,北京航空航天大學(xué)出版社, 20005藍(lán)宇電子研發(fā)團(tuán)隊 .Arduino 設(shè)計M.6湯凱,劉洋,續(xù)欣.Arduino 程序設(shè)計指南 M. 北京:電子工業(yè)出版社, 20157趙光宙.信號分析與處理 M. 北京:機械工業(yè)出版社, 2
34、0108張國雄.測控電路(第四版) M. 北京:機械工業(yè)出版社, 201115基于 Arduino 單片機的智能家居系統(tǒng)附錄:源程序檢測端發(fā)送程序:#include #include #include #include #define DHT11_PIN 0 / ADC0 接到模擬口 0byte read_dht11_dat()byte i = 0;byte result = 0;for (i = 0; i 8; i+) while (!(PINC & _BV(DHT11_PIN); / wait for 50usdelayMicroseconds(30);if (PINC & _BV(DHT
35、11_PIN)result |= (1 (7 - i);while (PINC & _BV(DHT11_PIN); / wait 1 finishreturn result;void setup()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è)置接收標(biāo)識符 Sen01Mirf.s
36、etRADDR(byte *)Sen01);/設(shè)置一次收發(fā)的字節(jié)數(shù),這里發(fā)一個整數(shù),寫 sizeof(unsigned int) ,實際等于 2 字節(jié)Mirf.payload = sizeof(unsigned int);/發(fā)送通道,可以填 0128,收發(fā)必須一致。Mirf.channel = 5;Mirf.config();Serial.println(Im Sender.);16基于 Arduino 單片機的智能家居系統(tǒng)void loop() byte dht11_dat5;byte dht11_in;byte i;unsigned intGuangmin,WenDu,ShiDu;/ st
37、art condition/ 1. pull-down i/o pin from 18msPORTC &= _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(dht11 start condition 1 not met);return;delayMicroseconds(80);dht11_
38、in = PINC & _BV(DHT11_PIN);if (!dht11_in) Serial.println(dht11 start condition 2 not met);return;delayMicroseconds(80);/ now ready for data receptionfor (i = 0; i 8; /高八位給 data1。/設(shè)置向 serv1 發(fā)送數(shù)據(jù)Mirf.setTADDR(byte *)Rec01);Mirf.send(data);/while 死循環(huán)等待發(fā)送完畢,才能進(jìn)行下一步操作。while (Mirf.isSending() 控制端無線接收程序:#i
39、nclude #include #include #include 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 引腳為 D9Mirf.csnPin = 10; / 設(shè)置 CE 引腳為 D10/-
40、初始化部分,不可隨時修改 -Mirf.spi = &MirfHardwareSpi;Mirf.init(); / 初始化 nRF24L01/- 配置部分,可以隨時修改 -/設(shè)置接收標(biāo)識符 Rev01Mirf.setRADDR(byte *)Rec01);/設(shè)置一次收發(fā)的字節(jié)數(shù),這里發(fā)一個整數(shù),/寫 sizeof(unsigned int) ,實際等于 2 字節(jié)Mirf.payload = sizeof(unsigned int);/發(fā)送通道,可以填 0128,收發(fā)必須一致。18基于 Arduino 單片機的智能家居系統(tǒng)Mirf.channel = 5;Mirf.config();void lo
41、op()/定義一個暫存數(shù)組,大小為 Mirf.payload 。byte dataMirf.payload;if (Mirf.dataReady() / 等待接收數(shù)據(jù)準(zhǔn)備好Mirf.getData(data); / 接收數(shù)據(jù)到 data 數(shù)組WenDu = (unsigned int)(data1 8) | data0);Mirf.getData(data); / 接收數(shù)據(jù)到 data 數(shù)組ShiDu = (unsigned int)(data1 8) | data0);Mirf.getData(data); / 接收數(shù)據(jù)到 data 數(shù)組Guangmin = (unsigned int)(d
42、ata1 8) | data0);sender(WenDu);sender(ShiDu);delay(1050);if (25 = WenDu = 28)analogWrite(fengshan, 51);else if (29 = WenDu = 33)analogWrite(fengshan, 255);elseanalogWrite(fengshan, 0);if (0 = Guangmin = 60)analogWrite(led, 255);else if (61= Guangmin = 120)analogWrite(led, 153);else if (121 = Guangmi
43、n = 180)analogWrite(led, 51);elsedigitalWrite(led, LOW);void sender(unsigned int x) unsigned int c, d, j ;unsigned int SHU2;c = x/10;d = x-c * 10;SHU0 = c;19基于 Arduino 單片機的智能家居系統(tǒng)SHU1 = d;for (j = 0; j 2; j+) switch (SHUj) 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:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年瓦工項目承攬協(xié)議樣本版B版
- 2024年度運輸中介專業(yè)服務(wù)與承運企業(yè)合作協(xié)議3篇
- 2024水產(chǎn)養(yǎng)殖產(chǎn)品溯源體系合作協(xié)議3篇
- 2024年長期雇傭合同范本
- 2024擔(dān)保合作協(xié)議書
- 2024新型氣象觀測站設(shè)備供應(yīng)商采購與培訓(xùn)合同3篇
- 2024房地產(chǎn)聯(lián)合開發(fā)合作的協(xié)議書范本
- 2024年退休企業(yè)高管返聘企業(yè)戰(zhàn)略咨詢合同
- 2024房地產(chǎn)項目合作開發(fā)協(xié)議書范本
- 2025年四氟丙烯合作協(xié)議書
- 湖南2025年湖南電氣職業(yè)技術(shù)學(xué)院招聘14人歷年參考題庫(頻考版)含答案解析
- 生物除臭系統(tǒng)施工方案
- 《電工技術(shù)》課件-電氣安全及電氣火災(zāi)預(yù)防
- 湖南省湘西州吉首市2023屆九年級上學(xué)期期末素質(zhì)監(jiān)測數(shù)學(xué)試卷(含解析)
- 2023-2024學(xué)年湖北省武漢市東西湖區(qū)三年級(上)期末數(shù)學(xué)試卷
- GB/T 31771-2024家政服務(wù)母嬰護(hù)理服務(wù)質(zhì)量規(guī)范
- 2023-建筑施工技02課件講解
- 期末試卷:福建省廈門市集美區(qū)2021-2022學(xué)年八年級上學(xué)期期末歷史試題(原卷版)
- 美容院2024年度規(guī)劃
- 裝飾裝修巡查記錄表
- 公司安全生產(chǎn)事故隱患內(nèi)部報告獎勵工作制度
評論
0/150
提交評論