国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單片機的光控窗簾電氣自動化控制系統(tǒng)設(shè)計

2022-09-09 02:16殷海文
電子技術(shù)與軟件工程 2022年11期
關(guān)鍵詞:窗簾手動閾值

殷海文

(武漢輕工大學(xué) 湖北省武漢市 430000)

隨著信息化的快速發(fā)展,人們的工作、生活與信息技術(shù)的結(jié)合趨勢越來越明顯。信息技術(shù)、電氣自動化技術(shù)等除了改變工作方式、習(xí)慣以外,對于傳統(tǒng)的住宅也提出了新要求。社會、技術(shù)以及經(jīng)濟的發(fā)展促使人們對家居在功能上的觀念發(fā)生巨大轉(zhuǎn)變,人們對于家居的要求早已不滿足于單純的功能實現(xiàn),而是在實現(xiàn)基本功能的基礎(chǔ)上,盡可能地提供智能、便捷的使用體驗,以打造安全、舒適的居住環(huán)境。基于大眾的新需求,“智能家居”這一概念應(yīng)運而生。智能家居通過現(xiàn)代信息技術(shù)、物聯(lián)網(wǎng)技術(shù)令傳統(tǒng)家電更新迭代,在實現(xiàn)傳統(tǒng)家具功能的基礎(chǔ)上,打造具有全方位信息交互功能的,安全舒適的住宅環(huán)境,極大地優(yōu)化了人們的生活方式,同時順應(yīng)了消費轉(zhuǎn)型、高質(zhì)量發(fā)展的趨勢。

1 設(shè)計思想及基本功能

本設(shè)計包含了普通電動窗簾通過按鈕操縱窗簾啟閉的功能,并在此基礎(chǔ)上增加電氣自動化模式,簡稱自動模式,可根據(jù)當(dāng)前環(huán)境光照強度與時間是否在設(shè)定范圍內(nèi)自動控制窗簾的啟閉。本設(shè)計追求簡單的電路設(shè)計與經(jīng)濟適用的元器件滿足相關(guān)功能的實現(xiàn)。本設(shè)計具有以下功能:

1.1 手動控制

在手動模式下,通過按鍵對窗戶進(jìn)行電氣自動化啟閉控制。

1.2 自動控制

當(dāng)開啟自動模式且當(dāng)前時間在設(shè)定的時間范圍內(nèi)時,當(dāng)檢測到的環(huán)境光照強度大于設(shè)定的光照強度閾值且窗簾處于開啟狀態(tài)時,關(guān)閉窗簾。當(dāng)檢測到的環(huán)境光照強度小于光照強度閾值且窗簾處于關(guān)閉狀態(tài)時,開啟窗簾。當(dāng)處于自動模式時,開啟、關(guān)閉按鍵失效。

1.3 設(shè)置模式

通過按鍵對當(dāng)前時間、光控生效時間范圍、光照強度閾值進(jìn)行設(shè)定。

1.4 模式切換

通過按鍵實現(xiàn)自動模式與手動模式的切換。

2 系統(tǒng)總體方案設(shè)計

2.1 方案選擇和論證

2.1.1 系統(tǒng)控制器的選擇

單片機在編程軟件上成熟,學(xué)習(xí)成本較低,另外支持反復(fù)擦寫的特性讓后期測試調(diào)試更加容易開展。再者單片機功耗低,體積小的特點符合智能家居的使用場景。此外單片機在電子產(chǎn)品中的應(yīng)用廣泛,可用元器件多樣,價格普遍廉價。綜上所述,單片機型號選用STC-89C52。

2.1.2 顯示方案的選擇

