張 祥,張治航,盛士強,石雅文
(南京工程學院,南京 211100)
目前老齡化現(xiàn)象嚴重,因為人口老齡化導致的問題層出不窮,雖然現(xiàn)在市場上也有一些類似的老人智能手表之類的產(chǎn)品,但其只能檢測一些最基礎的數(shù)據(jù),其過于智能化,老人使用時會出現(xiàn)各種問題,而且價格不菲。而我們的設計不僅可以檢測一些基礎數(shù)據(jù),并且可以對老人姿態(tài)進行判別,可以有效對老人跌倒進行報警,使老人得到及時治療,對提高社會和經(jīng)濟效益起著至關重要的作用。
本設計采用STM32單片機完成對整個設計的控制,另外搭載傾角傳感器、心率傳感器、北斗模塊、溫度傳感器等實現(xiàn)對用戶姿態(tài),心率,位置,溫度各方面身體數(shù)據(jù)以及姿態(tài)的監(jiān)測,數(shù)據(jù)最終顯示在OLED顯示屏上,本設計最主要的單元是傾角傳感器模塊,根據(jù)設定的姿態(tài)角臨界值和時間臨界值,檢測人體姿態(tài)角是否超過正常范圍,從而判斷老人姿態(tài)。姿態(tài)為跌倒時,GSM通信模塊發(fā)送GPS定位信息以及老人姿態(tài)信息到監(jiān)護人手機上實現(xiàn)及時救助,總體設計框圖如圖1所示。
本設計采用STM32F103C8T6作為主控芯片,它主要完成數(shù)據(jù)采集,處理,輸出,發(fā)送到PC端等功能,是整個產(chǎn)品正常高效率工作的基礎。STM32F103C8系列的單片機搭載1個PWM定時器,還有2個12位的ADC和3個16位定時器。除此之外,它搭載的32位高性能ARMCortexM3RISC內(nèi)核性能高,I/O端口眾多,內(nèi)置存儲器速度快?;谝陨线@些優(yōu)點,我們選擇了此款單片機,這款單片機也是時下最熱門的幾款單片機之一。
現(xiàn)實生活中,一個人站立與跌倒時身體與地面夾角是不同的,人正常站立時,人與地面的夾角約為90°。但是當人跌倒時,人與地面的夾角最終約為0°?,F(xiàn)在我們對人體與地面夾角的臨界值進行分析,通過判定老人與地面的夾角是否超過我們設定的臨界值判斷人體是否跌倒。跌倒有多種情況:前跌倒、后跌倒、側跌倒。我們對人體以腰部為原點,X軸是人體左手方向,Y軸垂直于人體向上,Z軸是人體前進方向建立人體坐標系,ax、ay、az分別表示ADXL345傳感器采集到的3個方向的加速度值,根據(jù)這三個方向的加速度值,建立相應的數(shù)學立體模型,最終得出3個方向的姿態(tài)角。其中:
其中x0,y0,z0分別為x,y,z軸與地面的夾角;因為無論是前跌倒、后跌倒、側跌倒,y軸都產(chǎn)生了巨大變化,所以我們對y軸與地面的夾角y0設置臨界值進行判斷人體的姿態(tài),下面我們對向后傾倒狀態(tài)下三個夾角進行測量,得出以下折線圖如圖2所示。根據(jù)圖2,我們可以發(fā)現(xiàn),人體傾倒時,y0和z0在短暫時間里發(fā)生巨大變化,從90°幾乎變成0°,因此,我們將臨界值設成45°進行姿態(tài)判別。
但我們考慮到現(xiàn)實生活中的彎腰撿東西、睡覺躺下等動作也會導致姿態(tài)角發(fā)生很大變化導致報警,為了防止誤報警現(xiàn)象,我們再次對時間設置臨界值。
算法分為以下幾步:
(1)當檢測到姿態(tài)角小于45°時,系統(tǒng)延時7秒,進行下一次檢測。
(2)若再次檢測姿態(tài)角沒有小于45°,則不報警,反之則開始報警。
(3)若初步判定為跌倒狀態(tài),再次延時10秒,再次檢測,若姿態(tài)角仍小于45°則通過GSM通信模塊發(fā)送短信給監(jiān)護人。
(4)最后繼續(xù)監(jiān)測姿態(tài)角,當姿態(tài)角過一段時間大于45°時,再次發(fā)信息告知監(jiān)護人老人的情況,讓監(jiān)護人聯(lián)系確認。
為了進一步防止誤報,我們設置了一個清除按鈕,即碰到一些例如彎腰時間比較長的情況報警時,老人可以在報警后10s內(nèi)按清除按鈕解除報警,這樣系統(tǒng)不會發(fā)送信息。
圖2 向后傾倒時姿態(tài)角變化
心率傳感器的實現(xiàn)原理是光電容積法。當傳感器的光束照射透過人體血管時,人體脈搏跳動導致血管容積發(fā)生微弱變化,最終改變這束光對血管的透光率,然后心率傳感器通過內(nèi)置的光電轉(zhuǎn)換器接收人體皮膚組織反射的光線,最終將反射的光信號轉(zhuǎn)變?yōu)榭蓹z測的電信號放大輸出。因為心臟的搏動導致脈搏跟著心臟做周期性變化,最終血管容積也跟著做周期性變化,所以心率就是光電轉(zhuǎn)換器的電信號變化周期。用戶將手指放在傳感器上就可以檢測出自己的心率值。
ATK-SIM800C模塊是ALIENTEK開發(fā)的一款高性能工業(yè)級GSM/GPRS模塊,功能完善,適用于通信服務的各種領域,SIM800C模塊與服務器建立通訊實現(xiàn)了真正意義上的物聯(lián)網(wǎng)應用,它突破了Wi-Fi模塊的距離局限和藍牙模塊的短距離傳輸瓶頸。該模塊只要在有移動網(wǎng)絡信號覆蓋的環(huán)境下就能與控制端進行基于TCP/IP協(xié)議的點對點數(shù)據(jù)傳輸,從而實現(xiàn)不限距離的遠程控制,它與GSM網(wǎng)絡業(yè)務進行交互從而實現(xiàn)老人身體姿態(tài)數(shù)據(jù)的傳輸,從而讓家人了解老人的姿態(tài)信息。
設計中采用的是北斗三代雙模式系統(tǒng)模塊。它采用卡爾曼濾波等優(yōu)化算法實現(xiàn)其定位功能,它還融合多個GNS系統(tǒng)使其系統(tǒng)定位精度更高。它目前主要運用于交通導航、實時監(jiān)控等領域,它的功耗低于其他同類產(chǎn)品、工作時間長、價格低、集成度高,尺寸較小,在要求環(huán)保節(jié)能領域應用更加廣泛。它可以勝任各種復雜的環(huán)境,捕獲與跟蹤能力強,連續(xù)定位結果可靠。
DS18B20是一款單總線數(shù)字式溫度傳感器,結構簡單,不需要外接電路,可用一根I/O數(shù)據(jù)線既供電又傳輸數(shù)據(jù),性能優(yōu)越。DS18B20在出廠時以配置為12位,讀取溫度時共讀取16位,當前5位為1時,讀取的溫度為負數(shù);用戶通過將傳感器感溫頭放置在咯吱窩就能實時監(jiān)測自己的溫度。
本設計,通過ADXL345檢測老人是否摔倒,老人摔倒,蜂鳴器會報警,摔倒超過15S老人仍未站起來,單片機會通過GSM模塊給所綁定的手機號進行發(fā)送提示短息,信息里有最近一次的GPS的定位信息以及老人的狀態(tài),判斷跌倒流程圖分別如圖3所示:
圖3 跌倒流程圖
我們對我們的設計進行了系統(tǒng)的測試,測試結果如表1所示。
表1 實驗結果
分析:正常行走實驗中,姿態(tài)角沒有發(fā)生很大變化,在臨界值范圍內(nèi),故報警器未報警,快速坐下實驗中,姿態(tài)角沒有超過45°,均在臨界值范圍內(nèi),故報警器未報警。人體向后跌倒時,身體僅繞Z軸旋轉(zhuǎn),y0最終變?yōu)?°,遠小于設定的臨界值45°,報警器報警。準確率可以達到98%。
實物圖如圖4所示:
圖4 實物圖
本設計通過設置時間以及與地面夾角的臨界值,加上相應的邏輯判斷完成老人狀態(tài)的判斷,經(jīng)過試驗證明,本設計準確率高,能有效監(jiān)測老人的身體數(shù)據(jù)以及判別老人的姿態(tài),成本低,容易操作,在現(xiàn)代老人監(jiān)護等領域有較廣的應用前景。