張文玥, 王曉飛, 孫沛詩, 江 濤
(北京信息科技大學 儀器科學與光電工程學院,北京 100192)
目前我國的近視率排名世界第二,小學生近視率達34.17%,中學生為56.59%,而大學畢業時的近視率高達73.9%,青少年的視力問題日趨嚴峻。權威研究指出,書寫、讀書的姿勢不正確、光線的過弱或過強是導致近視的最主要原因。若能將其學習和工作時的環境光照度和坐姿控制在保護視力的最佳條件下,將會大大降低近視率。
傳統的臺燈亮度是一定的,不能隨環境光的變化而自動進行調整;現階段的視力保護系統設計雖增加了檢測和報警功能,但未與臺燈相結合。本文的視力保護系統,使臺燈擁有根據環境光自動調節亮度、檢測人體坐姿、聲光報警等功能,從而保護了使用者的視力,降低近視率。
視力保護系統整體設計框圖如圖1所示。系統硬件主要由光照度檢測傳感器、距離檢測傳感器、STC90C516RD+單片機測控電路、顯示電路和聲光報警電路組成,采用C語言編寫目標系統軟件。光照度檢測傳感器實時監測環境光照度并轉換為電信號,信號調理電路對該信號進行濾波放大處理,然后通過A/DC采集并傳輸到單片機中。按鍵可實現自動模式和手動模式的切換。距離檢測感器檢測到的距離與設定值進行對比,若在規定范圍內,則LCD顯示測量值;否則,顯示的同時進行聲光報警。

圖1 系統原理框圖
光照度檢測傳感器將光照度轉換成電流輸出,電流范圍大約為0.1~0.3 mA,設計一個流壓轉換電路,將電流轉換為電壓并進行放大,如圖2所示。

圖2 光照度檢測電路
光照度檢測傳感器輸出電流I和運算放大器輸出電壓U關系式為:
U=500×I
(1)
將光照度檢測傳感器產生的電流轉換為電壓同時將其放大,該信號進入后續A/D轉換器及CPU,以實現光照度的采集與測量。
距離檢測電路(見圖3)采用HC-SR04模塊,模塊包括超聲波發生、接收與控制電路。其基本工作原理為I/O口TRIG觸發測距,給至少10 μs的高電平信號;模塊自動發送8個40 kHz的方波,自動檢測是否有信號返回;有信號返回,通過I/O口ECHO輸出一個高電平,高電平持續的時間就是超聲波從發射到返回的時間。

圖3 距離檢測電路
計算公式為:
D=ct/2
(2)
式中:D為距離檢測傳感器與被測物之間的距離(m);c為聲波在介質中的傳輸速率(m/s);t為發送超聲波到接收超聲波的時間(s)。
本設計是以STC90C516RD+單片機為控制核心,檢測高電平持續的時間,即超聲波從發射到返回的時間,進行運算處理得出距離,LCD實時顯示此時的距離。通過鍵盤輸入確定臺燈亮度調節模式,取樣測光電路輸出的電壓值,通過A/D轉換器饋送給單片機,單片機進行調整處理,將電壓值轉化為相應的光照度,液晶屏實時顯示此時的環境光照度。利用周期方波高電平持續的長短來改變輸出到臺燈的模擬電壓大小,實現控制臺燈的亮暗。圖4所示為單片機數據采集及顯示電路。

圖4 單片機數據采集及顯示電路
A/D轉換是通過PCF8591的I2C總線通信實現。PCF8591是一種具有I2C總線接口的8位A/D轉換芯片,在與單片機的信息傳輸過程中僅靠時鐘線SCL和數據線SDA就可以實現,因PCF8591芯片內部有時鐘電路,只要在外部它們分別與單片機的P2.1和P2.0口連接。設計中主要是將硅光電池光電轉換的來的電壓信號進行模數轉換,讓單片機進行讀取并判斷電壓大小,以此來反映光照度的大小。
設計中主要用到了4個按鍵,都是相互獨立按鍵,“Automatic”鍵控制自動模式,“Manual”鍵控制手動模式,進入手動模式后按下“+”鍵光亮增加,按下“-”鍵光亮減小。這4個鍵分別與單片機的P1.1~P1.4口連接。本設計液晶顯示選用了LCD1602液晶屏,它是一種專門用來顯示字母、數字、符號等點陣型液晶模塊。設計中主要通過此電路來顯示人體與臺燈之間的距離和環境光照度。LCD1602的數據線D0-D7口通過鎖存器分別和單片機的P0.1-P0.7口連接,其RS、E端口分別與單片機P2.6和2.7口相連。
如圖5所示,當傳感器測得距離值小于給定數值時,單片機給出一個低電平信號,三極管導通,蜂鳴器發出聲音報警,發光二極管被點亮,達到提醒臺燈使用者調整坐姿保護視力的目的。

圖5 聲光報警電路
軟件系統設計流程圖如圖6所示。首先,實時檢測傳感器到人體的距離(cm)并顯示,如果距離小于25 cm,進行聲光報警,提醒使用者調整坐姿;否則,僅進行距離顯示。
設置了自動和手動調節模式,通過單片機C語言編程,利用條件嵌套語句循環檢測按鍵,四個按鍵的功能設定如下:“Automatic”鍵——自動調節亮度模式,采用脈寬調制技術(Pulse Width Modulation,PWM),通過周期方波高電平持續的長短來改變模擬電壓的大小,高電平持續的時間越長,模擬電壓越大;高電平持續的時間越短,模擬電壓越小。系統實時檢測環境光,判斷是否在700~1 000lx范圍內,小于自動增加光亮,大于則減小光亮,使燈光亮度始終保持在最佳范圍。“Manual”鍵——手動調節亮度模式,用戶根據自身對臺燈亮度的需求進行調節。“+”鍵——增強亮度,“-”鍵——減弱亮度。

圖6 軟件系統設計流程圖
將光照度計檢測到的環境光照度作為相對值;光照度檢測傳感器通過液晶屏顯示的數值作為系統測量值,計算相對誤差,部分實驗數據如表1所示。多次測量結果表明:測量相對誤差<2%;700 lx和1 000 lx臨界點測量誤差<1%。
在自動模式下,環境光照度小于700 lx時,臺燈亮度自動變亮,大于1 000 lx時臺燈亮度自動變暗,在700~1 000 lx之間時,臺燈亮度不變;在手動模式下,臺燈亮度只通過“+”鍵、“-”鍵來調節。

表1 光照度測量數據
利用刻度尺測量人體與臺燈之間的距離,與坐姿檢測傳感器通過液晶屏顯示的數值進行比較,計算相對誤差。相對誤差<2%;臨界點25 cm測量誤差為零。當距離<25 cm時,實現聲光報警。實驗數據如表2所示。

表2 距離測量
視力保護系統的設計是將傳感器、單片機與臺燈有機結合,可將環境光照度控制在700~1 000 lx范圍內,提供適于人眼的環境光照度;另外還可以提示人體保持適宜距離,從而達到保護視力的目的。