方案一:LED(LightEmittingDiode)數(shù)碼管。此方案的優(yōu)點是占用的單片機I/O 口少,但數(shù)碼管的顯示是通過動態(tài)掃描,即一次只能顯示某一組LED 代表一個數(shù)字,在余輝還未消失時快速切換下一組達(dá)到同時顯示的效果,占用單片機資源,在顯示時無法處理其它環(huán)節(jié)。同時還需要使用如74LS164 等設(shè)備驅(qū)動,該芯片對于時鐘的要求較高,在實際使用時會有很多阻礙,且顯示時占用單片機,影響時間、光強的讀取。同時LED 數(shù)碼管只能顯示數(shù)字,本設(shè)計還需要顯示英文字母來反饋當(dāng)前處于自動或者手動模式,光照強度單位等,因此不采用此方案。

方案二:點陣式數(shù)碼管,共64 個發(fā)光二極管組成,有共陽極和共陰極數(shù)碼管。點陣式數(shù)碼管一般用于廣告牌等需要顯示大號字體或是漢字的設(shè)備中,如在電氣自動化光控窗簾中采用此方案,功能超出需要的同時價格也相對較高。

方案三:LCD 液晶顯示屏。液晶顯示屏LCD1602 最顯著的特點是自帶DDRAM(DisplayDataRAM)用于存放顯示數(shù)據(jù),每一個顯示單元都有一個內(nèi)部寄存器地址,向?qū)?yīng)地址寫入顯示內(nèi)容后將一直保持直到新內(nèi)容被寫入,明顯優(yōu)于方案一的顯示方式。同時其可顯示大小寫英文字母、阿拉伯?dāng)?shù)字等,內(nèi)部有CGRAM(CharacterGeneratorRAM),支持用戶自定義顯示內(nèi)容。綜上所述本設(shè)計的顯示模塊使用LCD1602 液晶顯示屏。

2.1.3 時鐘模塊的選擇

本設(shè)計使用DS1302 時鐘芯片實現(xiàn)獨立計時,目的是為了減少對單片機的占用,其具有高性能、低功耗的優(yōu)點。內(nèi)部具有多個寄存器分別儲存日期,星期與小時、分,秒,并在計時過程中實時修改。芯片采用三線接口與CPU 進(jìn)行同步通信,如接入備用電源,可在單片機掉電情況下保持計時應(yīng)對實際使用中可能會遇到的停電。

2.1.4 電機的選擇

本設(shè)計執(zhí)行機構(gòu)使用28BYJ-48 步進(jìn)電機,窗簾支架長度、位置等是固定的,因此在啟閉時應(yīng)該避免開啟后電機仍在轉(zhuǎn)動這類情況出現(xiàn)導(dǎo)致的設(shè)備損害。而步進(jìn)電機的特點是良好的定位能力,因其轉(zhuǎn)動是根據(jù)脈沖數(shù)決定的,滿足本設(shè)計的使用需求。此外步進(jìn)電機電氣自動化啟停迅速,操縱方式簡單。

2.1.5 光照傳感器的選擇

本設(shè)計光照傳感器模塊使用BH1750FVI。其具有以下優(yōu)點:光譜范圍與人眼相近,無需任何外部零件,對光源的依賴性不大,受紅外線的影響很小,測量精度最高可以精確到0.5LUX。

2.2 整體方案

2.2.1 系統(tǒng)框圖

本設(shè)計的系統(tǒng)各個模塊如圖1所示。

圖1:系統(tǒng)框圖

2.2.2 系統(tǒng)概述

其中液晶顯示模塊用于顯示基本信息如時間,以及提示用戶當(dāng)前的運行模式,包括正在啟閉窗簾、當(dāng)前為手動模式等;光照傳感器使用GY-30 模塊,光照強度直接以16 位2進(jìn)制數(shù)的形式輸出至單片機;窗簾使用28BYJ-48 步進(jìn)電機代替模擬,窗簾的開關(guān)狀態(tài)由單片機記錄并在LCD1602 上顯示;本設(shè)計還有4 個獨立按鍵用于進(jìn)入設(shè)置模式、切換控制模式、在手動模式下的窗簾啟閉控制等;最后,供電采用常用的USB5V 進(jìn)行供電。

3 系統(tǒng)硬件設(shè)計

