秦佳鑫,王紅梅
(浙江水利水電學院機械與汽車工程學院,浙江 杭州 310018)
近年來,我國兒童和青少年近視率居高不下,尤其在2020年新冠肺炎疫情防控期間,全國開展大規模線上教學,增加了學生在電子屏幕前的時間,導致半年期間中小學生的視力不良發生率大幅提高。2020 年10月,世界衛生組織發布了第一份《世界視力報告》,報告顯示現在全球近視人數約為26億,19歲以下近視者為3.12 億,尤其是兒童和青少年的近視率還在不斷上升,可見對于兒童和青少年的近視防治已經迫在眉睫。
用眼距離過近、用眼時間過長、照明光線過強或過弱、在行車上或走路時看書、躺著看書和營養不良均可引起近視。現有的預防近視設備主要有以下幾大類:一種是可以安裝在書桌或辦公桌上的一個機械裝置,限制用戶的用眼距離,并可以輔助限制用戶的坐姿;另一種是利用光強傳感器或測距傳感器,當光線不宜或用眼距離不當時,其報警提醒,讓用戶及時調整室內光線或用眼距離;還有一種是借助陀螺儀或壓力傳感器,協助用戶及時的糾正坐姿。但是,近年來的研究成果表明,戶外活動在降低近視發生率中發揮顯著效力,每天保證兩小時以上戶外活動可能是預防近視的最有利措施。因此,兒童近視預防輔助裝置不僅要能夠實時檢測用戶的用眼距離、坐姿、室內光線,還要具備戶外光照時間的記錄等功能,方可真正有效地輔助預防兒童近視。
本文設計的近視預防輔助裝置,除了可以實時檢測用戶的坐姿、光照強度、信息顯示和報警功能外,還具備戶外光照時間統計和計步等功能。系統以單片機為核心,由按鈕模塊、坐姿檢測模塊、燈光檢測模塊、戶外監測模塊、顯示模塊和報警模塊等組成,系統原理框架如圖1所示。

圖1 系統原理框架圖
⑴按鈕模塊:用來選擇使用模式,分為戶外模式和室內模式。
⑵坐姿檢測模塊:用來檢測使用者的坐姿是否標準。如果不符合要求,報警提醒使用者及時調整。
⑶燈光檢測模塊:用來檢測使用環境的光強等級,遇到不利于用眼的光強等級時,報警提醒使用者調高或降低燈光亮度。
⑷戶外監測模塊:除了對使用者的運動步數進行計步,還可統計戶外自然光照時間。
顯示模塊和報警模塊主要配合上述模塊以實現信息顯示和報警提醒。
本系統選用STC89C52 單片機作為控制核心,分模塊進行了原理圖設計,包括按鈕模塊、坐姿檢測模塊、燈光監測模塊、顯示模塊和報警模塊等,系統硬件原理圖如圖2所示。

圖2 系統硬件原理圖
在本系統中,除了復位電路中的按鍵以外,還設置有三個按鍵:戶外模式按鈕、室內模式按鈕、中間模式按鈕(暫停),組成按鍵電路。
坐姿檢測使用MPU6050陀螺儀傳感器,該傳感器可以檢測X、Y、Z 三軸的加速度和角加速度,并且該傳感器還集成有溫度傳感器。該傳感器的內有16 位A/D轉換器,可將測得的三軸數據通過IIC接口發送給單片機,做進一步的處理。在戶外時,還可以用來對用戶的運動步數進行計數。但是,在仿真軟件Protues的元件庫中,沒有與之對應的元件,因此該模塊在建模時,是根據陀螺儀傳感器的工作特性,自行建模并封裝的。
燈光監測模塊中,使用了兩個光敏電阻傳感器。該傳感器對光強的線性響應范圍在0-1500勒克斯,方向性強,能夠檢測固定方向的光源,本系統中用來檢測用戶所處環境的光照強度是否符合健康用眼的標準。該模塊將采集到的光照數據與健康用眼光照值的上下限進行比較,決定是否啟動報警提示。另外,該模塊還可以用來檢測戶外光照強度,并記錄光照時間。
顯示模塊中,采用LCD1602 液晶屏,主要用于顯示燈光調整提示、用戶坐姿傾斜度、陽光照射時間、步數等信息,方便使用者及時查閱和作出相應的調整。
如圖3所示,為系統的主程序流程圖。

