智慧宿舍電子設(shè)計(jì)技術(shù)報(bào)告.doc
《智慧宿舍電子設(shè)計(jì)技術(shù)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《智慧宿舍電子設(shè)計(jì)技術(shù)報(bào)告.doc(10頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
電子設(shè)計(jì)技術(shù)報(bào)告 題 目: 智慧宿舍 學(xué) 院: 電子通信與物理學(xué)院 專 業(yè): 電子與通信工程 時(shí) 間: 2016 年 5月 17 日 1.設(shè)計(jì)目的與要求 智能家居是在互聯(lián)網(wǎng)影響之下物聯(lián)化的體現(xiàn)。智能家居通過物聯(lián)網(wǎng)技術(shù)將家中的各種設(shè)備(如音視頻設(shè)備、照明系統(tǒng)、窗簾控制、空調(diào)控制、安防系統(tǒng)、數(shù)字影院系統(tǒng)、影音服務(wù)器、影柜系統(tǒng)、網(wǎng)絡(luò)家電等)連接到一起,提供家電控制、照明控制、電話遠(yuǎn)程控制、室內(nèi)外遙控、防盜報(bào)警、環(huán)境監(jiān)測、暖通控制、紅外轉(zhuǎn)發(fā)以及可編程定時(shí)控制等多種功能和手段。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,兼?zhèn)浣ㄖ?、網(wǎng)絡(luò)通信、信息家電、設(shè)備自動(dòng)化,提供全方位的信息交互功能,甚至為各種能源費(fèi)用節(jié)約資金。 本設(shè)計(jì)制作了一個(gè)簡單的智能家居系統(tǒng),實(shí)現(xiàn)對室內(nèi)溫度、濕度以及光照強(qiáng)度的檢測,并通過無線網(wǎng)絡(luò)上傳至終端,實(shí)現(xiàn)用戶的實(shí)時(shí)查看。同時(shí),當(dāng)溫度超過25攝氏度或濕度超過60%時(shí)自動(dòng)開啟風(fēng)扇,以使室內(nèi)能一直處于人體舒適環(huán)境。當(dāng)光照強(qiáng)度低于200lx時(shí),自動(dòng)開燈。 2.設(shè)計(jì)實(shí)現(xiàn)方案 2.1系統(tǒng)框圖 為實(shí)現(xiàn)上述功能,我們采用Arduino模塊為控制模塊,以協(xié)調(diào)各個(gè)模塊之間的工作;溫度和濕度采集模塊采用DHT11模塊,可以同時(shí)檢測溫度和濕度,溫度用攝氏度表示,濕度用空氣中實(shí)際水汽壓與當(dāng)時(shí)氣溫下的飽和水汽壓之比的百分?jǐn)?shù)表示;無線傳輸模塊采用ESP8266的無線WIFI模塊。 控制器 Arduino模塊 溫濕度采集模塊DHT11 光強(qiáng)度檢測模塊GY-30 無線傳輸模塊 ESP8266 風(fēng)扇 LED燈 圖1 系統(tǒng)框圖 2.2 各模塊具體實(shí)現(xiàn) 2.2.1 控制器Arduino模塊 Arduino是一款便捷靈活、方便上手的開源電子原型平臺(tái)。包含硬件(各種型號(hào)的Arduino板)和軟件(Arduino IDE)。它構(gòu)建于開放原始碼simple I/O介面版,并且具有使用類似Java、C語言的Processing/Wiring開發(fā)環(huán)境。主要包含兩個(gè)主要的部分:硬件部分是可以用來做電路連接的Arduino電路板;另外一個(gè)則是Arduino IDE,你的計(jì)算機(jī)中的程序開發(fā)環(huán)境。你只要在IDE中編寫程序代碼,將程序上傳到Arduino電路板后,程序便會(huì)告訴Arduino電路板要做些什么了。Arduino能通過各種各樣的傳感器來感知環(huán)境,通過控制燈光、馬達(dá)和其他的裝置來反饋、影響環(huán)境。 我們采用Arduino模塊是因?yàn)樗哂泻芏鄡?yōu)點(diǎn): 1. 跨平臺(tái) Arduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系統(tǒng)上運(yùn)行,而其他的大多數(shù)控制器只能在Windows上開發(fā)。 2. 簡單清晰 Arduino IDE基于processing IDE開發(fā)。對于初學(xué)者來說,極易掌握,同時(shí)有著足夠的靈活性。Arduino語言基于wiring語言開發(fā),是對 AVRGCC庫的二次封裝,不需要太多的單片機(jī)基礎(chǔ)、編程基礎(chǔ),簡單學(xué)習(xí)后,你也可以快速的進(jìn)行開發(fā)。 3. 開放性 Arduino的硬件原理圖、電路圖、IDE軟件及核心庫文件都是開源的,在開源協(xié)議范圍內(nèi)里可以任意修改原始設(shè)計(jì)及相應(yīng)代碼。 4. 發(fā)展迅速 Arduino不僅僅是全球最流行的開源硬件,也是一個(gè)優(yōu)秀的硬件開發(fā)平臺(tái),更是硬件開發(fā)的趨勢。Arduino簡單的開發(fā)方式使得開發(fā)者更關(guān)注創(chuàng)意與實(shí)現(xiàn),更快的完成自己的項(xiàng)目開發(fā),大大節(jié)約了學(xué)習(xí)的成本,縮短了開發(fā)的周期。 2.2.2 溫濕度采集模塊 溫濕度采集模塊我們采用DHT11模塊。DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,使其成為該類應(yīng)用中,在苛刻應(yīng)用場合的最佳選擇。產(chǎn)品為4針單排引腳封裝,連接方便。 圖2 DHT11與單片機(jī)的接線圖 控制器Arduino模塊讀取DHT11的數(shù)據(jù)后通過無線WIFI網(wǎng)絡(luò)傳輸至終端,并且根據(jù)讀取的數(shù)值來判斷是否開啟電風(fēng)扇。當(dāng)讀取的溫度值超過25攝氏度時(shí),控制器Arduino模塊則向電風(fēng)扇發(fā)送開啟命令;當(dāng)讀取的濕度至超過60%時(shí),控制器Arduino模塊也向電風(fēng)扇發(fā)送開啟命令;否則電風(fēng)扇處于關(guān)閉狀態(tài)。 2.2.3 光強(qiáng)度采集模塊 光強(qiáng)度采集模塊我們采用GY-30模塊。GY-30模塊是數(shù)字光強(qiáng)度檢測模塊,核心芯片采用ROHM原裝BH1750FVI芯片。BH1750FVI芯片是一種用于兩線式串行總線(I2C總線)接口的數(shù)字型光強(qiáng)度傳感器集成電路,該集成電路可以根據(jù)收集的光線強(qiáng)度數(shù)據(jù)來調(diào)整燈光的亮度,利用它的高分辨率可以探測較大范圍的光強(qiáng)度變化(1~65535lx)。GY-30模塊供電電源為3~5V,光照度范圍是0~65535lx,傳感器內(nèi)置16位A/D轉(zhuǎn)換器直接數(shù)字輸出。方便的是,模塊內(nèi)部省略復(fù)雜的計(jì)算,省略標(biāo)定,不區(qū)分環(huán)境光源,接近于視覺靈敏度的分光特性,可對廣泛的亮度進(jìn)行1lx的高精度測定。 圖3 GY-30模塊引腳圖 控制器Arduino模塊讀取GY-30的數(shù)據(jù),根據(jù)讀取的數(shù)值來判斷是否開啟LED燈。當(dāng)讀取的光照強(qiáng)度值小于200時(shí),控制器Arduino模塊則向LED燈發(fā)送開啟命令。 2.2.4 無線傳輸模塊 無線傳輸模塊我們采用WIFI的ESP8266模塊。ESP8266是一款超低功耗的UART-WiFi 透傳模塊,擁有業(yè)內(nèi)極富競爭力的封裝尺寸和超低能耗技術(shù),專為移動(dòng)設(shè)備和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì),可將用戶的物理設(shè)備連接到Wi-Fi 無線網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信,實(shí)現(xiàn)聯(lián)網(wǎng)功能。ESP8266封裝方式多樣,天線可支持板載PCB天線,IPEX接口和郵票孔接口三種形式;ESP8266可廣泛應(yīng)用于智能電網(wǎng)、智能交通、智能家具、手持設(shè)備、工業(yè)控制等領(lǐng)域。ESP8266硬件接口豐富,可支持UART,IIC,PWM,GPIO,ADC等,適用于各種物聯(lián)網(wǎng)應(yīng)用場合。 ESP8266模塊支持STA/AP/STA+AP 三種工作模式。 STA 模式:ESP8266模塊通過路由器連接互聯(lián)網(wǎng),手機(jī)或電腦通過互聯(lián)網(wǎng)實(shí)現(xiàn)對設(shè)備的遠(yuǎn)程控制。 AP 模式:ESP8266模塊作為熱點(diǎn),實(shí)現(xiàn)手機(jī)或電腦直接與模塊通信,實(shí)現(xiàn)局域網(wǎng)無線控制。 STA+AP 模式:兩種模式的共存模式,即可以通過互聯(lián)網(wǎng)控制可實(shí)現(xiàn)無縫切換,方便操作。 圖4 ESP8266模塊引腳圖 3.設(shè)計(jì)測試結(jié)果 綜合以上內(nèi)容,將各個(gè)模塊連接到Arduino控制器上,并將每個(gè)模塊實(shí)現(xiàn)的程序封裝成函數(shù),系統(tǒng)調(diào)用每個(gè)模塊實(shí)現(xiàn)的函數(shù)。將系統(tǒng)程序在Arduino IDE上編譯并上傳至Arduino模塊,即可達(dá)到本設(shè)計(jì)的要求。 4.部分模塊實(shí)現(xiàn)程序 1.Arduino對溫濕度模塊控制程序: #define DHT11_PIN 0 int fengshan=7;//風(fēng)扇接口 byte read_dht11_dat() { byte i = 0; byte result = 0; for(i=0;i<8;i++) { while(!(PINC&_BV(DHT11_PIN))); delayMicroseconds(30); if(PINC&_BV(DHT11_PIN)) result|=(1<<(7-i)); while((PINC&_BV(DHT11_PIN))); } return result; } void setup() { DDRC|=_BV(DHT11_PIN); PORTC|=_BV(DHT11_PIN); pinMode(Buzzer,OUTPUT); Serial.begin(9600); Serial.println("Ready"); } void loop() { byte dht11_dat[5]; byte dht11_in; byte i; PORTC &= ~_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_in=PINC & _BV(DHT11_PIN); if(!dht11_in) { Serial.println("dht11 start condition 2 not met"); return; } delayMicroseconds(80); for(i=0;i<5;i++) //獲取40位溫濕度數(shù)據(jù) dht11_dat[i]=read_dht11_dat(); DDRC|=_BV(DHT11_PIN); PORTC|=_BV(DHT11_PIN); byte dht11_check_sum = dht11_dat[0]+dht11_dat[1]+dht11_dat[2]+dht11_dat[3]; if(dht11_dat[4]!=dht11_check_sum) //校驗(yàn) { Serial.println("DHT11 checksum error"); } Serial.print("Current humdity= "); Serial.print(dht11_dat[0],DEC); //顯示濕度整數(shù)部分 Serial.print("."); Serial.print(dht11_dat[1],DEC); //顯示濕度小數(shù)部分 Serial.println("%"); Serial.print("temperature= "); Serial.print(dht11_dat[2],DEC); //顯示溫度整數(shù)部分 Serial.print("."); Serial.print(dht11_dat[3],DEC); //顯示溫度小數(shù)部分 Serial.println("C"); if(dht11_dat[0]>60) digitalWrite(fengshan,HIGH); else digitalWrite(fengshan,LOW); if(dht11_dat[2]<26) digitalWrite(fengshan,LOW); else digitalWrite(fengshan,HIGH); delay(2000); } 2. Arduino對光強(qiáng)度模塊控制程序: #include- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 智慧 宿舍 電子設(shè)計(jì) 技術(shù) 報(bào)告
鏈接地址:http://www.820124.com/p-9057125.html