3.1 最小系統(tǒng)模塊

3.1.1 STC89C52 簡介

STC89C52 是由ATMEL 公司生產(chǎn)的增強型8051 單片機,自帶8K 字節(jié)的可擦寫的Flash,集成512 字節(jié)RAM,兼容標(biāo)準(zhǔn)MCS-51 指令系統(tǒng),其小巧、廉價的特性使其廣泛應(yīng)用于各種設(shè)備。本設(shè)計采用PDIP(PlasticDualIn-LinePackage)封裝形式的STC89C52 具有40 個端口,包括32 個外部通用雙向輸入/輸出,同時具有4 個下降沿有效的外部中斷,無需仿真器即可通過ISP(InSystemPrograming)通訊,通過串口即可完成程序下載。

3.1.2 最小系統(tǒng)電路

最小系統(tǒng)電路如圖3所示,最小系統(tǒng)即是單片機能夠正常運行的最簡單的系統(tǒng),包含了上電復(fù)位電路、外部晶振電路及電源三部分。外部晶振電路包含的元器件有一個12MHZ 的晶振X1,以及電容C2 和C3,均為30Pf。電容作用是幫助起振。晶振的頻率決定了單片機執(zhí)行程序的速度,在允許范圍內(nèi)越高則速度越快。復(fù)位電路采用上電復(fù)位的形式。上電后RESET 將置為高電位,高電位的時間取決于復(fù)位電路中的電阻與電容的值,STC89C52 的RESET 保持高電位超過兩個機器周期加上起振時間時,單片機將復(fù)位。電源部分采用5V的USB供電,供電設(shè)備可以是電腦USB 端口。此外,由于STC89C52 的P0 口是開漏輸出,無法真正輸出高電位,因此需要外接電阻,電阻另一端接電源,當(dāng)P0 任一端口為邏輯1 時,電源將代替單片機輸出高電位。另外,本設(shè)計的程序?qū)⒋鎯υ趦?nèi)部寄存器,因此EA 需要拉低電位。

3.2 液晶顯示模塊

LCD1602 是一款液晶顯示屏,具有低功耗、顯示信息量大(文本)、使用壽命長的優(yōu)點,因此得到廣泛應(yīng)用。雖然因為顯示點陣之間有間隙,無法很好地顯示圖像,但能夠完全滿足文本顯示,符合本設(shè)計只顯示數(shù)字與英文字母的需求。LCD1602 可分兩行顯示,每行最多可分別顯示十六個字符,支持ASCII 字符顯示以及數(shù)量有限制的自定義字符。

3.3 時鐘模塊

DS1302 是美國DALLAS 公司推出的時鐘芯片,具有涓細(xì)電流充電、低功耗、實時計時等優(yōu)點。主要特點是數(shù)據(jù)通過串行傳輸,具有掉電保護(hù)功能,也可關(guān)閉充電功能,采用32.768kHz 晶振。DS1302 帶有12 個寄存器,其中7 個用于存放年(2100年以前)、月、日、周、以及三個當(dāng)前時間小時、分鐘、秒的數(shù)據(jù)并進(jìn)行計時。芯片通過SPI 總線進(jìn)行數(shù)據(jù)交換,可單次傳輸多字節(jié)的時間數(shù)據(jù)。

3.4 光照傳感器模塊

GY-30 模塊是一款包含BH1750FVI 及其外圍電路的數(shù)字型光強度傳感器。其具有下述特點:接近人眼的光譜靈敏度特性、直接輸出光照強度的數(shù)值、可測量光照強度范圍大(1-65535 勒克斯)、精確度最高可達(dá)0.5 勒克斯、幾乎不受紅外線影響、數(shù)據(jù)通過IIC(Inter-Integrated-Circuit)總線傳輸?shù)龋褂梅椒ㄅc其核心BH1750FVI 一致,外圍電路的作用是使VCC 接+5V 電源使,仍能滿足BH1750FVI 的運行條件(VCC 最小值2.4V,最大值3.6V),本設(shè)計使用芯片手冊推薦的模式,此模式下,測量一次環(huán)境光照強度的時間為120ms-180ms,精確度為1Lx。

