基于单片机的坐姿(提醒)矫正系统设计
博主福利:100G+電子設計學習資源包!
http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect
--------------------------------------------------------------------------------------------------------------------------
?
1、系統硬件設計
寫字姿勢的控制,其根源還在于坐姿的控制。本設計是設計一個集檢測,控制,語音提醒為一體的矯正器,它通過檢測擺放位置與學生胸膛之間的距離,作為水平距離;再加上打開儀器時選擇使用者的身高來確定學生身體超出桌面部分的高度,作為垂直距離。通過勾股定理,算出當時學生視線的距離。
本設計開發的是具有語音播報功能的寫字姿勢自動矯正器。該系統具有可靠性高、實時性好、智能化等特點,系統主要由以下模塊組成。供電模塊:由穩壓移動電源提供5V穩定電壓,為整個系統供電;超聲傳感器模塊:由HC-SR04傳感器構成,主要是檢測水平距離;晶振模塊:為單片機提供合適的脈沖。液晶顯示器模塊:該模塊主要作用是向學生展示當前的視線距離,讀寫的時間。語音模塊:主要是用語音發送信息,這樣才能保證即時性。
?
?
傳感器是一種檢測裝置,由敏感元件,轉換元件和變換電路構成,敏感元件是輸入,轉換元件是輸出,變換電路起放大作用。敏感元件感受被檢測的物理量,然后把被檢測的物理量信號傳遞給轉換元件;轉換元件將敏感元件輸入的物理量信號轉換為電信號;變換電路負責對轉換元件輸出的電信號進行放大調制;轉換元件和變換電路一般還需要輔助電源供電。
?
?
本系統是以單片機控制為主的寫字姿勢自動校正器設計,可以針對不同年齡段的使用人群進行不同的判定,根據測得數據進行分析,在不屬于某個合理的范圍外,進行提醒。但其實,不同年齡段的使用人群,其主要差距還是在身高上。據相關文獻調查,青春期之前,兒童的每年平均增長身高為3-4cm,而步入青春期后,孩子每年的平均增長身高為8-10cm。
?
又通過相關文獻調查,得出不同身高的人在寫字的時候,有不同的眼距(這在相關文獻里指的是眼睛到座椅表面的高度,而在本設計中,眼距就是寫字的時候,使用者的眼睛到桌面寫字位置的距離,也叫視線距離),根據這個不同的眼距來判斷基于當前使用者身高的正確寫字范圍。如果即時檢測到的這個視線距離不在這個范圍內,那么語音模塊就會報警提示。
?
?
超聲模塊作為整個矯正系統中的基礎模塊,設計以及實現難度都較低。而HC-SR04又是一個集成度很高的模塊,不用再做什么額外的處理,就可直接使用。
?
HC-SR04超聲模塊檢測的是使用者胸膛位置到物體擺放位置的水平距離,把這個距離作為直角三角形的一條直角邊,再算法中預留另一條直角邊,那么這樣就可以算出使用者的視線距離。
?
在設計過程中,語音提示模塊由兩部分組成。一部分是蜂鳴器,一部分時集成語音模塊。蜂鳴器的作用是在使用者的當前視線距離達不到或者超出符合當前身高的正確視線范圍時,發出高頻率的聲響,向使用者報警。
?
集成語音模塊在開始使用時便錄取一段語音信息,然后在計時到達相應的計時周期時,將會播放這段語音,提示使用者應當休息。在本設計中,先模擬30s為一個計時周期,在維持正確的寫字姿勢的時候,每到一個30s,那么,語音模塊會提示使用者做相應的休息,來緩解一下視覺疲勞和讀寫疲勞。
?
?
2、系統初始化程序設計
在主程序中,導入頭文件,定義管腳,然后進行系統初始化。系統的初始化就是對每一部分的外部設備初始化,這其中也包括定時器的初始化。初始化之后,系統才會檢測數據,然后處理,報警提示,做下一步的功能實現。在程序中,聲明一個_init的函數,在函數內定義單片機管腳的地址(16進制)和高低電平值(0和1表示)。
?
3、傳感器模塊程序設計
在這一部分,先聲明一個傳感器模塊的函數,命名為song,在函數內部,再聲明傳感器模塊的標準延時,標準延時是一種精確延時,比延時函數要準確。一個_nop_就是一個時鐘周期。在主函數的實現部分,先對定時器進行初始化,使HC-SR04傳感器的輸入輸出管腳處于關閉狀態,然后發送超聲波,計算時間,最后算出距離。這個距離是水平距離。通過開始使用時選擇的身高范圍,計算出合適的視線距離,最后再比較判斷。
?
4、延時和中斷程序設計
延時和中斷是用來控制是用來控制系統的中斷和停止的。延時讓程序空運行,讓系統進行等待,中斷主要實現的是用來測量距離時的計時功能。定時器的中斷是通過晶振時鐘進行計數的,由于晶振的頻率一般來是很穩定的,所以它的脈沖頻率也很穩定。從而通過對脈沖進行計數即可得到準確的延時目的。
?
5、控制模塊程序設計
控制模塊的程序主要承擔數據對比和判斷,判斷結果的發送和程序計時以及中斷的功能。中斷部分前面小節已經詳細說明,這里不再贅述。數據的對比部分,在這里設定參數,由于按鍵輸入部分,是把身高分成了五類,每個按鍵都會響應一個值,根據這個值選取了相應的判斷依據。視線距離參數設定為20-30cm和30-40cm,計時參數設定為30s。
系統將按鍵選擇的身高范圍數據通過人體黃金比例計算出上身高度,減去桌面高與椅高的差,得出身體超出桌面部分的高度,通過傳感器檢測的水平距離,用勾股定理計算出三角形斜邊的距離,這個距離就是使用者視線的距離,然后與視線距離參數作比較。
如果超出相應范圍,控制模塊便會發送指令,讓蜂鳴器和語音模塊響應指令。這里需要注意的是,由于計算出的垂直距離在20-30cm這個范圍內時,并不會低于20cm,也就是說,在這個范圍內計算的視線距離不會小于視線距離參數。而在預想中,當視線距離小于20cm或者大于30cm或者小于30cm或者大于40cm的時候,系統都會做提示。
?
?
總結
以上是生活随笔為你收集整理的基于单片机的坐姿(提醒)矫正系统设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【论文阅读笔记】Explaining A
- 下一篇: java信息管理系统总结_java实现科