周 健,徐興潔,周厚明
(貴州醫(yī)科大學 生物與工程學院,貴陽 550000)
新冠病毒感染疫情下,各地區(qū)學生在家“上網(wǎng)課”已成主流。大范圍的“云端”教學,對兒童青少年近視防控工作提出極大的挑戰(zhàn)。《綜合防控兒童青少年近視實施方案》中提出了階段性的防控工作對象,分別針對家庭、學校和學生等不同的主體實施近視的防控舉措?;诖朔揽爻晒鸵咔橛醚蹘淼娜绿魬?zhàn),《兒童青少年近視防控光明行動工作方案(2021—2025 年)》發(fā)布,促進兒童和青少年視覺健康預防和控制,足以說明國家對于兒童和青少年的高度重視。2022 年“兩會”上,視覺健康的話題更是被反復提及,全民視覺健康已上升為國家戰(zhàn)略關注的高度,全方位、全流程、全周期地做好眼病防治工作具有十分重要的意義[1]。
在此情況下,急需設計一種可以對視力進行全方位保護的體系,以科學有效的方式使兒童和青少年學習環(huán)境得到最大限度的提升。本實用新型保護系統(tǒng)對學習環(huán)境進行實時探測,在準時提醒使用者戶外運動及適時休息的情況下,對視力狀況進行實時監(jiān)控。最終在可以幫助兒童青少年在保護視力、維護身體健康的前提下,高效地學習,做到勞逸結合[2]。
該系統(tǒng)針對全國范圍內每天都要閱讀和書寫的兒童及青少年,采用嵌入式技術、通信技術,設計了一套集提醒與監(jiān)控功能于一體的視力保護方式,為兒童及青少年提供視力預防及保護。根據(jù)智能視力保護系統(tǒng)實現(xiàn)的特定功能及應用場景,構建該系統(tǒng)硬件平臺時需考慮如下幾個方面:硬件總體占用空間盡量小,功耗較低,運行穩(wěn)定,操作方便。與傳統(tǒng)保護視力產(chǎn)品相比功能更豐富,使用體驗感更強。
該系統(tǒng)以STM32 單片機為核心控制單元,設計多功能視力保護器,利用光敏電阻獲取光線信號,利用超聲波傳感器獲取人眼與書本之間的距離,同時該系統(tǒng)的內部時鐘能夠自動計時并最終在TFT LCD 中實時地顯示光強、距離、時間和日期,如圖1 所示。在其中任一參數(shù)未達到設定值的情況下,系統(tǒng)會自動進行未達到項目的語音提示或蜂鳴報警。例如,按標準把用眼距離的設定值設定在33 cm 以上,在檢測到用眼距離小于33 cm的情況下,系統(tǒng)會發(fā)出“你學得太近了,請把它調正,然后接著學”的語音提示。如果用戶在5 min 之內未進行相應調整,則蜂鳴器發(fā)出蜂鳴聲,再一次提示用戶。按照標準配置用眼時長為180 min,其中45 min 內進行中間休息效果最好,每45 min 就會有語音提醒使用者注意休息或進行戶外運動。用眼環(huán)境光強值在200~400 lux范圍內最好,大于閾值時進行語音提示[3]。
圖1 系統(tǒng)總體設計框圖
根據(jù)用戶和實際需要,在易用性,I/O 接口個數(shù),系統(tǒng)功耗和主頻方面綜合考慮后最終選用ST 公司生產(chǎn)的STM32F407ZGT6 為主控芯片。該芯片采用ARM Cortex M4 內核,1 024 KB FLASH,主頻高達168 MHz。擁有3 個12 位的模數(shù)轉換器(ADC),2 個12 位數(shù)模轉換器(DAC),2 個16 路直接存?。―MA)控制器,17個定時器,1 個內存卡接口(SDIO),3 個集成電路總線(IIC),6 個串口,1 個帶日歷功能的時鐘源(RTC),1 個靜態(tài)存儲器控制器(FSMC)接口等。通過對相關信息的調閱,本芯片可以高效率地完成本設計中所有的功能。
社會在不斷發(fā)展,人們的需求在不斷變化,超聲波作為非接觸檢測技術在設計上更加精密,在應用上更加廣泛,其不會受到光線、被測物體色彩等因素的干擾。并且測量非常準確,極其便利,簡便易行,運行穩(wěn)定,傳輸速度高。所述超聲波傳感器包括用于發(fā)射超聲波的發(fā)射器,用于探測物體物理物體反射波的接收器,控制電路及電源電路。本設計中使用的HC-SR04 超聲波測距模塊能夠提供2~400 cm 非接觸式距離感測,測距精度能夠達到3 mm 以上。基本工作原理等如下。
1)利用I/O 口Trig 觸發(fā)測距并為測距提供至少10 us 高電平信號。
2)該模塊對8 個40 kHz 方波進行自動發(fā)射并自動檢測有無信號返回。
3)有信號返回時,本模塊信號接收引腳(Echo)的I/O 口處于高電平,而STM32 內定時器則開始計時,高電平的持續(xù)時間即超聲波由發(fā)射至返回。試驗距離=(高電平時間×聲速(340 m/s))/2;為提高測量精度,在θ不容忽視的情況下,如圖2 所示。
圖2 超聲波測距原理
綜合考慮,選擇HC-SR04 為該系統(tǒng)測距模塊,其既具有較高性價比又能夠最大限度滿足系統(tǒng)設計需要。
該系統(tǒng)采用光敏二極管(光敏電阻)作為光敏傳感器,對光的變化非常敏感,其功能類似于檢測開關。在沒有光照的情況下,會出現(xiàn)一個小飽和反向漏電流或暗電流,這時光敏二極管就會截止。在光照條件下,飽和反向漏電流顯著增大并形成了光電流,光電流隨著入射光的強度發(fā)生變化。當光照射到傳感器上形成空間電荷區(qū)(PN 結),能在PN 結內形成電子-空穴對,從而提高了少量載流子密度。這些載流子受到反向電壓的作用會發(fā)生漂移從而導致反向電流的增大。因此,光照強弱可用于改變電路電流。利用這種電流變化,串上電阻便可換算成電壓變化來由ADC 讀出電壓值來判斷外界光線強度,然后將其轉換并比對設置的標準閾值,大于閾值則觸發(fā)語音提醒[4]。
模塊主要包括智能語音提示和蜂鳴報警2 個部分。語音提示模塊使用ES8388 芯片進行設計,主要包括高性能低功耗高性價比音頻編解碼器、麥克風放大器、耳機放大器、數(shù)字音效及模擬混合與增益功能等。ES8388 控制采用I2S 接口與微控制單元(MCU)傳輸音頻數(shù)據(jù),并采用兩、三線接口方式配置。本實用新型系統(tǒng)可以對事先產(chǎn)生的WAV 語音提示文件進行有效解析,并在單片機控制下及時提示使用者應該休息或移動。
另外,蜂鳴器為電子訊響器一體化結構,由直流電壓提供電源,在計算機、打印機、復印機、報警器和電子玩具等設備中應用十分廣泛;并在汽車電子設備、電話機、定時器及其他電子產(chǎn)品中作為發(fā)聲器件使用。本設計使用了有源蜂鳴器,當語音提示5 min中未進行相應調節(jié)時,用戶會發(fā)出蜂鳴聲,再次提醒用戶進行調節(jié)。
近年來,TFT LCD 在嵌入式系統(tǒng)上的應用日益廣泛。本次設計所使用的電容式TFT LCD,其功能完善、觸感良好、不需要校準、透光性強,支持多點觸摸,人機交互體驗感非常強。為了節(jié)省開發(fā)成本,2.8 英寸(1 英寸等于2.54 cm)TFTLCD 模塊完全可以滿足系統(tǒng)設計要求,支持65 K 色顯示、320×240 顯示分辨率、16 位8080 并口接口,自帶觸摸功能。用戶在選擇學習模式后可在屏幕上實時顯示超聲波測距的真實數(shù)值、真實使用時長、真實光照強度及相應閾值和當前日期等信息。同時,在該系統(tǒng)中設置了3 個單獨的按鍵來調整,其中1 個為復位鍵,1 個為加運算鍵和1 個為減運算鍵。用戶在45 min 內可按需自由設定學習時長。另外,若用戶所選模式為視力檢測模式,則在屏幕上顯示視力表標準圖標進行檢測,并在檢測結束時將檢測結果顯示出來。模塊連接如圖3 所示。
圖3 顯示模塊硬件連接
該設計外圍電路設計主要有接口連接電路、觸發(fā)電路和同步電路。接通電源后系統(tǒng)即在通電狀態(tài)下工作,亦能正常工作,并在低電壓時工作。另外,出于對環(huán)保的考慮,沒有選擇電池供電而是選擇了5 V 電源,并且利用常見的安卓系統(tǒng)數(shù)據(jù)線就可以為系統(tǒng)提供電源。
本設計調試所用STM32F407ZGT6 單片機系統(tǒng),程序設計的基本任務是對操作系統(tǒng)單片機內部硬件資源進行合理利用,對其有關應用程序進行了編程,通過與邏輯運算相結合,對內部單片機內部I/O 及硬件資源進行了重新調配。編程中具體的設計思路為:首先將單片機主要應用程序設計定下來;其次,針對各軟、硬件及電路模塊基本功能與要求分別設計軟、硬件及子程序;最后,各部分軟、硬件及子程序被直接植入主應用程序。系統(tǒng)應用程序設計與編寫及單片機軟件設計都是用簡單C 語言來完成的,C 語言應用程序設計中可以用簡化編程的方法使之快速、最大限度地為人了解并得到使用者的認可,運行起來也能快速上手。主程序工作流程如圖4 所示。
圖4 系統(tǒng)軟件工作流程
該系統(tǒng)利用ADC 模數(shù)轉換器將光敏電阻傳感器從光線環(huán)境中反饋的電阻值、對應生成的電壓值變換為數(shù)字信號輸出給單片機STM32,最后通過預置光照檢測標準值針對工作狀態(tài)光線環(huán)境進行判斷,如果未滿足預設范圍值,系統(tǒng)發(fā)出報警提示[5]。
系統(tǒng)初始化超聲波測距模塊,通過STM32 承擔與超聲波傳感器端口相連,并將2 個指定頻率信號輸出到超聲波傳感器“控制端”界面,程序將單片機設置的超聲波定時器信號送給單片機開始工作,使其從此自動計時單片機及超聲波傳感器由要求發(fā)出至回來的時刻及頻率。經(jīng)檢測獲得單片機及超聲波傳感器由請求并返回定時信號,單片機及超聲波傳感器控制“接收端”界面檢測到輸出低電平后,由單片機開始立即外部中斷請求相應定時模式,而負責此聲波測距模塊自動計數(shù)的超聲波定時器自動計數(shù)系統(tǒng)運行至此完成。所需的超聲波距離值,則由負責定時器進行自動計算,并顯示于畫面。當聲波距離傳感器檢測值低于自動計數(shù)程序設定值時,系統(tǒng)發(fā)出報警信號進行提示[6]。
對模塊進行編程,使定時器計時到達45 min 時進行報警提示。先初始化定時器,當定時器處于閑置狀態(tài)時,使定時器開啟定時功能,若這個定時器被打斷,在其執(zhí)行對應數(shù)量的打斷后到達1 s,然后以秒變量增加至60 s,即1 min,這時分鐘亦逐次向上增加,直至45 min,即至程序設定值時電路報警。
本設計使用了國家標準視力表進行檢測,在進入視力檢測模式時通過對圖標“E”開口方向進行判斷以反映視力狀況,TFT LCD 顯示屏隨機產(chǎn)生視力表中的4 個不同開口方向的圖標“E”,屏幕右下方顯示上下左右4 個按鈕,當使用者判斷出清晰可見的字母開口方向時,單擊對應的屏幕按鈕。然后,單片機把得到的鍵值和程序內視力表數(shù)組比較,如果用戶回答正確,則自動產(chǎn)生下一圖標進行比較,如果用戶誤判,程序自動對標志位進行記錄1 次,首次出現(xiàn)相同行次答錯數(shù)超過3 次時,回到前一行次繼續(xù)進行檢測,若下一行次再次出現(xiàn)判斷錯誤數(shù)超過3 次,系統(tǒng)將該行次視力值記錄并顯示于屏幕。
單片機本能的運行狀態(tài)是中斷,中斷是在整個程序運行過程中,忽然碰到某一個程序有棘手問題要解決,正在執(zhí)行任務的項目將馬上中止任務,首先去處理突發(fā)狀況項目,處理完畢后回到暫停執(zhí)行的項目繼續(xù)執(zhí)行。其中既有內部中斷,也有外部中斷。STM32 中斷源產(chǎn)生中斷信號,提交給向量中斷器(NVIC),經(jīng)過判斷處理后將指令傳遞給CPU 執(zhí)行。
系統(tǒng)軟件與硬件全部設計完畢之后以Keil uVision5 為編程環(huán)境對編寫的程序文件進行HEX 格式的轉換,然后在單片機上進行燒錄,采用STLINK 仿真器對各模塊進行了仿真研究,對系統(tǒng)的運行效率和穩(wěn)定性進行了觀測,并對各模塊做了優(yōu)化和調整,最終觀測到了系統(tǒng)的總體運行狀態(tài),從而實現(xiàn)了視力保護,實現(xiàn)視力檢測等各項指標的監(jiān)測。
為了驗證系統(tǒng)的功能實現(xiàn),對系統(tǒng)進行實際測試并在上電后輸入系統(tǒng)初始界面單擊選擇學習方式,學習時間定為10 min,用眼距離定為33 cm,光線范圍定為200~400 lux。試驗結束時,系統(tǒng)發(fā)現(xiàn)對應模塊數(shù)值超出范圍時均有智能語音提醒,未做調整時間超過5 min 時系統(tǒng)會自動蜂鳴報警。點選視力檢測模式,當用眼距離、光照不在正常值范圍內時,語音提示測試環(huán)境不佳。經(jīng)調整后,正常進入視力檢測,屏幕上的測試圖標顯示的大小及順序均正常,最終測得的左右眼視力檢測值分別為左眼5.1、右眼5.3。
本研究通過分析現(xiàn)有兒童青少年視力狀況以及視力障礙產(chǎn)生的共同原因,從硬件與軟件兩方面進行設計。本系統(tǒng)不但可以實現(xiàn)學習環(huán)境、用眼距離和學習時間等信息的實時監(jiān)控,并且實時校正無意識發(fā)生的不良用眼習慣,而且還可以實現(xiàn)沒有專業(yè)人員時使用者可以獨立檢測其視力變化,并做出及時調整,功能非常豐富,且STM32 系統(tǒng)工作穩(wěn)定,可以幫助兒童和青少年更好地保護視力,顯著降低近視率和視力障礙率,有較大的推廣應用價值。缺點是各模塊聯(lián)合檢測精度有待提高,同時希望該系統(tǒng)能夠實現(xiàn)與用戶監(jiān)護人的聯(lián)合使用,有望實現(xiàn)視力檢測數(shù)據(jù)的實時傳輸,同時做到讓監(jiān)護人及青少年兒童共同保護視力。