3.5 按鍵模塊及元器件清單

本設(shè)計共使用4 個獨立按鍵,以KEY1、KEY2 的形式編號,接線圖如圖3所示。KEY1 是模式切換按鍵,實現(xiàn)自動模式與手動模式的切換。KEY2 是設(shè)置鍵,用于進(jìn)入設(shè)置模式、保存當(dāng)前變量并進(jìn)行下一步設(shè)置、退出設(shè)置模式。KEY3、KEY4 在設(shè)置模式中分別是加鍵、減鍵,按下后對當(dāng)前變量加一或減一;在手動模式中分別是窗戶的開啟鍵與關(guān)閉鍵;在自動模式中兩者均無效。

圖3:實物總體

4 系統(tǒng)軟件設(shè)計

4.1 總體程序流程圖

本系統(tǒng)的軟件總體流程如圖2所示,程序開始先進(jìn)行初始化,包括對時鐘芯片、光照傳感器、液晶屏幕的初始化。時鐘芯片的初始化即向時鐘芯片寫入默認(rèn)時間并開始計時;光照傳感器的初始化為寫入通電指令。初始化后電機斷電是因為單片機IO 口默認(rèn)高電平,此時電機四相都處于通電狀態(tài),如果不斷電(即P2 口拉低),電機將持續(xù)發(fā)熱,損壞電機。接著將驗證當(dāng)前時間是否在光控時間范圍內(nèi)并對變量TimeFlag 賦值,隨后是讀取當(dāng)前時間、當(dāng)前光照強度,并與設(shè)定的閾值進(jìn)行對比,同時會將數(shù)據(jù)轉(zhuǎn)換成ASCII 碼值寫入LCD 屏幕的寄存器中完成顯示。

圖2:總體程序流程圖

4.2 LCD1602程序設(shè)計

LCD1602 開始顯示之前,在把內(nèi)容的ASCII 值寫入寄存器前,需要先指定光標(biāo)位置即內(nèi)容顯示的位置,指定光標(biāo)位置后輸入的ASCII 值會自動存入對應(yīng)的寄存器中,在下一次指定該位置并寫入數(shù)據(jù)之前,屏幕會一直顯示該字符。本設(shè)計使用的是光標(biāo)自動右移模式,最開始指定光標(biāo)位置后,每次寫入數(shù)據(jù)都會自動右移,因此在同一行顯示時不需要再次令光標(biāo)定位。

4.3 按鍵掃描及處理程序設(shè)計

這部分程序用于實現(xiàn)手動模式下窗簾的啟閉控制,以及進(jìn)入設(shè)置模式,對光控生效時間范圍,當(dāng)前時間,光照強度閾值進(jìn)行修改。當(dāng)處于手動模式,且未進(jìn)入設(shè)置模式時,按鍵KEY3、KEY4 分別用于開啟、關(guān)閉窗簾,程序還通過一個狀態(tài)變量windowstatus 記錄窗戶的啟閉狀態(tài),只有窗戶的狀態(tài)在操作執(zhí)行后與當(dāng)前的狀態(tài)不同時,操作才會執(zhí)行,反之則表現(xiàn)為按鍵無效。例如,當(dāng)前窗戶處于電氣自動化開啟狀態(tài),按下KEY4 窗簾將會關(guān)閉,按下KEY3 則無動作。在手動模式下,電機動作時,屏幕還將顯示“Opening”或是“Closing”提示用戶。

KEY1 用于切換自動模式與手動模式,實現(xiàn)方法是定義位變量mode 記錄當(dāng)前所處模式,當(dāng)KEY1 按下時,對mode 取反,實現(xiàn)兩種模式的來回切換。

