韓金威
(南陽(yáng)醫(yī)學(xué)高等專(zhuān)科學(xué)校,河南 南陽(yáng)473000)
隨著社會(huì)人口比例變化,大多數(shù)家庭都出現(xiàn)了老人多,年輕人少的情況,老人照顧不到位,老人安全問(wèn)題成為每個(gè)家庭的安全隱患。老年人摔倒現(xiàn)象時(shí)有發(fā)生,摔倒本身不會(huì)出現(xiàn)多大問(wèn)題,但摔倒后處理不當(dāng)會(huì)造成嚴(yán)重后果。因此實(shí)時(shí)了解老年人獨(dú)自上街的行為狀態(tài)十分重要。本文針對(duì)相關(guān)問(wèn)題開(kāi)展研究,設(shè)計(jì)出對(duì)應(yīng)跌倒報(bào)警器,以51 單片機(jī)為設(shè)計(jì)系統(tǒng)核心,包括可以檢測(cè)出跌倒信號(hào)的傳感器ADXL345 進(jìn)行跌倒識(shí)別,GPS 模塊VK2828U7G5LF 部分實(shí)時(shí)檢查老人位置信息,GSM 模塊的SIM900 能給監(jiān)護(hù)人發(fā)去老人摔倒位置信息,使摔倒老人及時(shí)得到救助治療,降低摔倒后的不利后果。
SIM900A 是通過(guò)串口發(fā)送AT 指令來(lái)完成控制的,所以我們需要一塊多串口的51 單片機(jī)STC12C5A,檢查好電源和接地后,SIM900A 的TXD 和RXD 分別連接到STC12C5A 的P3.0 和P3.1 即可。當(dāng)ADXL345 檢查到老人摔倒數(shù)據(jù)后,通過(guò)單片機(jī)指令實(shí)現(xiàn)老人摔倒后位置信息的發(fā)送。
VK2828U7G5LF 通過(guò)串口通信與單片機(jī)進(jìn)行數(shù)據(jù)傳輸,當(dāng)芯片的PPS 指示燈1 秒一閃爍綠燈時(shí),它就開(kāi)始實(shí)時(shí)定位了,它給單片機(jī)傳輸獲得的定位數(shù)據(jù),里面有、時(shí)間、位置信息等,只要產(chǎn)品開(kāi)機(jī)并且該模塊有信號(hào)就實(shí)時(shí)檢查老人位置信息。通過(guò)STC12C5A60S2 對(duì)數(shù)據(jù)處理,讓GSM模塊把信息發(fā)送到指定手機(jī)號(hào)上。例如多個(gè)監(jiān)護(hù)人電話(huà)號(hào)碼、醫(yī)院急救車(chē)電話(huà)等。
ADXL345 是一款三軸、數(shù)字化的加速度傳感器,它能測(cè)X、Y、Z 三個(gè)方向軸上的對(duì)應(yīng)的速度信號(hào)。該模塊能夠?qū)Ω鞣N條件下的加速度進(jìn)行檢測(cè)。第一步主要通過(guò)其自帶的感應(yīng)器檢測(cè)出加速度信號(hào),然后進(jìn)行信號(hào)轉(zhuǎn)換,轉(zhuǎn)換為可識(shí)別的模擬信號(hào),從模擬信號(hào)和數(shù)字信號(hào)的定義可知,模擬量和數(shù)字量有著本質(zhì)的差異。模擬信號(hào)具有幅度和時(shí)間上連續(xù)的特點(diǎn);而數(shù)字量在表達(dá)幅度大小的數(shù)字域和時(shí)間域上均是離散的。當(dāng)檢查到老人摔倒時(shí),通過(guò)單片機(jī)里的程序指令,讓GSM模塊發(fā)出求救信息,并使蜂鳴器報(bào)警。
STC12C5A60S2 的主要功能有許多,作為核心控制模塊可很好通過(guò)I/O 口對(duì)傳感器,ADC0832 模數(shù)轉(zhuǎn)換器,LCD1602 液晶顯示器進(jìn)行控制。該單片機(jī)是51 單片機(jī)分支,可兼容51 單片機(jī)旗下所有單片機(jī)。當(dāng)前流通單片機(jī)大多數(shù)為CPLD 和C51,這兩種單片機(jī)所針對(duì)系統(tǒng)不同。CPLD 針對(duì)功能復(fù)雜多樣的系統(tǒng),所需控制模塊較多的系統(tǒng),性?xún)r(jià)低。C51 單片機(jī)所針對(duì)的系統(tǒng)功能較簡(jiǎn)單,所需控制模塊較少系統(tǒng),性?xún)r(jià)比較高,使用性較強(qiáng)。
該單片機(jī)部分引腳功能特點(diǎn)為:PO 端口是I/O 端口的一種。I/O 端口是一個(gè)雙工接口,有in 口和out 口。PO 端口需要在外部添加一個(gè)上拉電阻以改善阻抗。更特殊的P1 端口是P1.0和P1.1。這兩個(gè)定時(shí)器可用作微控制器中的定時(shí)器。編程時(shí),這個(gè)接口接收低8 位的地址字符,內(nèi)部有一個(gè)上拉電阻和一個(gè)雙向輸入接口,用于系統(tǒng)編程。P2 端口和P1 端口之間存在明顯差異,當(dāng)作為輸出口時(shí),在連接外部系統(tǒng)是默認(rèn)作為低電平,此外內(nèi)部含有一個(gè)電阻,此電阻能帶動(dòng)四個(gè)低電平,在訪(fǎng)問(wèn)外載寄存器時(shí),輸出高8 位。
P3 口和其他接口還不一樣。該接口內(nèi)部也有電阻,但其在用C 語(yǔ)言編程時(shí),一些不被其他接口檢測(cè)到的控制信號(hào)它也能接受。P3 口同時(shí)具有8 位雙向I/O 接口。一些Flash 閃存也可被P3 口接收,并接受一些控制信號(hào)。
RST 端口為重置輸入。當(dāng)振蕩器運(yùn)行工作時(shí),按下復(fù)位按鈕能復(fù)位RST 引腳。
ALE/PROG 端口可作為地址鎖存器或編程脈沖。當(dāng)ALE/PROG 端口作為編程脈沖,工作時(shí)要對(duì)Flash 編程。當(dāng)ALE/PROG 端口用作地址鎖存器時(shí),問(wèn)外部程序存儲(chǔ)器或正確訪(fǎng)問(wèn)存儲(chǔ)器時(shí),仍然是固定脈沖信號(hào),是時(shí)鐘振蕩周期的6 倍。
PSEN 是否允許控制程序的存儲(chǔ)是其功能,每個(gè)運(yùn)行周期允許兩次的時(shí)候有效。EA/VPP 是允許外部訪(fǎng)問(wèn)的開(kāi)關(guān)。如果CPU要想連接外部存儲(chǔ)器,就保持EA 低電平。
本系統(tǒng)設(shè)計(jì)主要用Keil 軟件進(jìn)行C 語(yǔ)言編寫(xiě)進(jìn)而控制單片機(jī)進(jìn)行工作,然后進(jìn)行程序調(diào)試,看是否有異?;蝈e(cuò)誤。要把程序燒錄進(jìn)去,當(dāng)編寫(xiě)程序時(shí),由于系統(tǒng)本身原因,會(huì)出現(xiàn)很多問(wèn)題。在軟件調(diào)試過(guò)程中有些過(guò)程可能太短或延遲太長(zhǎng),如按鈕的消抖動(dòng)過(guò)程中時(shí)間較短,會(huì)導(dǎo)致連續(xù)值等,并將在此過(guò)程中不斷修改。在編寫(xiě)完程序后檢查該程序編寫(xiě)是否存在錯(cuò)誤,以便為后續(xù)硬件調(diào)試減少麻煩。該軟件可生成一個(gè)HEX 文件,允許刻錄到微控制器,該軟件編譯、操作都方便簡(jiǎn)單。
當(dāng)程序編譯成功后,再將程序燒錄進(jìn)去開(kāi)發(fā)板內(nèi),進(jìn)行與硬件電路板對(duì)應(yīng)各種元器件相結(jié)合共同工作。最后,當(dāng)程序燒錄結(jié)束后,開(kāi)始進(jìn)行對(duì)各部分元器件工作性能檢測(cè),并使用萬(wàn)用表對(duì)線(xiàn)路中各部分元器件間連接進(jìn)行檢測(cè),看是否發(fā)生某元器件短路。如果沒(méi)有則開(kāi)始對(duì)硬件部分的主控制板進(jìn)行檢測(cè),觀察當(dāng)對(duì)應(yīng)按鍵接通時(shí),數(shù)碼管對(duì)應(yīng)的顯示情況。并檢驗(yàn)傳感器能否根據(jù)給出的觸發(fā)信號(hào),發(fā)出相應(yīng)指令給系統(tǒng)。
最后階段遇到的問(wèn)題與相應(yīng)處理方法:
使用萬(wàn)用表檢測(cè)線(xiàn)路各部分的連接時(shí)發(fā)現(xiàn)有一個(gè)電阻發(fā)生短路,經(jīng)過(guò)觀察發(fā)現(xiàn),是在進(jìn)行焊接時(shí),焊錫使用的太多導(dǎo)致的,最后又使用電烙鐵進(jìn)行加熱,并重新進(jìn)行焊接,之后再用萬(wàn)用表進(jìn)行檢測(cè)時(shí)發(fā)現(xiàn)電路各處連接正常。
在各部分裝置都安裝焊接完畢后,進(jìn)行實(shí)際運(yùn)行操作時(shí)發(fā)現(xiàn),當(dāng)供給電源后,小喇叭一直不停發(fā)出雜音,經(jīng)過(guò)認(rèn)真檢查,發(fā)現(xiàn)對(duì)應(yīng)的三極管的引腳連接出錯(cuò),經(jīng)過(guò)修改后,其可以正常工作。
報(bào)警器在收到人體給出的正確指令時(shí),報(bào)警器沒(méi)有反應(yīng),這個(gè)問(wèn)題困擾了我很久,然后經(jīng)過(guò)檢查硬件電路各元器件間對(duì)應(yīng)外部連線(xiàn)時(shí)發(fā)現(xiàn),發(fā)現(xiàn)線(xiàn)路連接都是正確,最后經(jīng)過(guò)對(duì)程序重新整理時(shí)發(fā)現(xiàn),報(bào)警器對(duì)應(yīng)程序編寫(xiě)少編寫(xiě)了聲音檢測(cè)部分。最后通過(guò)對(duì)該程序添加后,確保各部分都準(zhǔn)確無(wú)誤后,再重新給傳感器以正確指令信號(hào),這時(shí)報(bào)警器發(fā)出警報(bào),整個(gè)裝置都可以成功運(yùn)行。
GSM模塊的SIM900A 開(kāi)始尋找信號(hào)一秒一閃,搜索信號(hào)完成變?yōu)閮擅胍婚W。GPS 模塊VK2828U7G5LF 背面綠燈閃爍,表明GPS 信號(hào)定位完成。ADXL345 模塊燈常亮,表明工作正常。
首先設(shè)置接受號(hào)碼,通過(guò)手機(jī)短信指令設(shè)置,手機(jī)編輯短信PHONE SMS:A(A 為接收?qǐng)?bào)警預(yù)留號(hào)碼)發(fā)送給插在GSM模塊上卡的電話(huà)號(hào)碼。接受完成后會(huì)反饋“SET END”表示設(shè)置成功。
用板子傾倒來(lái)模擬老人摔倒后的狀態(tài),當(dāng)板子傾倒時(shí)ADXL345 檢測(cè)到信號(hào),通過(guò)單片機(jī)代碼指令,繼電器此時(shí)熄合,紅色指示燈常亮(圖1)。當(dāng)傾倒15 秒以后仍未樹(shù)立起來(lái)后,蜂鳴器開(kāi)始報(bào)警,并且GSM模塊發(fā)送報(bào)警短信到監(jiān)護(hù)人手機(jī)上(圖2)。
圖1 模擬老人摔倒
圖2 手機(jī)收到報(bào)警短信
當(dāng)老人站起來(lái)時(shí),報(bào)警蜂鳴器報(bào)警取消,繼電器紅燈熄滅,如圖3 所示GSM模塊發(fā)送“老人已站起來(lái)了,請(qǐng)打電話(huà)確認(rèn)情況”短信到監(jiān)護(hù)人手機(jī)上如圖4 所示。
圖3 模擬老人站起
圖4 手機(jī)收到站起短信