宋爽 鄒治嘉 馬宏強(qiáng)
摘?要:目前,由于市場(chǎng)上的導(dǎo)盲拐杖功能比較單一,無法滿足盲人的需要。針對(duì)這一問題,文中設(shè)計(jì)了一種基于STM32的智能導(dǎo)盲拐杖。此款拐杖為空心圓柱狀,選用stm32f103rct6為主控芯片,并且通過超聲波測(cè)距、語音合成、緊急按鍵物理裝置來實(shí)現(xiàn)給使用者的提醒、導(dǎo)盲功能,通過GPS定位成熟物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)導(dǎo)航定位功能,幫助盲人更加智能方便的出行。
關(guān)鍵詞:MCU;智能導(dǎo)盲;單片機(jī);超聲波測(cè)距;GPS定位
盲人外出時(shí)會(huì)遇到各種情況,如遇到障礙物,不清楚路況,或者因?yàn)楸O(jiān)護(hù)人不在而走丟等。因此,本文利用現(xiàn)代已有技術(shù),研究出一種新型導(dǎo)盲系統(tǒng),通過軟硬件結(jié)合,以實(shí)現(xiàn)障礙物避障、語音與發(fā)光提示、角度測(cè)量防摔以及GPS定位功能,以幫助盲人解決出行時(shí)遇到的問題。
1?智能導(dǎo)盲拐杖的設(shè)計(jì)系統(tǒng)結(jié)構(gòu)
圖1?原理框圖
選用stm32f103rct6為主控芯片,配合獨(dú)立的電源電路、光控發(fā)光電路、由SYN6288模塊構(gòu)成的語音合成電路、由HCSR04模塊構(gòu)成的超聲波測(cè)距電路、由壓力傳感器及壓力轉(zhuǎn)電壓模塊構(gòu)成的壓力檢測(cè)電路和由SIM868模塊構(gòu)成的定位電路,實(shí)現(xiàn)一款集測(cè)距避障、危險(xiǎn)報(bào)警、緊急報(bào)警按鍵、實(shí)時(shí)定位和發(fā)送消息于一體的智能導(dǎo)盲拐杖。
2?硬件電路設(shè)計(jì)
2.1?主控芯片最小系統(tǒng)設(shè)計(jì)
圖2?stm32f103rct6最小系統(tǒng)
其中,包括stm32f103rct6最小系統(tǒng)、下載端口電路和變壓電路。在晶振電路中,8MHz晶振提供外部高速時(shí)鐘(HSE),用于提供更精確的系統(tǒng)時(shí)鐘;32.768KHz晶振提供外部低速時(shí)鐘(LSE),為精確定時(shí)服務(wù),可用于RTC電路時(shí)鐘源,可為低功耗提供計(jì)時(shí)。
2.1.1?語音合成模塊電路設(shè)計(jì)
利于syn6288模塊,通過與主控芯片進(jìn)行串口通信,達(dá)到語音合成的目的,如播報(bào)時(shí)間、危險(xiǎn)警報(bào)等。
2.1.2?GPS定位模塊電路設(shè)計(jì)
通過串口與主控芯片進(jìn)行通信、實(shí)現(xiàn)定位、發(fā)送信息的功能。
2.1.3?超聲波測(cè)距模塊電路設(shè)計(jì)
將HCSR04模塊安裝于拐杖底部前端,通過端口TRIG和ECHO給主控芯片傳輸信號(hào),主控芯片根據(jù)所傳輸?shù)男盘?hào)進(jìn)一步計(jì)算得出所測(cè)距離,當(dāng)距離小于某一設(shè)定值則主控芯片控制語音合成模塊發(fā)出危險(xiǎn)警報(bào),達(dá)到避障的目的。
2.1.4?獨(dú)立電源模塊電路設(shè)計(jì)
其中,設(shè)計(jì)了利用太陽能板給蓄電池充電電路,TP4056模塊將太陽能板提供的電能充入蓄電池中,蓄電池則采用可充放電的鋰電池并配備充電口,電池容量大小可根據(jù)最終運(yùn)行結(jié)果現(xiàn)在合適的容量。
圖3?電源模塊電路
2.1.5?光控發(fā)光電路設(shè)計(jì)
由于D5光敏電阻的靈敏度非常高,遠(yuǎn)遠(yuǎn)大于人眼對(duì)光強(qiáng)弱的判斷,故此電路不涉及主控芯片,在自然光較弱的情況下即可觸發(fā)此電路,自然光越弱光敏電阻阻值越大,三極管導(dǎo)通度越高,從而LED兩端電壓越大,即越亮,可以簡單有效地達(dá)到發(fā)光的作用。
圖4?光控發(fā)光電路
2.1.6?壓力傳感電路設(shè)計(jì)
其中,設(shè)計(jì)兩個(gè)薄膜壓力傳感器,一個(gè)在握手部,一個(gè)在拐杖底端觸地處,兩個(gè)傳感器壓力范圍根據(jù)實(shí)際情況具體設(shè)計(jì)。工作原理是將壓力信號(hào)通過壓轉(zhuǎn)電模塊轉(zhuǎn)換為需要的范圍電壓,再通過主控芯片實(shí)時(shí)監(jiān)測(cè)。
2.1.7?緊急按鍵電路設(shè)計(jì)
當(dāng)按下按鈕時(shí)主控芯片PB12端口由高低配變化為低電平,從而實(shí)現(xiàn)是否按下按鈕地檢測(cè)。設(shè)置為長按一定的時(shí)間向手機(jī)發(fā)送使用者所在的位置,僅限突發(fā)情況使用,即報(bào)警按鍵,如使用者迷路、腿部受傷等類似情況。
2.2?原理圖
圖5?原理圖
2.3?PCB圖及PCB板
2.3.1?PCB圖的繪制
此PCB為雙層板,長約80mm,寬約60mm。其中5V電源線采用30mil線寬,3.3V電源線采用20mil線寬,地線采用30mil和20mil線寬,其余信號(hào)線均采用10mil線寬。
圖6?PCB圖
2.3.2?PCB板打樣
圖7?PCB板正面圖
3?軟件設(shè)計(jì)
該系統(tǒng)的軟件分為地理位置查詢及上報(bào)、語音提醒兩部分,地理位置的查詢及上報(bào)又分為:獲取GPS、GPS逆地理編碼得到地名、盲人當(dāng)前位置上傳OneNet云平臺(tái)。語音提醒部分又分為:前方障礙物提醒、手杖長時(shí)間離手提醒、當(dāng)前位置播報(bào)。以上功能全部基于STM32F103C8T6平臺(tái)采用C語言編程實(shí)現(xiàn)。
圖8
3.1?地理位置查詢及上報(bào)部分軟件設(shè)計(jì)
3.1.1?GPS定位
SIM868模塊具有GPS功能,軟件上通過串口對(duì)SIM868發(fā)送AT指令來控制芯片開啟GPS功能及接收GPS信號(hào)。程序中采用AT+CGPSOUT=2開啟GPS數(shù)據(jù)輸出,因此獲取的GPS數(shù)據(jù)格式為GPSGGA,獲取GPS數(shù)據(jù)的流程如圖9所示:
圖9
該語句以字符串的形式發(fā)送,因此程序中須對(duì)該字符串進(jìn)行解析,獲取經(jīng)度和緯度的角度格式,通過使用字符串處理將字符串格式的度分經(jīng)緯度信息轉(zhuǎn)換為浮點(diǎn)型,并通過以下計(jì)算,將度分格式的經(jīng)緯度轉(zhuǎn)換為角度格式的經(jīng)緯度,經(jīng)緯度處理程序如圖10: