浙江省杭州第十四中學 張嵩灝
基于STC89C52單片機的智能家居的設計
浙江省杭州第十四中學 張嵩灝
本系統采用STC89C52單片機作為主控核心,搭配三杯風風速傳感器、紅外對管、PM2.5傳感器、溫濕度傳感器等模塊,設計了一款智能家居系統。通過溫濕度傳感器對室內環境的舒適度(包括溫度和濕度)進行實時監測,與人為預先設定好的閾值進行比較,動態地調節加濕器的開關及空調的溫度。同時,通過三杯風風速傳感器定時捕獲室外風速的信息,若風速超過一定閾值,系統驅動電機,關閉窗戶,從而避免外界塵土或者刮風下雨等惡劣氣候影響室內環境。此外,為了更好的適應抵抗力較差的老人和嬰兒,本系統添加了對室內空氣的監測。通過PM2.5傳感器定時檢查室內空氣的質量,并根據PM2.5濃度的高低,自動化地驅動空氣凈化器的開與關?;谏鲜龅脑O計,本系統實現了對室外、室內環境的監測,并根據參數指標進行合理、智能的調節相對應的傳感器,以提供給人們最舒適的生活環境,讓人們充分體驗智能化家居給生活帶來的巨大便捷。
STC89C52單片機;風速傳感器;PM2.5傳感器;溫濕度傳感器;智能家居
步入21世紀以來,隨著經濟地飛速發展,科技日益騰飛?!爸悄芑钡母拍钪饾u進入人們的視野中,并影響著人們的生活。人們熱愛并享受著高科技—“智能化設備”給他們生活帶來的巨大便捷。然而,市面上一體化的智能設備還遠沒有“飛入平常百姓家”,最主要的因素來源于復雜控制系統的高昂費用,普通老百姓對其望而卻步。因此,開發一款低成本、智能化的家居,以滿足廣大用戶的需求就顯得尤其最要。
基于此,本文選用結構簡單,價格低廉的STC89C52單片機作為主控核心,搭配SDS011粉塵傳感器、溫濕度傳感器等,對室內及室外環境進行實時監測,并根據指標動態調節傳感器的參數,給人們營造出了一個最佳的生活環境。
本文設計了一個基于STC89C52單片機的智能家居系統。采用DHT11溫濕度一體化的傳感器獲取室內的溫度和濕度;風速的大小值則是由BCQ-FS-TTL8三杯風風速傳感器采集;SDS011傳感器負責室內粉塵濃度(PM2.5)數據的捕獲,并通過串口實時傳到上位機,上位機可以很直觀地觀察室內的空氣質量,并定時將數據送到單片機內部,從而控制是否啟動空氣凈化器;同時,搭配L298N模塊驅動直流電機,控制窗戶的智能開關。此外,空調的智能控制是通過紅外對管模塊實現,其中,紅外發射管發射的載波信號頻率為38KHz,是由單片機內部的定時器產生的。系統的總體框架圖如圖1所示。
DHT11是一個基于單總線(即地址信號、 數據信號 控制信號均在同一根總線上傳輸)的傳感器。該傳感器共有四根引腳,其中,VDD引腳接3V~5.5V的電壓,GND引腳與單片機的GND引腳接在一起(即兩者共地),信號引腳則與單片機P1.3引腳相連接,將數字信號的數據傳輸至單片機內部 ,最后一根引腳默認懸空。此外,DHT11傳感器需要上拉一個至少5KΩ的電阻來增大驅動電流(通常,電阻的選擇為10KΩ)。
首先,單片機找到DHT11傳感器的地址,并發送一個至少18ms的低電平請求響應,再拉高電平延時等待;DHT11傳感器接收到單片機的開始信號后,等待單片機開始信號結束,然后發送80us低電平響應信號;DHT11傳感器發送響應信號后,再把總線拉高80us,準備向單片機發送數據接。一次完整的數據傳輸為40bit,包括8位濕度整+8位濕度小數+8位溫度整數+8位溫度小數+8位是校驗和(用來檢驗數據真偽)。此外,每1個bit的數據都從50μs的低電平開始,并根據高電平持續時間的不同來區分邏輯0電平和邏輯1電平。其中,26~28μs的高電平時間表示邏輯“0”,70μs的高電平時間表示邏輯“1”。
本文通過計算三杯風風速傳感器單位時間內輸出的脈沖個數來計算其所對應的風速。該傳感器每轉動一圈產生八個脈沖,每6個脈沖代表1米,風速的計算公式如2-2-1所示:
三杯風風速傳感器共有三個引腳。其中,VCC引腳接+5V電源,GND引腳與單片機共地,余下的一根引腳則為信號引腳,與單片機P3.2引腳相接,該傳感器根據風速的大小從信號引腳輸出相對應的脈沖。值得注意的是,應該上拉5KΩ~20KΩ的電阻來增大驅動電流(電阻的一端接在VCC上,另一端接至信號引腳上)。此外,三杯風風速傳感器的啟動風速是0.2m/s,即風速大于下限值0.2m/s時,信號引腳才會有相對應的脈沖產生。

L298N驅動具有兩種工作模式,一方面,當使能A(控制電機A)、使能B(控制電機B)時,可以分別從IN1、IN2輸入PWM(Pulse Width Modulation)信號來控制電機A的轉速和方向。同時,可以分別從IN3、IN4輸入相同PWM脈沖信號來控制電機B的轉速和方向。另一方面,若禁止A和B使能時,即可通過單片機向IN1、IN2、IN3、IN4四個引腳輸入邏輯“1”和邏輯“0”來控制電機A和電機B。
SDS011 粉塵傳感器采用激光散射原理,能夠得到空氣中 0.3~10μm懸浮顆粒物濃度。當激光照射到通過檢測位置的顆粒物時會產生微弱的光散射,在特定方向上的光散射波形與顆粒直徑有關,通過不同粒徑的波形分類統計及換算公式可以得到不同粒徑的實時顆粒物的數量濃度,按照標定方法得到跟官方單位統一的質量濃度(μg/)。
51單片機根據DHT11采集的溫度數據,將相對應的空調狀態的紅外編碼數據(即調節空調溫度、開啟空調、關閉空調的紅外編碼數據)調制到38KHz載波上,然后通過紅外發射管發射出去。其中,38K的載波可以通過單片機定時器產生。根據廣泛使用的NEC協議(紅外遙控協議的一種),發射的控制信號數據共包含五個字節,1個字節引導碼 +1個字節用戶碼 +1個字節用戶反碼+1個字節數據碼+1個字節數據反碼。

軟件采用C語言編寫,整個系統在主函數(main函數)中循環執行。系統的流程圖如圖2所示。DHT11傳感器負責采集室內溫度和濕度數據,三杯風風速傳感器負責捕獲室外的風速信號,SDS011粉塵傳感器則負責收集室內PM2.5的濃度。
由于每個脈沖均包含一個上升沿和一個下降沿,因此考慮采用單片機P3.2(INT0外部中斷0復用引腳)或者P3.3(INT1 外部中斷1復用引腳)來計數風速傳感器輸出的脈沖個數。本文選用P3.2引腳與風速傳感器的信號引腳進行連接,并通過軟件設置IT0=0(即使用跳變沿“邏輯1—>邏輯0”觸發方式發送中斷請求信號)。P3.2引腳每來一個跳變沿(即一個脈沖)便向CPU發出一個中斷請求,CPU響應此中斷請求,并跳轉到外部中斷0所對應的中斷服務子程序里,然后在中斷服務子程序里,進行S++(預先定義一個全局變量S,初始化賦值為0)操作,S的值即為脈沖的個數。此外,通過定時器完成每隔1s的精確定時,并在定時器所對應的中斷服務子程序計算風速的值,即通過2-2-1公式計算得出風速。
紅外對管包括紅外線發射管(白管)與紅外線接收管(黑管)。
SDS011粉塵傳感器通過串口把數據傳給上位機(PC),上位機每隔0.5h通過再串口把PM2.5的數據傳送給下位機(單片機)。單片機收到的PM2.5的數據格式為xx xx (兩個字節,用16進制表示)。例如收到PM2.5的16進制數據為 71 01 ,其中71 為低字節,01為高字節,其所對應的PM2.5 計算公式如式2-3-1:
土壤綜合肥力指數(IFI)一般劃分為5個等級,即高(IFI≥0.8)、較高(0.6≤IFI<0.8)、中(0.4≤IFI<0.6)、較低(0.2≤IFI<0.4)和低(IFI<0.2)[21]。昌寧植煙區域土壤肥力綜合指數在0.12~0.99,平均值0.60,絕大部分植煙區土壤處于中等水平(37.02%)和較高水平(24.26%),土壤肥力狀況良好。
L298N電機驅動為2路H橋驅動,可以同時驅動兩個直流電機。該驅動模塊共有4根控制引腳,分別與單片機P0.0~P0.3引腳進行連接。其中,IN1和IN2控制電機A,IN3和IN4控制電機B。此外,L298N驅動需要較高的外接電源(+12V~+24V)進行供電。
例如,2016年全國卷Ⅰ詩歌鑒賞題李白的《金陵望漢江》與人教版必修四的詩詞單元的三篇課文相關度極高。詩歌的前四句“漢江回萬里,派作九龍盤。橫潰豁中國,崔嵬飛迅湍”寫景的特征 與柳永《望海潮》“怒濤卷霜雪”和蘇軾的《念奴嬌·赤壁懷古》“亂石穿空,驚濤拍岸,卷起千堆雪”相似度極高,它們都氣勢磅礴、氣勢宏大。而思想感情與柳永《望海潮》也高度相似,都有“夸贊太平盛世”的意味,都有“渴望施展才華”的意味,又都暗含“沒有機會施展才華的隱隱的失落”。
數據的表示采用脈寬調制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示邏輯0電平;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示邏輯1電平。上述“0”和“1”組成的32位二進制碼經38kHz的載波進行二次調制后,再通過紅外發射管向空間發射。空調內置的紅外接收管解調出相對于的控制指令,從而調節空調的工作狀態。
電子鎖通過RTC時鐘與服務器進行時間同步,每隔60 s生成一個新密碼,用戶通過權限驗證后從認證服務器獲得密碼并通過鍵盤輸入主控制器,STM32主控制器將輸入密碼與電子鎖當前生成動態密碼進行比對,如果匹配則控制繼電器打開電磁鎖,并將開鎖狀態通過藍牙模塊發送至樹莓派核心,輸入錯誤累計3次則報警,圖4為動態密碼電子鎖程序流程圖。

圖2 基于STC89C52單片機智能家居系統的流程圖
其中,繼電器控制加濕器和空氣凈化器的開與關;L298N驅動控制著直流電機的正反轉,從而控制窗戶的開與關;空調的智能化操控則是由紅外發射模塊負責,單片機根據接收到的室內溫度數據,將空調的響應操作所對應的紅外編碼數據調制到38KHz的載波上,并通過紅外發射管發射出去,空調內置的紅外接收管接收到相應的指令,從而調節空調的工作狀態。
依據傳統的檢驗方法,在生成變量的回歸結果之后,再生成回歸方程的殘差,經過ADF檢驗,證實殘差序列在不包含時間趨勢和截距項的情況下是平穩的。
通過實地走訪調研,我們與青巖劉電商從業者、服務商、村管理者等進行深入訪談,同時為了真實準確地了解網商的實際需求,采用問卷調查來了解受訪者的看法及觀點,采取網絡群發和一對一上門等方式采集問卷,共發放問卷350份,收回有效問卷302份。
本文采用結構簡易、成本低廉的STC89C52單片機作為主控系統。各個傳感器定時地采集室內和室外的環境數據,并送入單片機內部,單片機根據接收到的數據,進行智能化地分析、處理,并通過驅動相應的模塊(例如L298N、發射模塊、繼電器等)來控制相應的傳感器,使得整個系統在不需要人為干擾的情況下,能夠有條不紊地工作,為人們提供便捷化、智能化地服務。
[1]余華芳,et al.基于51單片機智能排插的設計與實現[J].自動化與信息工程,32.1(2011):31-33.
[2]余宗寶,薛國將,劉銀.基于電話網絡的遠程家電控制系統[J].長沙通信職業技術學院學報,4.2(2005):48-50.
[3]田俊英.基于51單片機的溫室測試系統的設計與實現[J].現代電子技術,30.10(2007):15-17.
[4]張武,顧凱.基于51單片機的車用數字儀表設計與實現[J].今日電子,1(2005):64-66.
[5]張永宏,曹健,麗華.基于51單片機與nRF24L01無線門禁控制系統設計[J].江蘇科技大學學報(自然科學版),27.01(2013):64-69.
[6]郭鵬程,王新元, 葉其忠.基于51單片機的智能臺燈設計[J].科技展望,11(2016):154.
[7]林偉,et al.基于51單片機的智能溫控電扇設計[J].數字技術與應用,6(2014):9-9.
[8]范雄杰.基于51單片機控制的智能 LED 燈[J].科技與企業,9(2015):75-75.
[9]肖文超,陳洋,張賽碩.基于51單片機的智能小車設計[J].工業控制計算機,6(2016):121-122.
[10]張玉帥,楊婷婷.基于51單片機的智能尋跡機器人系統設計[J].電子世界,2016,10(2016):102-102.
[11]李力,陳巧珠.基于51單片機的智能家居安防系統設計[J].電子技術與軟件工程,19(2016):257-258.