安蒙蒙 王殊軼 劉智慧 王浴屺 黃倩文
摘要:該智能預(yù)警設(shè)備以單片機(jī)arduino UNO為控制器,采用超聲波技術(shù)來測(cè)量距離.完成了智能報(bào)警系統(tǒng)的設(shè)計(jì)。系統(tǒng)設(shè)計(jì)中用arduinoUNO單片機(jī)、HC-SR04超聲測(cè)距傳感器,蜂鳴器等完成系統(tǒng)的硬件設(shè)計(jì);以arduino IDE為軟件開發(fā)環(huán)境完成系統(tǒng)的程序設(shè)計(jì)。系統(tǒng)實(shí)現(xiàn)了報(bào)警距離的自由設(shè)定,坐姿進(jìn)入報(bào)警范圍自動(dòng)報(bào)警、坐時(shí)過長(zhǎng)自動(dòng)報(bào)警等功能,可以達(dá)到對(duì)錯(cuò)誤坐姿進(jìn)行預(yù)警、防止駝背、脊椎側(cè)彎、保護(hù)視力等功能。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);超聲波測(cè)距;報(bào)警;程序設(shè)計(jì)
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)13-0222-03
1概述
隨著科學(xué)技術(shù)的發(fā)展,各種電子產(chǎn)品也越來越多,人們經(jīng)常低頭看書或各種電子產(chǎn)品對(duì)脊椎和視力危害很大,嚴(yán)重?fù)p害身體健康。造成這些危害的原因有很多,其中一個(gè)原因就是在讀書寫字的時(shí)候頭部離書本太近,時(shí)間長(zhǎng)了以后造成的頸椎變形,眼睛疲勞。針對(duì)不正確坐姿人群在學(xué)習(xí)或工作時(shí)頭部與桌面垂直距離太近這一特點(diǎn)。設(shè)計(jì)的以arduino UNO為控制器,基于超聲波測(cè)距技術(shù)、性能良好、高精確度的坐姿預(yù)警系統(tǒng),整個(gè)系統(tǒng)核心器件集中在一個(gè)可穿戴式設(shè)備一發(fā)帶上,方便用戶使用。
2設(shè)計(jì)方案說明
報(bào)警距離的自由設(shè)定是由用戶通過電位器來設(shè)置的。判斷用戶頭部與桌面的垂直距離采用的方法是間歇的發(fā)射超聲波來探測(cè)用戶頭部與超聲波探頭的距離,當(dāng)用戶頭部與桌面垂直距離在報(bào)警距離以內(nèi)的時(shí)候,15S以內(nèi)用戶坐姿沒有回到正確范圍,蜂鳴器就會(huì)聲音警報(bào)。同時(shí)如果用戶保持坐的狀態(tài)達(dá)四小時(shí),蜂鳴器就會(huì)聲音警報(bào),提示用戶休息。
3硬件電路設(shè)計(jì)
坐姿預(yù)警系統(tǒng)系統(tǒng)主要有控制部分、超聲波發(fā)射與接收部分、報(bào)警都分。系統(tǒng)的硬件結(jié)構(gòu)圖如圖l所示。
3.1超聲波發(fā)射與接收電路的原理
利用超聲波進(jìn)行測(cè)距的時(shí)候,超聲波發(fā)生器T在某一時(shí)刻發(fā)出一個(gè)超聲波信號(hào),當(dāng)這個(gè)超聲波信號(hào)遇到被測(cè)物體反射回來后就會(huì)被超聲波接收器R接收到,如圖2。因此,要計(jì)算超聲波發(fā)生器與被測(cè)物體的距離d,只需要計(jì)算出從發(fā)出超聲波到收到返回的超聲波的時(shí)間t.聲速為v,則d=vt/2.可以測(cè)出超聲波發(fā)出器到被測(cè)物的距離,HC-SR04超聲測(cè)距傳感器是在此基礎(chǔ)上基于三角原理即可得出T與R的中點(diǎn)到被測(cè)物的距離。
具體原理:采用10口TRIG觸發(fā)測(cè)距,給至少10us的高電平信號(hào);模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;有信號(hào)返回,通過IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。試距離=(高電平時(shí)間*聲速(340M/S))/2;
本模塊性能穩(wěn)定,測(cè)度距離精確。
3.2HC-SR04超聲測(cè)距傳感器的靈敏度測(cè)試
測(cè)試結(jié)果如表1。
作出折線圖如圖3。
由圖3中可知,擬合的直線是y=0.999x-0.06981,R2的值為0.9998。因?yàn)镽2>0.99,所以這是一個(gè)線性特征非常明顯的實(shí)驗(yàn)?zāi)P?,即說明擬合直線能夠以大于99.99%地解釋、涵蓋了實(shí)測(cè)數(shù)據(jù),具有很好的一般性,可以作為標(biāo)準(zhǔn)工作曲線用于其他測(cè)量。
由實(shí)驗(yàn)可知,該傳感器在使用過程中最大誤差0.8cm.相對(duì)精確可以達(dá)到測(cè)量要求。同時(shí)測(cè)距范圍也滿足需要。
3.3報(bào)警距離設(shè)定部分的設(shè)計(jì)
為了實(shí)現(xiàn)用戶的對(duì)不同的報(bào)警距離的自由設(shè)定.采用的方法是用電位器來調(diào)節(jié)送人AD的電壓.單片機(jī)利用AD轉(zhuǎn)換獲得的數(shù)字量來確定用戶所設(shè)定的報(bào)警距離的大小。系統(tǒng)采用的Arduino UNO,采用的微處理器是ATmega328.該版本包括1 4個(gè)數(shù)字輸入輸出IO,6個(gè)模擬輸入10,1 6 M H z的晶體,USB接口,電源接口,燒錄頭,復(fù)位按鈕等。完全滿足本系統(tǒng)中模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)的精度需要,不過本系統(tǒng)中只用到了8通道AD中的其中一個(gè)通道。
3.4報(bào)警部分的設(shè)計(jì)
報(bào)警部分利用蜂鳴器的聲音報(bào)警,如果用戶頭部距離桌面垂直距離在報(bào)警范圍內(nèi)的話。將發(fā)出聲音來報(bào)警;方法是用戶頭部距離桌面垂直距離在報(bào)警范圍內(nèi)且15S以內(nèi)用戶坐姿沒有回到正確范圍,蜂鳴器就會(huì)聲音警報(bào)。同時(shí)如果用戶保持坐的狀態(tài)達(dá)四小時(shí),蜂鳴器就會(huì)聲音警報(bào),提示用戶休息。直到探測(cè)到用戶不在報(bào)警范圍時(shí)才撤銷報(bào)警,即停止蜂鳴器的報(bào)警。蜂鳴器報(bào)警的設(shè)計(jì)是通過一個(gè)普通I/O口來控制的一個(gè)蜂鳴器。
4軟件設(shè)計(jì)
4.1程序說明
本系統(tǒng)的程序的設(shè)計(jì)開發(fā)在Arduino IDE編程環(huán)境中進(jìn)行,易學(xué)易用,故采用的編程語言是C語言。ArduinoIDE是Arduino的開放源代碼的集成開發(fā)環(huán)境,2011年11月30號(hào)Arduino官方正式發(fā)布了Arduino1.0版本,這個(gè)官方的開發(fā)環(huán)境界面友好,語法簡(jiǎn)單以及能方便地下載程序,使得Arduino的程序開發(fā)變得非常便捷。作為一款開放源代碼的軟件,Arduino IDE也是由Java、Processing、avr-gcc等開放源碼的軟件寫成,其另一個(gè)最大特點(diǎn)是跨平臺(tái)的兼容性,適用于Windows、Max OS x以及Linux。并且有串行繪圖儀:可以查看Arduino運(yùn)行時(shí)的實(shí)時(shí)數(shù)據(jù),Arduino會(huì)將串行數(shù)據(jù)傳輸?shù)诫娔X上,在電腦上添加該功能就可以看到數(shù)據(jù)的變化。于以上種種優(yōu)點(diǎn),選擇其作為開發(fā)環(huán)境。
4.2主程序流程圖
本系統(tǒng)軟件設(shè)計(jì)部分的主程序流程圖如圖4所示,其中包括了系統(tǒng)初化,信號(hào)發(fā)生和接收,蜂鳴器報(bào)警的控制、AD數(shù)據(jù)采集等功能模塊。初始化程序中要對(duì)所選的Arduino uno單片機(jī)的引腳進(jìn)行工作模式的配置。還有對(duì)中斷、定時(shí)器、AD轉(zhuǎn)換等相關(guān)功能寄存器進(jìn)行初始化。
5結(jié)論
最近幾年,伴隨人機(jī)交互等技術(shù)的快速發(fā)展,在競(jìng)技體育、康復(fù)治療、體感游戲等各個(gè)方面,人體坐姿別技術(shù)得到了普遍應(yīng)用,但目前還處于剛剛起步。并且大部分都是基于圖像處理或者基于壓力傳感器,光敏電阻等的方法識(shí)別人體坐姿,應(yīng)用超聲波測(cè)距傳感器技術(shù)的坐姿識(shí)別較少。圍繞著這些問題,我們利用了基于超聲波測(cè)距傳感器的坐姿識(shí)別方法。通過系統(tǒng)的數(shù)據(jù)采集,及單片機(jī)模塊的數(shù)據(jù)分析判斷用戶是否處于不正確坐姿并給予報(bào)警。
本文的研究結(jié)論如下:
1)本文設(shè)計(jì)超聲波測(cè)距模塊,單片機(jī)數(shù)據(jù)處理模塊,及蜂鳴器預(yù)警模塊。以orduino UNO單片機(jī)作為主控制器,采集超聲波測(cè)距傳感測(cè)得的數(shù)據(jù),判斷分析后,對(duì)蜂鳴器發(fā)出命令。
2)對(duì)不同身高,不同坐姿的人群在不同坐姿下,頭部到桌面的距離做以實(shí)際抽樣測(cè)量,并經(jīng)過統(tǒng)計(jì)與分析得出正確坐姿及不正確坐姿下,頭部到桌面垂直距離的范圍。將不同坐姿與頭部到桌面垂直距離對(duì)應(yīng)起來。