KEY2 用于進(jìn)入設(shè)置模式。設(shè)置模式是一個大循環(huán)體,一共包含了六個小循環(huán)體,每個小循環(huán)體用于修改一個變量,按照執(zhí)行順序分別是當(dāng)前時間的小時、分鐘,光控生效時間的開始時間、結(jié)束時間,最后是光照強度閾值的十位與個位。進(jìn)入設(shè)置模式后,首先修改的是當(dāng)前時間的小時,小時的修改通過KEY3、KEY4 實現(xiàn),KEY3 被按下時小時加一并寫入屏幕寄存器中更新顯示內(nèi)容,KEY4 被按下時小時減一后更新顯示內(nèi)容,重復(fù)執(zhí)行上述程序直至修改完畢,按下KEY2 打破當(dāng)前小循環(huán)進(jìn)入下一個小循環(huán),當(dāng)前時間的修改在完成小時與分鐘之后,經(jīng)過處理一同寫入DS1302 芯片中。其他循環(huán)體與當(dāng)前時間相似,不同的是其它循環(huán)體修改的變量只需要儲存在單片機內(nèi)部。

4.4 自動模式程序設(shè)計

自動模式如何進(jìn)行除了光照強度外,還由是否處于光控生效時間范圍內(nèi)決定,由此分為光控生效模式與光控失效模式。光控生效模式滿足的是用戶日?;顒訒r的需求,而光控失效模式滿足的是用戶的隱私需求,如夜晚光照強度低,而多數(shù)人晚上入睡時習(xí)慣關(guān)上窗簾,僅靠光照強度無法滿足這一需求。處于自動模式下,若當(dāng)前時間處于光控生效時間范圍內(nèi),進(jìn)入光控生效模式,反之則進(jìn)入光控失效模式。

光控生效模式下,若當(dāng)前測量的環(huán)境光照強度大于設(shè)定的光照強度閾值且此時窗戶處于開啟狀態(tài),則等待一段時間后再次測量光照強度,若延時后光照強度仍然大于設(shè)定的光照強度閾值,則驅(qū)動電機關(guān)閉窗簾,電機驅(qū)動完畢后回到主程序,而本模塊是主程序的循環(huán)體中的最后一步,因此驅(qū)動電機完畢后從主程序中的電機斷電開始執(zhí)行;當(dāng)延時后光照強度不大于光照強度閾值,則電機無動作且返回主程序。判定條件后先延時再測量的原因是防止燈光閃爍等干擾造成不必要的啟閉。

光控生效模式下,當(dāng)光照強度小于閾值且窗簾處于關(guān)閉狀態(tài)時,后續(xù)程序與前述相似。若是光照強度與窗簾的狀態(tài)均不符合上述兩者條件,則維持原狀并回到主程序。光控失效模式下,驅(qū)動電機關(guān)閉窗簾后也同樣回到主程序中。

5 實物功能演示

5.1 總體概述

本設(shè)計使用普中科技的A2 開發(fā)板進(jìn)行功能演示,如圖3所示,當(dāng)前時間顯示在第一行的最左側(cè),即“17:04”;“M”代表的是當(dāng)前處于手動模式下,若處于自動模式,該處應(yīng)顯示為“A”;“I”表示的是當(dāng)前時間在光控生效時間范圍內(nèi),若在范圍外,則該處應(yīng)為“O”;“09-18”表示的是光控生效時間范圍,為9 點至18 點,應(yīng)LCD 顯示空間有限,本設(shè)計光控生效時間僅能設(shè)置為整點。

第二行從左至右分別是當(dāng)前環(huán)境光照強度、窗簾當(dāng)前啟閉狀態(tài)與光照強度閾值。光照強度最高為65535,圖中環(huán)境光照強度為40Lx,數(shù)字4 前的無效數(shù)字已自動省略,同時光照強度閾值也已做相同處理。當(dāng)窗簾關(guān)閉后,“Open”將變?yōu)椤癝hut”。

5.2 手動模式

