張皎,趙海靜,趙若彤,郎如靜
西安交通大學(xué)電氣工程學(xué)院,陜西 西安,710049
隨著科學(xué)技術(shù)水平的不斷提高,多種多樣的智能電器漸漸走進(jìn)了人們的視野。智能家居是互聯(lián)網(wǎng)融合發(fā)展背景下的代表產(chǎn)物,同時(shí)也是社會(huì)科技水平進(jìn)步的重要標(biāo)志[1]。臺(tái)燈作為我們每家每戶基本都有的一個(gè)電器,常常方便我們的生活[2]。普通臺(tái)燈因光線單一且無(wú)法自動(dòng)適應(yīng)周圍環(huán)境的光照度、不能實(shí)現(xiàn)人來(lái)開燈、人走關(guān)燈的節(jié)能需求以及無(wú)法集合其他產(chǎn)品功能占用空間大等問(wèn)題,不能滿足人們?nèi)找嬖鲩L(zhǎng)的對(duì)智能家居的要求。特別是對(duì)青少年而言,由于學(xué)習(xí)需要較長(zhǎng)用眼時(shí)間,青少年近視比例也越來(lái)越高,更需要一款可以保護(hù)青少年視力的多功能智能臺(tái)燈[3]。
總體設(shè)計(jì):該系統(tǒng)分為8大功能模塊,系統(tǒng)功能模塊圖如圖1所示。
圖1 系統(tǒng)功能模塊圖
本系統(tǒng)由光照度檢測(cè)模塊、紅外測(cè)距采集模塊、人體(紅外)感應(yīng)模塊組成,通過(guò)自動(dòng)燈光調(diào)節(jié)模塊或手動(dòng)調(diào)節(jié)模塊來(lái)調(diào)控?zé)艄狻.?dāng)測(cè)得距離小于設(shè)定閾值時(shí),控制模塊將調(diào)用語(yǔ)音模塊數(shù)據(jù)觸發(fā)蜂鳴器報(bào)警。在數(shù)字鐘模塊下,可以設(shè)定開關(guān)燈時(shí)間和鬧鐘時(shí)間。而控制核心則由FPGA(EGO1)開發(fā)板完成對(duì)系統(tǒng)多路采集信號(hào)進(jìn)行調(diào)控。
(1)FPGA控制模塊。該模塊選擇美國(guó)賽靈思公司的EGO1開發(fā)板為主控芯片。該平臺(tái)板載Xilinx 28nm工藝的Artix-7系列FPGA芯片,外圍連接有LED燈、撥碼開關(guān)、七段數(shù)碼管、按鍵等基本接口;以及VGA、音頻和藍(lán)牙等接口;此外該平臺(tái)還具有板載AD/DA模塊以及豐富的I/O擴(kuò)展接口,可以滿足學(xué)生及廣大初學(xué)者自主學(xué)習(xí)FPGA編程。
(2)光照度檢測(cè)模塊。該模塊采用深圳大陸勝公司的GY-302 BH1750FVI光強(qiáng)度傳感器(圖2)。該集成電路支持iic通訊,輸出信號(hào)為數(shù)字式??蓪?duì)環(huán)境中的光照度進(jìn)行精度為1勒克斯單位的精準(zhǔn)測(cè)定,從而保證采集數(shù)據(jù)的準(zhǔn)確性。FPGA采樣控制模塊掃描時(shí)間設(shè)定為300毫秒,即每隔300毫秒進(jìn)行一次外部環(huán)境光強(qiáng)的測(cè)定,并根據(jù)光強(qiáng)變化實(shí)時(shí)調(diào)整LED燈的亮度檔位,實(shí)現(xiàn)黑暗環(huán)境中燈亮,明亮環(huán)境中燈滅的要求。接線引腳如表1所示。
圖2 光照度檢測(cè)模塊
表1 光照度檢測(cè)模塊引腳圖
(3)紅外測(cè)距模塊。本系統(tǒng)紅外測(cè)距采用深圳夏普公司型號(hào)為GP2Y0A21YK0F這一款紅外測(cè)距傳感器(圖3)。此集成電路可測(cè)量的距離范圍是10~80cm,也可通過(guò)設(shè)置程序內(nèi)的參數(shù)值自主調(diào)節(jié)感應(yīng)距離。該模塊輸出為模擬量,即輸出與檢測(cè)距離相對(duì)應(yīng)的電壓。在設(shè)計(jì)時(shí),只需要將高低電壓控制在合理水平區(qū)間,當(dāng)檢測(cè)到人體與傳感器之間距離在傳感器檢測(cè)范圍內(nèi)時(shí),便會(huì)向主控芯片發(fā)送高電平;當(dāng)人體與臺(tái)燈之間距離小于設(shè)定的閾值時(shí),則會(huì)自動(dòng)觸發(fā)語(yǔ)音提醒,以達(dá)到糾正用戶不良坐姿的目的。
圖3 紅外探測(cè)模塊
(4)人體感應(yīng)模塊。同上,該模塊也采用紅外測(cè)距傳感器。當(dāng)人體與裝有紅外測(cè)距傳感器的臺(tái)燈距離超出傳感器的檢測(cè)范圍時(shí),此時(shí)因?yàn)閭鞲衅鳈z測(cè)不到有效信號(hào),則會(huì)觸發(fā)輸出低電平,促使亮著的臺(tái)燈自動(dòng)斷電;反之,則觸發(fā)輸出電平為高,點(diǎn)亮臺(tái)燈。最終實(shí)現(xiàn)臺(tái)燈的節(jié)能環(huán)保功能。
(5)手動(dòng)控制模塊。該模塊采用EGO1開發(fā)板上自帶按鍵來(lái)完成。其中,Key1鍵為自動(dòng)/手動(dòng)模式切換鍵。Key2按鍵負(fù)責(zé)調(diào)亮光照度兼?zhèn)溟_燈功能,Key3按鍵負(fù)責(zé)減弱光照度,直至關(guān)燈[4]。
(6)燈光調(diào)節(jié)模塊。該模塊由12個(gè)LED燈分成四檔構(gòu)成。從第一檔到第四檔分別有0個(gè)、4個(gè)、8個(gè)和12個(gè)LED。自動(dòng)模式下,EGO1開發(fā)板從P1.6口輸出并通過(guò)PNP型三極管驅(qū)動(dòng)LED燈。并通過(guò)分別控制每一檔LED燈的亮滅達(dá)到提供合適的光照度目的。手動(dòng)模式下,亮度每增加一個(gè)等級(jí),則多點(diǎn)亮一檔LED燈;亮度減鍵為亮度每減一個(gè)等級(jí),即關(guān)閉一檔LED燈。
(7)提示報(bào)警模塊。該模塊設(shè)計(jì)思路:先將要播報(bào)的內(nèi)容存儲(chǔ)在JQ8900-16P語(yǔ)音播報(bào)模塊中(圖4),在紅外測(cè)距觸發(fā)距離閾值判斷后,從存儲(chǔ)中讀取響應(yīng)語(yǔ)音地址,觸發(fā)功放及喇叭發(fā)出相應(yīng)提示語(yǔ)音。在距離設(shè)定時(shí)間的前5分鐘,則從存儲(chǔ)中讀取響應(yīng)語(yǔ)音地址,觸發(fā)功放及喇叭發(fā)出相應(yīng)設(shè)定時(shí)間到的提示語(yǔ)音。
圖4 語(yǔ)音播報(bào)模塊
表2 引腳配置圖
(8)數(shù)字鐘模塊。該模塊模擬鐘表進(jìn)行24小時(shí)循環(huán)計(jì)數(shù),用戶可通過(guò)EGO1開發(fā)板上按鍵自定義傳感器開始掃描和結(jié)束掃描的時(shí)間,即實(shí)現(xiàn)智能臺(tái)燈的定時(shí)開啟與關(guān)閉功能。
軟件設(shè)計(jì)采用模塊化程序設(shè)計(jì)方法,根據(jù)系統(tǒng)各功能分析可以得到主程序流程圖,如圖5所示[3]。其中,系統(tǒng)初始化后,首先進(jìn)入亮度自動(dòng)調(diào)節(jié)模式,此時(shí)也可通過(guò)按鍵K1進(jìn)行自動(dòng)/手動(dòng)模式切換操作[3]。當(dāng)預(yù)先設(shè)置的模式標(biāo)志位(Mode)為低電平時(shí),此時(shí)系統(tǒng)為手動(dòng)調(diào)節(jié)光照度模式,即執(zhí)行手動(dòng)控制子程序;反之,當(dāng)模式標(biāo)志位為高電平時(shí),則為自動(dòng)調(diào)節(jié)光照度模式,即執(zhí)行亮度自動(dòng)調(diào)節(jié)子程序。之后再進(jìn)行語(yǔ)音判斷子程序。在語(yǔ)音判斷子程序中,依據(jù)紅外測(cè)距傳感器采集人與傳感器之間距離值進(jìn)行判斷,若離桌面距離過(guò)近或當(dāng)預(yù)設(shè)關(guān)燈時(shí)間倒計(jì)時(shí)器為零時(shí),則觸發(fā)播放相應(yīng)語(yǔ)音提示音。在手動(dòng)調(diào)節(jié)光照度子程序中,當(dāng)按下光照度增加(K2)按鍵時(shí),若光照度等級(jí)此時(shí)并不為最低級(jí)時(shí),則光照度等級(jí)依次遞減一級(jí),否則,則保持現(xiàn)光照度等級(jí)不變;當(dāng)按下光照度減少(K3)鍵時(shí),若光照度等級(jí)此時(shí)并不是最高級(jí),則光照度等級(jí)依次增加一級(jí),否則仍保持原光照度等級(jí)不變。
圖5 系統(tǒng)主流程圖
因自動(dòng)亮度調(diào)節(jié)子程序?yàn)楸鞠到y(tǒng)設(shè)計(jì)的難點(diǎn)和重點(diǎn),故在此詳細(xì)闡述其設(shè)計(jì)過(guò)程。自動(dòng)亮度調(diào)節(jié)子程序的流程如圖6所示:先設(shè)置一個(gè)模式標(biāo)志位(Mode),當(dāng)模式標(biāo)志位為1時(shí),此時(shí)系統(tǒng)工作在自動(dòng)調(diào)節(jié)模式下;若在倒計(jì)時(shí)300秒內(nèi)人體與紅外傳感器距離大于傳感器最大檢測(cè)范圍,則觸發(fā)倒計(jì)時(shí)器清0動(dòng)作,之后執(zhí)行光照度值采集子函數(shù),根據(jù)計(jì)算出的光照度值與設(shè)定光強(qiáng)值范圍相比較,依此獲得相應(yīng)照明模式;若倒計(jì)時(shí)300秒內(nèi)檢測(cè)到的人體距離大于傳感器最大檢測(cè)范圍,此時(shí)則設(shè)置照明模式為照明關(guān)閉狀態(tài)。具體設(shè)定參數(shù)如下:
圖6 亮度調(diào)節(jié)子程序
光強(qiáng)低于10lx——照明模式三;
光強(qiáng)高于10lx低于300lx——照明模式二;
光強(qiáng)高于300lx低于500lx——照明模式一;
光強(qiáng)高于500lx——照明關(guān)閉。
具體實(shí)現(xiàn)程序如圖7和圖8所示。
圖7 自動(dòng)亮度調(diào)節(jié)判斷子函數(shù)
圖8 光照度檢測(cè)控制子函數(shù)
在系統(tǒng)設(shè)計(jì)完成后,先在Vivado平臺(tái)進(jìn)行了時(shí)序仿真。之后又對(duì)各模塊及系統(tǒng)總體進(jìn)行了調(diào)試操作。在系統(tǒng)初始化后,當(dāng)有人接近臺(tái)燈時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)有否有人體活動(dòng),同時(shí)啟動(dòng)自動(dòng)工作模式[5]。當(dāng)外界光照度低于設(shè)定閾值且檢測(cè)人體與傳感器的距離在傳感器的檢測(cè)范圍之內(nèi)時(shí),檢測(cè)時(shí)用串口調(diào)試器讀取光照度傳感器傳輸數(shù)值(圖9),檢驗(yàn)傳感器檢測(cè)數(shù)據(jù)是否正確及程序是否讀取傳感器數(shù)據(jù);當(dāng)檢測(cè)到人體在檢測(cè)范圍內(nèi)又或者在設(shè)定開/關(guān)燈時(shí)間內(nèi),對(duì)臺(tái)燈自動(dòng)點(diǎn)亮進(jìn)行測(cè)試(圖10)。另外,還對(duì)系統(tǒng)照明模式、按鍵手/自動(dòng)模式切換(圖11)、語(yǔ)音模塊等功能模塊分別進(jìn)行了多次測(cè)試,功能符合要求。實(shí)踐證明該系統(tǒng)設(shè)計(jì)合理且達(dá)到了預(yù)期目標(biāo)。
圖9 串口調(diào)試光照度
圖10 定時(shí)開機(jī)測(cè)試
圖11 開關(guān)手動(dòng)模式測(cè)試
本設(shè)計(jì)在總結(jié)一般單一功能臺(tái)燈缺點(diǎn)的基礎(chǔ)之上,設(shè)計(jì)了以FPGA(EGO1)開發(fā)板為控制核心主板的多功能智能臺(tái)燈系統(tǒng)。通過(guò)光照度傳感器,使臺(tái)燈能依據(jù)實(shí)際環(huán)境給出最適宜的光照、語(yǔ)音姿勢(shì)提醒、手動(dòng)/自動(dòng)模式切換等。這些功能模塊均可為用戶提供更便利、更舒適的體驗(yàn)。而自動(dòng)調(diào)節(jié)光照度與手動(dòng)調(diào)節(jié)光照度雙模式選擇下的系統(tǒng),則可人為或自動(dòng)調(diào)節(jié)光線,使用戶多了一種選擇。在預(yù)防青少年近視及駝背等不良坐姿方面,本系統(tǒng)通過(guò)語(yǔ)音預(yù)警模塊進(jìn)行了通過(guò)語(yǔ)音干預(yù)提示的嘗試。該系統(tǒng)設(shè)計(jì)合理且集成數(shù)字鐘功能,又因其控制方式可自選,為用戶提供了便利,基本實(shí)現(xiàn)了臺(tái)燈的智能化控制。今后可在此設(shè)計(jì)基礎(chǔ)之上,結(jié)合物聯(lián)網(wǎng)技術(shù)或通過(guò)藍(lán)牙技術(shù)在智能設(shè)備上對(duì)臺(tái)燈進(jìn)行操控,也可以結(jié)合語(yǔ)音識(shí)別等相關(guān)先進(jìn)科學(xué)技術(shù),對(duì)系統(tǒng)進(jìn)行進(jìn)一步的功能提升。本文對(duì)智能臺(tái)燈更高級(jí)的智能化控制有借鑒意義。