《具備定位和障礙物檢測功能的基于單片機(jī)的智能盲人拐杖設(shè)計》11000字(論文)_第1頁
《具備定位和障礙物檢測功能的基于單片機(jī)的智能盲人拐杖設(shè)計》11000字(論文)_第2頁
《具備定位和障礙物檢測功能的基于單片機(jī)的智能盲人拐杖設(shè)計》11000字(論文)_第3頁
《具備定位和障礙物檢測功能的基于單片機(jī)的智能盲人拐杖設(shè)計》11000字(論文)_第4頁
《具備定位和障礙物檢測功能的基于單片機(jī)的智能盲人拐杖設(shè)計》11000字(論文)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

[15]。通過算法可以得到距離,即距離測試距離=(聲速*計時器獲取高電平的時)/2(即:S=v*t/2)。圖4-1為超聲波模塊原理圖對應(yīng)程序的設(shè)計如圖4-2所示,首先,設(shè)置一個沒有溫度補(bǔ)償?shù)墨@取距離函數(shù)Get_Distance_Value(),在這個函數(shù)里先定義一個存儲變量,來存儲舊的數(shù)據(jù)old_dat,然后定義變量i為一個延時函數(shù)的計數(shù)變量。接著,進(jìn)入一個判斷語句,判斷超聲波開始測量數(shù)據(jù)的標(biāo)志位HC_start是否處于測量狀態(tài),若是處于測量的狀態(tài),那么就進(jìn)入到if語句里執(zhí)行一次距離的測量。將測量數(shù)據(jù)標(biāo)志位重新賦值為0,設(shè)置控制端TRIG輸出高電平,程序進(jìn)入一個10ms的延時后,使模塊開始啟動并發(fā)出測距的信號,通過判斷接收端ECHO和高八位定時器的狀態(tài)來控制定時器0的開始計時和結(jié)束計時,通過定時器里得到的計時數(shù)值進(jìn)行數(shù)據(jù)處理后得出實(shí)際的距離。最后,對所測量的距離進(jìn)行數(shù)據(jù)判斷,由于所用的超聲波模塊僅能提供的非接觸式距離只有2cm-400cm,所以當(dāng)超出這個距離的時候,要對其進(jìn)行超限額的數(shù)據(jù)處理,此時的數(shù)據(jù)為上一次測量的舊數(shù)據(jù)old_dat。如果在這個范圍內(nèi)就將此時的數(shù)據(jù)賦值給舊數(shù)據(jù)old_dat。圖4-2為超聲波檢測程序流程圖4.2數(shù)碼管顯示電路程序設(shè)計數(shù)碼管顯示距離的程序設(shè)計如圖4-3所示,首先,對數(shù)碼管進(jìn)行配置與初始化,定義Dis_Data[]數(shù)組存儲不帶小數(shù)點(diǎn)的顯示段碼表,Dis_Data1[]數(shù)組存儲帶小數(shù)點(diǎn)的顯示段碼表和put[4]數(shù)組為顯示的4位數(shù)碼管。如圖4-4所示,將數(shù)碼管的位選端分別與單片機(jī)進(jìn)行相應(yīng)的端口配置。其次,定義顯示函數(shù)Nixie_tube(),通過set變量判斷是否處于設(shè)置閾值距離界面。當(dāng)set=1時,數(shù)碼管所顯示的為設(shè)置閾值距離界面,將第一個數(shù)碼管顯示Dis_Data[13]的內(nèi)容為“L”,當(dāng)距離小于99cm的時候,第二位數(shù)碼管顯示Dis_Data[10]的內(nèi)容為全滅不顯示,通過對超聲波距離閾值Dist_L進(jìn)行取余運(yùn)算后顯示到相應(yīng)的數(shù)碼管上。當(dāng)set=0時,數(shù)碼管所顯示的是超聲波模塊實(shí)時獲取的距離顯示,由于測距經(jīng)度最多只能達(dá)到三位數(shù),因此第一個數(shù)碼管就不需要顯示,因此將其賦值put[0]=Dis_Data[10]的內(nèi)容為全滅不顯示,剩下的三位數(shù)碼管顯示就是對得到的距離Dist進(jìn)行數(shù)據(jù)處理后分別顯示到相應(yīng)的數(shù)碼管上。最后,就是設(shè)計一個動態(tài)數(shù)碼管的顯示函數(shù)Nixie_display(),使數(shù)碼管的事實(shí)更為流暢,進(jìn)行消影的處理。圖4-3為數(shù)碼管顯示電路原理圖圖4-4為數(shù)碼管顯示程序流程圖4.3報警電路程序設(shè)計報警提示電路的程序設(shè)計主要可以分為兩部分,一部分是光敏檢測電路,另一部分則是與障礙物距離過近時的緊急提示電路。光敏檢測電路原理圖如圖4-5所示,開始前先對IO口進(jìn)行配置,將LM393的光照檢測IO口與單片機(jī)的P1.4連接,蜂鳴器IO口接在P2.4,震動電機(jī)IO口接在P1.1,并且設(shè)置一個蜂鳴器的報警標(biāo)志位Beep_Flag。接著就是將上述所需的兩部分的功能全部整合在一個處理函數(shù)dispose_code()里,如圖4-6所示,對模擬電壓量的采集,由于所使用的LM393是低電平觸發(fā),所以檢測到暗環(huán)境的時候就會變成低電平,此時將LM393的值賦值給LED,這樣就能夠?qū)崿F(xiàn)在暗環(huán)境下亮燈的功能。圖4-5為光檢測電路原理圖圖4-6為光敏檢測程序流程圖距離判斷程序的設(shè)計如圖4-7所示,首先進(jìn)行初始化配置,在接通電源的3秒后,通過對超聲波測距所得到的距離與閾值距離進(jìn)行判斷,當(dāng)測量的距離Dist小于閾值距離Dist_L的時候,將蜂鳴器標(biāo)志位Beep_Flag賦值為1,將此時的距離Dist賦值給語音播報函數(shù)WT588_Space_code()。當(dāng)定時器1的中斷里接收到報警標(biāo)志位Beep_Flag=1時,蜂鳴器與震動電機(jī)根據(jù)距離的遠(yuǎn)近進(jìn)行提示,每隔10s也能播報一次當(dāng)前與障礙物的距離,直到與障礙物的距離大于所設(shè)置的閾值距離才停止播報。圖4-7為避障緊急提示程序流程圖4.4按鍵輸入電路程序設(shè)計按鍵輸入電路原理圖如圖4-8所示,單片機(jī)通過判斷按鍵是否被下實(shí)現(xiàn)不同功能的控制。按鍵一、二、三分別接在單片機(jī)的P1.5、P1.6、P1.7端口。三個按鍵分別有三個不同的功能。按鍵一用來設(shè)置閾值距離,按鍵二用來語音提醒路上行人注意禮讓,按鍵三用來發(fā)送求助短信的功能。圖4-8為按鍵輸入電路原理圖按鍵輸入程序的設(shè)計如圖4-9所示,對按鍵部分的IO口進(jìn)行初始化配置,接著對按鍵掃描部分進(jìn)行設(shè)計,定義一個按鍵掃描函數(shù)Scan_keyscan(),在這個函數(shù)里分別對三個按鍵進(jìn)行掃描判斷。按鍵的判斷是通過if語句進(jìn)行判斷,先判斷按鍵一是否被按下,當(dāng)按鍵一被按下的時候按鍵一的標(biāo)志位key1_flag為1,定義一個設(shè)置變量set來表示是否處于設(shè)置閾值界面,對扇區(qū)先進(jìn)行擦除IapEraseSector(0x0200),切換時,進(jìn)行扇區(qū)的存儲閾值數(shù)據(jù)IapProgramByte(0x0201,Dist_L)。其次,對按鍵二的判斷,與按鍵一的判斷原理一致,通過判斷set變量的值來決定此時按鍵二的功能。如若處于設(shè)置功能,那么按鍵二所能實(shí)現(xiàn)的是距離加的功能。反之,實(shí)現(xiàn)的是手動語音播報的功能,將手動標(biāo)志位Hand_Space賦值為1,此時就能進(jìn)行手動語音播報。最后,對按鍵三的判斷,與上述按鍵判斷原理一致,當(dāng)按鍵的功能處于設(shè)置功能的時候,按鍵三所能實(shí)現(xiàn)的是距離減的功能,反之則是手動發(fā)送短信的功能,將短信發(fā)送的標(biāo)志位GSM_Send賦值為1具體短信內(nèi)容變量GSM_Send_Num也賦值為1,此時能達(dá)到一個發(fā)送實(shí)時短信的功能。圖4-9為按鍵控制程序流程4.5GPS/北斗雙模定位電路程序設(shè)計GPS/北斗雙模定位的電路原理圖如圖4-10所示,定位模塊的TX端口接單片機(jī)的P1.2端口,RX端口接單片機(jī)的P1.3端口。當(dāng)定位模塊接通電源后獲取信號,該模塊就能實(shí)時獲取經(jīng)緯度信息,通過對所獲取的信息進(jìn)行判斷,選取有用的信息,將具體的經(jīng)緯度信息寫入到電路中的存儲電路中去。圖4-10為GPS/北斗定位電路原理圖GPS/北斗雙模定位的程序設(shè)計如圖4-13所示,主要是通過串口2接收經(jīng)緯度信息,對定位模塊返回的信號進(jìn)行數(shù)據(jù)處理與篩選,提取出有用信息。設(shè)置一個GNS_Buff[256]為接收數(shù)據(jù)的數(shù)組,GNS_Num為數(shù)組下標(biāo),jing_du和wei_du為經(jīng)緯度變量。當(dāng)定位模塊獲取到衛(wèi)星信號的時候,就會向單片機(jī)返回數(shù)據(jù),對所接收到的數(shù)據(jù)進(jìn)行判斷,篩選出帶有經(jīng)緯度信息的$GNGLL的指令(如圖4-11所示),將指令的內(nèi)容按字符存進(jìn)接收數(shù)據(jù)數(shù)組GNS_Buff[256]里。為了將數(shù)組里的字符轉(zhuǎn)換成具體的數(shù)值賦值給經(jīng)緯度變量,所以將數(shù)組里代表經(jīng)緯度的每個字符裝換成相應(yīng)的ASCII碼值再乘以相應(yīng)的權(quán)重最后累計相加,得到的數(shù)據(jù)就是具體的經(jīng)緯度信息。最后,將每一次定位模塊讀取到的經(jīng)緯度通過數(shù)據(jù)處理存儲進(jìn)存儲電路中,以便于短信的讀取調(diào)用。圖4-11為定位模塊獲取的指令數(shù)據(jù)信息經(jīng)緯度數(shù)據(jù)處理過程:經(jīng)度= ((('1'-0x30)*100000000)+(('1'-0x30)*10000000)+(('7'-0x30)*1000000))+((((('3'-0x30)*10)+('9'-0x30))*100000)/6)+((((('1'-0x30)*1000)+(('3'-0x30)*100)+(('6'-0x30)*10)+('8'-0x30))*10)/6);(4.1)緯度= (('2'-0x30)*10000000+('4'-0x30)*1000000)+((((('3'-0x30)*10)+('0'-0x30))*100000)/6)+((((('8'-0x30)*1000)+(('1'-0x30)*100)+(('4'-0x30)*10)+('7'-0x30))*10)/6);(4.2)表4-12協(xié)議內(nèi)容表圖4-13GPS/北斗雙模定位程序流程圖4.6GSM通信模塊電路程序設(shè)計GSM通信模塊的原理圖如圖4-14所示,該模塊配置完信息后單片機(jī)與GSM就可以進(jìn)行相互通信,當(dāng)使用者按下觸發(fā)報警按鍵的時候就可以實(shí)現(xiàn)GSM實(shí)時發(fā)送定位信息給綁定的手機(jī)端。GSM短信發(fā)送的程序設(shè)計如圖4-15所示,將系統(tǒng)進(jìn)行配置串口定時中斷,對串口2進(jìn)行聲明,初始化串口的波特率為9600,程序中定義一個串口發(fā)送單字節(jié)函數(shù)與串口發(fā)送字符串函數(shù)。通過單片機(jī)的串口2給GSM模塊發(fā)送AT指令進(jìn)行初始化配置,初始化配置的這部分指令并不是全部一起發(fā)送,而是逐條進(jìn)行指令發(fā)送,Uartdat_byte("AT\r\n")是向單片機(jī)發(fā)送AT指令;Uartdat_byte("ATE1\r\n")是設(shè)置回顯模式,有利于調(diào)試模式;Uartdat_byte("AT+CNMI=3,2,2,0,1\r\n")是對GSM模塊進(jìn)行設(shè)置;Uartdat_byte("AT+CMGF=1\r\n")是對GSM模塊配置,設(shè)置短信文本模式,Uartdat_byte("AT+COPS?\r\n")是對GSM模塊進(jìn)行查詢網(wǎng)絡(luò)。當(dāng)GSM模塊接收到串口2逐條發(fā)送過來的指令并逐條返還確認(rèn)指令,單片機(jī)串口2接收到數(shù)據(jù)就會觸發(fā)中斷,進(jìn)行循環(huán)的操作。最后,從存儲模塊中得到的數(shù)據(jù)進(jìn)行加工處理后,單片機(jī)通過Memory_Phone()中存儲的手機(jī)號,利用Read_Phone()讀取手機(jī)號后經(jīng)過串口2發(fā)送指令到GSM模塊,模塊就能發(fā)送具體的經(jīng)緯度信息到手機(jī)端。圖4-14為GSM通信模塊電路原理圖圖4-15GSM短信發(fā)送程序流程圖5系統(tǒng)功能調(diào)試與測試基于GPS/北斗定位技術(shù)的智能盲人拐杖的實(shí)際設(shè)計系統(tǒng)的設(shè)計如圖5-1所示,本系統(tǒng)由兩大部分組成:一部分是用于使用者出行的提醒功能,包括與障礙物距離的檢測模塊和對周圍環(huán)境光線的檢測模塊。另一部分則是與監(jiān)護(hù)人求救的功能,一旦遇到緊急情況,則會通過定位模塊獲取數(shù)據(jù)發(fā)送到綁定的手機(jī)端,達(dá)到及時聯(lián)系監(jiān)護(hù)人的功能。下面是測試流程和實(shí)物圖,在對系統(tǒng)進(jìn)行的測試過程中,各個部分的功能均正常運(yùn)行,可以基本實(shí)現(xiàn)智能定位盲人拐杖幫助老人出行的功能。圖5-1為基于GPS/北斗定位技術(shù)智能盲人拐杖系統(tǒng)的實(shí)物圖5.1光敏檢測電路的測試如圖5-2所示,用手指的遮擋模擬在自然環(huán)境下光線強(qiáng)弱的變化,對該光敏檢測電路的靈敏度進(jìn)行測試,檢測該模塊的功能是否正常。通過對周圍環(huán)境光線模擬調(diào)試下,該模塊的霧燈能夠準(zhǔn)確的根據(jù)周圍環(huán)境光線的變化做出反應(yīng),因此證明該模塊的功能是正常的。圖5-2為光敏檢測電路測試前后對比圖5.2超聲波測距模塊功能測試如圖5-3所示,模擬盲人在路上行走過程,通過觀察四位數(shù)碼管顯示的距離。在測試過程中,多次改變距離,通過數(shù)碼管顯示的距離判斷該測距模塊的測距功能是否正常。經(jīng)過多次反復(fù)的試驗(yàn),該模塊能夠準(zhǔn)確的顯示實(shí)際距離,經(jīng)測試該模塊的測距顯示功能正常。圖5-3為超聲波測距功能測試前后對比圖5.3距離過近緊急提示電路的測試通過利用對超聲波測距模塊的遮擋,模擬現(xiàn)實(shí)情況下使用者出行與障礙物距離小于設(shè)置閾值距離,測試該緊急提示系統(tǒng)是否會及時做出相應(yīng)的提示,提醒使用者注意避障。如圖5-4所示,給系統(tǒng)設(shè)置一個30cm的最大閾值距離,20cm的最小閾值距離后,開始對其進(jìn)行避障模擬。如圖5-5所示,通過白板對超聲波檢測模塊的遮擋進(jìn)行模擬實(shí)驗(yàn),此時的距離為22cm,小于所設(shè)置的30cm但大于20cm的距離,緊急提示電路中的蜂鳴器會每隔0.9s發(fā)出一次聲響,震動電機(jī)開始震動,喇叭發(fā)出注意避障的提示以及每隔10s會播報一次當(dāng)前距離。當(dāng)距離為17cm小于所設(shè)置的最小閾值距離20cm但大于系統(tǒng)自身設(shè)置的10cm距離時,蜂鳴器會每隔0.5s發(fā)出一次聲響。當(dāng)距離為9cm小于系統(tǒng)自身設(shè)置的10cm時,蜂鳴器則會每隔0.1s發(fā)出一次聲響。實(shí)驗(yàn)證明,越靠近障礙物,蜂鳴器所發(fā)出的聲響頻率越快,直到與障礙物的距離大于所設(shè)置的最大閾值距離30cm時才會停止發(fā)出提示。按照以上方法對其功能進(jìn)行測試,能夠及時給出避障提示,因此該部分功能正常。圖5-4為設(shè)置閾值距離界面圖5-5為距離過近緊急提示電路的測試前后對比圖5.4按鍵輸入電路的測試該系統(tǒng)有三個按鍵,三個按鍵分別有三個不同的功能。按鍵一用來設(shè)置閾值距離,按鍵二用來語音提醒路上行人注意禮讓,按鍵三用來發(fā)送求助短信的功能。如圖5-6所示,按鍵一為設(shè)置閾值距離,第一次按下按鍵一時進(jìn)入設(shè)置界面,按鍵二、按進(jìn)行對閾值距離的加減設(shè)置,數(shù)碼管顯示“L05”,即為設(shè)置的閾值距離為5cm,再按一次即為退出設(shè)置閾值距離界面。設(shè)置完閾值距離,就能對所設(shè)置的數(shù)值進(jìn)行測試,當(dāng)檢測到距離小于5cm時,緊急提示系統(tǒng)會發(fā)出提示,提示使用者注意避障。按鍵二為手動播報語音提示,測試時只需按下按鍵二,觀察按下按鍵二是否會播報語音提示,如果可以即驗(yàn)證該功能正常。按鍵三為發(fā)送求助短信功能,測試時只需按下按鍵三,觀察綁定的手機(jī)是否能成功接收到求助短信,如果能接收到證明該功能正常。經(jīng)反復(fù)進(jìn)行驗(yàn)證,三個按鍵均能準(zhǔn)確的執(zhí)行具體功能,按鍵功能測試正常。圖5-6為按鍵一功能測試前后對比圖5.5GPS/北斗雙模定位模塊的測試 通過串口對GPS/北斗雙模定位模塊的調(diào)試,觀察GnssToolKit3工具窗口接收到的數(shù)據(jù),從中篩選出所需的信息。 如圖5-7所示,當(dāng)雙模定位模塊連接到衛(wèi)星信號的時候,就能通過GnssToolKit3顯示的數(shù)據(jù)信息進(jìn)行信息的讀取。通過NMEA0183輸出協(xié)議,可以在串口信息窗口提取出帶有經(jīng)緯度的語句,即“$GNGLL”,例如:“$GNGLL,2430.81479,N,11739.13680,E,095408.000,A,A*40”,其中的“2430.81479,N,11739.13680,E”代表的就是緯度和精度信息,在調(diào)用數(shù)據(jù)時對數(shù)據(jù)進(jìn)行處理就能得到正確的經(jīng)緯度信息。 通過對串口的調(diào)試,雙模定位模塊能夠準(zhǔn)確讀取經(jīng)緯度信息,證明該雙模定位模塊的測試功能正常。圖5-7為串口讀取定位信息窗口5.6GSM短信發(fā)送模塊的測試 首先給GSM模塊里的手機(jī)號發(fā)送綁定指令“PHONESMS:12345678910”,此時返回一個“SetEnd”語句,證明手機(jī)綁定成功,可以發(fā)送短信。 如圖5-8所示,測試短信內(nèi)容功能是否正常時,按下按鍵三,觀察手機(jī)能否接收到。當(dāng)成功接收到短信,檢查短信的內(nèi)容是否正確,如果能成功接收到短信以及能收到正確的經(jīng)緯度信息,則證明該模塊的功能正常。圖5-8為GSM短信功能測試6總結(jié)本項(xiàng)設(shè)計從智能盲人拐杖系統(tǒng)的設(shè)計理念出發(fā),克服了傳統(tǒng)拐杖的缺點(diǎn),結(jié)合了衛(wèi)星導(dǎo)航、通信等技術(shù),為視力殘障人士提供了一款方便出行的工具,既可以方便使用者的出行,同時在使用者遇到危險時能夠第一時間知道使用者的位置。雖然本設(shè)計能夠?qū)崿F(xiàn)智能拐杖系統(tǒng)的可編輯和可通信的功能,但是該系統(tǒng)還存在著許多不足,例如監(jiān)護(hù)人只能通過使用者按下求助按鍵時才能知道其具體位置,而無法實(shí)時獲取使用者的位置。在未來的工作中,可以針對這個問題進(jìn)行具體的優(yōu)化,提高該系統(tǒng)的雙向通信功能。對于盲人拐杖系統(tǒng)的設(shè)計還擁有很大的發(fā)展空間,可以繼續(xù)添加其他的功能來完善系統(tǒng)的設(shè)計。因?yàn)槲覈鴵碛兄嫶蟮囊暳堈先巳海虢鉀Q他們的出行問題,那么設(shè)計出一款人性化的出門輔助工具來協(xié)助他們的出行是非常有必要的,擁有廣大的發(fā)展前景。參考文獻(xiàn)陳艷婷,李志鵬,賈丹平.盲人智能拐杖的設(shè)計[J].科技創(chuàng)新導(dǎo)報,2016,13(06):77-78.DOI:10.16660/ki.1674-098X.2016.06.077.李佳佳,劉寧.基于STC15F2K60S2單片機(jī)的智能拐杖設(shè)計[J].微型機(jī)與應(yīng)用,2017,36(14):92-94.DOI:10.19358/j.issn.1674-7720.2017.14.028.袁潔.全球四大衛(wèi)星導(dǎo)航系統(tǒng)組合導(dǎo)航定位性能研究[J].山西科技,2016,31(02):122-126.郝雅楠,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論