窗簾處于開啟狀態(tài),按下KEY4 后,屏幕顯示“Closing”,同時電機順時針旋轉(zhuǎn),代表窗簾關(guān)閉。

5.3 設(shè)置模式

按下KEY2 后,系統(tǒng)進(jìn)入設(shè)置模式,此時屏幕除當(dāng)前修改變量處閃爍顯示外,其他顯示內(nèi)容靜止。通過KEY3、4可修改各變量,本次演示修改當(dāng)前小時為19,閾值為300,可見當(dāng)前時間脫離時間范圍,“I”變?yōu)椤癘”。

5.4 自動模式

根據(jù)上述分析可知,當(dāng)前環(huán)境光照強度低于光照強度閾值且處于窗簾關(guān)閉狀態(tài),但此時處于光控失效模式,因此按下KEY1 改變模式后,除了屏幕中的“M”變?yōu)椤癆”外,系統(tǒng)不會有其他變化。手動調(diào)整時間至范圍內(nèi)后,屏幕顯示“Checking”,延遲一段時間并等待傳感器測量環(huán)境光照強度后,驅(qū)動電機反轉(zhuǎn)開啟窗簾,最后屏幕重新顯示各個變量。

6 總結(jié)

從智能家居總體上看,我國智能家居銷售收入在國家上與其它發(fā)達(dá)國家相比也毫不遜色,2019年的總體銷售收入僅次于美國,但美國的銷售收入接近我國的三倍。但從普及率看,我國的普及率卻與銷售收入表現(xiàn)相反,僅為4.9%,這是因為我國人口眾多,銷售收入的高排名得益于此,實際普及率并不高,與發(fā)達(dá)國家相比較還有很大差距。這也意味著我國的市場潛力足夠強大,具體表現(xiàn)為從2017年開始市場規(guī)模都以翻倍的趨勢增長。智能家居通過現(xiàn)代信息技術(shù)、物聯(lián)網(wǎng)技術(shù)、電氣自動化等令傳統(tǒng)家電更新迭代,在實現(xiàn)傳統(tǒng)家具功能的基礎(chǔ)上,打造具有全方位信息交互功能的,安全舒適的住宅環(huán)境,極大地優(yōu)化了人們的生活方式,同時順應(yīng)了消費轉(zhuǎn)型、高質(zhì)量發(fā)展的趨勢。

在本次設(shè)計中,預(yù)期的主要功能已經(jīng)實現(xiàn),有通過按鍵進(jìn)行模式切換、設(shè)定參數(shù)、手動啟閉窗簾的功能,以及綜合時間與光照強度的自動模式。在程序設(shè)計中,在細(xì)節(jié)上也盡可能地在完善,如當(dāng)前光照強度值的顯示,把有效數(shù)字前的數(shù)字零全部變?yōu)榱丝瞻?;在設(shè)置模式中光照強度閾值這一個變量,有兩輪調(diào)整環(huán)節(jié),分別調(diào)整光照強度閾值的十位與個位,兼顧了調(diào)整度速度以及精度。但仍存在一些問題,如設(shè)置模式中循環(huán)體比較多,在程序設(shè)計初期沒有定義相關(guān)的子函數(shù),造成程序比較臃腫;因為屏幕空間限制,時間范圍只能設(shè)置小時。此外,本打算實現(xiàn)基本功能后額外增加如紅外遙控、溫度檢測等功能,但因為時間限制沒有實現(xiàn),這也是下一步工作研究的重點。

猜你喜歡
窗簾手動閾值
風(fēng)兒撩起了窗簾
小波閾值去噪在深小孔鉆削聲發(fā)射信號處理中的應(yīng)用
基于自適應(yīng)閾值和連通域的隧道裂縫提取
巧做窗簾
比值遙感蝕變信息提取及閾值確定(插圖)
小巧手動起來
風(fēng)行S5001.6L手動尊享型
寶駿5601.8L手動豪華型
C4世嘉 1.6L手動豪華型
室內(nèi)表面平均氡析出率閾值探討