圖3 主程序流程圖
系統工作時,先進行系統初始化,然后通過按鍵給單片機發送高低電平確定運行模式,再進行不同模式下的信息采集和處理。
MPU6050傳感器一方面用來判斷用戶的坐姿,當超過設置的閾值,則報警,以提醒用戶需要調整坐姿,當坐姿調整達到系統要求,報警信號消失。另一方面,在戶外模式時用來計步,統計用戶的運動量。使用時,需要實時讀取MPU6050 傳感器的數據,并做相應處理。該傳感器的數據傳輸口為IIC 通訊口,所以需要對總線傳輸數據進行編譯后,再供系統做進一步處理。數據采集與處理流程如圖4所示。

圖4 MPU6050傳感器的IIC通訊流程圖
另外,在戶外模式,為了提高系統計步的準確性,在算法設計時參考了三軸加速度傳感器的計步算法。首先,需要對接收到的陀螺儀數據進行均值濾波處理;然后對多次采樣得到的陀螺儀三軸加速度的最大值和最小值取平均值,將其作為動態閾值,該值還能用于判斷哪個軸最為活躍;接著設置動態精度,在讀取陀螺儀三軸數據時,需要保留一個舊數據、一個新數據以及一個當前數據,如果新數據與當前數據的變化值大于動態精度設定值,那么用當前數據取代新數據;最后進行步伐判斷與記錄,即先找到最活躍的軸,再將該軸的舊數據和新數據與其動態閾值進行對比,若舊數據大于動態閾值、新數據小于動態閾值,則認為走了一步。
本系統軟件采用C 語言編程,在Keil C51 集成開發環境下將編寫的程序進行編譯、調試,并生成目標文件,同時,利用EDA 工具軟件Proteus 繪制出電路仿真原理圖,導入Keil生成的.hex文件進行仿真調試,驗證了設計結果的可行性。
仿真調試時,由于Proteus 庫文件的限制,自己封裝的坐姿檢測模塊難以精確地反應實物的工作情況,因此進一步進行了實物的制作和調試。本實物用到的主要硬件有:STC89C52 單片機、LCD1602 顯示屏、MPU6050 陀螺儀傳感器、有源蜂鳴器、光敏電阻傳感器。實物如圖5所示。

圖5 實物圖
⑴光線監測功能調試
接通電源,按下啟動開關,系統開始運行,開機畫面顯示“Welcome to use!”。開機后,按下室內模式按鈕,系統檢測光照強度以及坐姿,屏幕顯示坐姿數據。當環境光強低于健康用眼范圍時,蜂鳴器報警,屏幕上出現“Raise”提示用戶提高環境的光線強度;當環境的光照強度在健康用眼范圍內時,蜂鳴器停止報警,屏幕的提示語消失;當環境光照強度高于健康用眼范圍時,蜂鳴器報警,屏幕上出現“Reduce”,提示用戶降低環境的光線強度。
⑵坐姿監測功能調試
當使用者坐姿傾斜超過設定閾值85,大約為25°時,蜂鳴器開始報警。
⑶戶外光照時間統計和計步功能調試
當按下戶外模式鍵時,系統開始記錄用戶的運動步數以及接受陽光照射時間并顯示。
⑷暫停功能調試
當按下中間按鈕,系統暫停。當用戶短時間內不使用該裝置時,可以使用該按鈕讓裝置停止工作,此時屏幕顯示“Please protect your eyes!”。
本文以STC89C52 單片機為控制核心,借助MPU6050 陀螺儀傳感器、光敏電阻傳感器、LCD1602液晶顯示屏、按鈕模塊等硬件設計了兒童近視預防輔助裝置,并進行了軟件設計和實物調試。結果表明:該裝置可以實現用戶坐姿的檢測與校準、室內外光線的檢測與提示、戶外自然光照時間統計和計步等功能,這可有效地輔助兒童改善不良的用眼習慣,可實現輔助兒童預防近視的目的。本裝置成本低、實用性強、易操作。但該裝置若要推廣使用,需進一步優化結構和模塊布局,以解決攜帶或穿戴不便等問題。