黎文炎+段淑玉
摘要:隨著城市交通的迅速發(fā)展,視障人士的出行面臨著巨大的挑戰(zhàn),傳統(tǒng)的盲杖已經(jīng)不能滿足他們安全出行的需求。為了解決盲人出行難的問(wèn)題,該文設(shè)計(jì)了一款智能導(dǎo)盲手杖,該手杖基于Arduino UNO單片機(jī)輔以GPS定位模塊、超聲波測(cè)距模塊、GSM模塊、語(yǔ)音模塊等,可實(shí)現(xiàn)實(shí)時(shí)定位、遇障報(bào)警、發(fā)送短信、撥打緊急聯(lián)系人電話等多種功能。手杖采用語(yǔ)音播報(bào)和按鍵操作方式進(jìn)行人機(jī)交互。該智能盲杖功能較齊全,各模塊體積小、成本低,易于規(guī)?;a(chǎn)。
關(guān)鍵詞:Arduino 單片機(jī);智能手杖;GPS;GSM;超聲波測(cè)距
中圖分類號(hào):TN929 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)35-0263-03
據(jù)不完全統(tǒng)計(jì),中國(guó)存在1400余萬(wàn)視障人士,社會(huì)上與導(dǎo)盲相關(guān)的電子產(chǎn)品種類很多,功能越來(lái)越完善,各具特點(diǎn)。比如導(dǎo)盲眼鏡、智能車等產(chǎn)品普遍存在。在國(guó)外,新加坡國(guó)立大學(xué)所設(shè)計(jì)的導(dǎo)盲手杖融入了諸多科技元素,依靠定位系統(tǒng)及感應(yīng)器等內(nèi)置設(shè)備掌握行進(jìn)方向[1]。在國(guó)內(nèi),北京理工大學(xué)研發(fā)的導(dǎo)盲手杖通過(guò)超聲波檢測(cè)障礙物,再通過(guò)語(yǔ)音芯片將障礙物信息告知盲人,從而實(shí)現(xiàn)避障功能。貴陽(yáng)學(xué)院的古訓(xùn)[2]等制作了一款導(dǎo)盲手杖原型,能實(shí)現(xiàn)定位、障礙物測(cè)距以及聲光報(bào)警等功能,但不支持撥打和接聽(tīng)緊急聯(lián)系人電話。
以上電子產(chǎn)品雖然功能完備,但不具備通訊功能,且價(jià)格昂貴,不易推廣。盲人數(shù)量一直在增加,研發(fā)一款功能完善、操作簡(jiǎn)單、價(jià)格低廉的導(dǎo)盲手杖是有必要的。本文設(shè)計(jì)的導(dǎo)盲手杖基于模塊化設(shè)計(jì)思想,根據(jù)其功能需求精選市面上成熟的產(chǎn)品模塊進(jìn)行組裝調(diào)試而成,具備GPS定位、GSM通信(發(fā)送短信、撥打電話及接聽(tīng)電話)、超聲波測(cè)距、語(yǔ)音播報(bào)等功能,體積小,精度高,成本低,操作簡(jiǎn)單,易擴(kuò)展,便于進(jìn)一步研究及投產(chǎn)。
1 系統(tǒng)硬件介紹
1) 主控板——Arduino UNO單片機(jī)
Arduino UNO單片機(jī)是Arduino USB接口系列的最新版本,作為Arduino平臺(tái)的參考標(biāo)準(zhǔn)模板[3,4]。UNO以ATmega328為核心處理器,可通過(guò)USB接口、外部直流電源插座和電源連接器GND和VIN引腳三種方式供電。采用16MHz晶體振蕩器產(chǎn)生振蕩頻率,同時(shí)具有6路模擬輸入和6路PWM輸。通過(guò)RX(0號(hào)引腳)和TX(1號(hào)引腳)進(jìn)行數(shù)據(jù)串口通信,且包括SPI通信接口。2個(gè)外部中斷可同時(shí)觸發(fā)、上升沿和下降沿觸發(fā),有利于控制各個(gè)任務(wù)優(yōu)先級(jí)。可通過(guò)按鍵觸發(fā)進(jìn)行復(fù)位,利用ICSP header直接下載程序到ATmega328。因其體積小,拓展容易,程序下載方便,數(shù)據(jù)IO口多,故適合本設(shè)計(jì)。
2) 超聲波測(cè)距模塊——HC-SR04
超聲波測(cè)距的原理如圖1所示,超聲波發(fā)射端T發(fā)出超聲波信號(hào),當(dāng)超聲波信號(hào)遇到障礙物反射回來(lái),被接收端R接收,超聲波發(fā)生器與障礙物的距離S計(jì)算公式如下:
S=(Δt *v)/2 (1)
其中,Δt為發(fā)出超聲波到接收到返回信號(hào)的時(shí)間,v為超聲波在空氣中的傳播速度(假設(shè)不考慮空氣中的水蒸氣與其他雜物的影響,超聲波在常溫下的傳播速度是340米/秒[5])。
HC-SR04超聲波模塊性能穩(wěn)定,精度高,測(cè)度距離精確,盲區(qū)小[6],主要應(yīng)用于測(cè)距避障、倒車提醒等場(chǎng)合。該模塊具有VCC、GND、TRIG(控制端)、ECHO(接收端)4個(gè)端口。探測(cè)距離范圍為2cm-400cm,精確度可高達(dá)0.3cm,感應(yīng)角度不大于15度,因此適用于短距離且偏離角度小的測(cè)距。工作原理:通過(guò)觸發(fā)TRIG IO口給模塊提供至少10us的高電平(模塊自動(dòng)發(fā)送8個(gè)40KHz的方波),自動(dòng)檢測(cè)信號(hào)返回情況,有信號(hào)返回時(shí)IO口ECHO輸出高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。該模塊通過(guò)測(cè)量聲波在發(fā)射后遇到障礙物反射回來(lái)的時(shí)間來(lái)計(jì)算障礙物距離,如公式(1)所示。本設(shè)計(jì)通過(guò)HC-SR04超聲波模塊和ASR M08-A語(yǔ)音模塊配合使用,實(shí)現(xiàn)在設(shè)定距離范圍內(nèi)障礙物提示作用,提醒盲人注意障礙物小心行走。實(shí)物如圖2所示。
3) 定位及通信模塊——YIXIN_SIM808_A
采用SIMCOM公司YIXIN_SIM808_A 模塊,該模塊是一款高性能工業(yè)級(jí)的GSM/GPRS/GPS三合一模塊且完全兼容Arduino,也方便嵌入到其他 MCU 系統(tǒng)中使用[7]。其中,GPS(Global Positioning System, 全球定位系統(tǒng))目前主要應(yīng)用于防盜、行駛路線監(jiān)控、物流車輛監(jiān)控[8]、車輛定位[9]場(chǎng)合,具有定位時(shí)間短、定位精度高等特點(diǎn)。GSM/GPRS無(wú)線通信適用于全球各地區(qū),可以低功耗實(shí)現(xiàn)語(yǔ)音、短信、彩信和傳真信息的傳輸。在本設(shè)計(jì)中,該模塊主要實(shí)現(xiàn)獲取位置信息、發(fā)送位置信息至指定手機(jī)、撥打設(shè)定電話、接聽(tīng)來(lái)電等功能,采用串口發(fā)送AT指令與單片機(jī)進(jìn)行通信。
4) 語(yǔ)音模塊——ASR M08-A
ASR M08-A非特定人語(yǔ)音模塊可實(shí)現(xiàn)語(yǔ)音識(shí)別和語(yǔ)音播報(bào),支持讀取TF卡中語(yǔ)音文件,通過(guò)串口輸出與單片機(jī)或其他外設(shè)進(jìn)行通信。本設(shè)計(jì)中使用該模塊的語(yǔ)音播報(bào)功能,實(shí)現(xiàn)障礙物距離播報(bào)、來(lái)電提醒、短信發(fā)送情況提示等。在進(jìn)一步的研究中,可利用其語(yǔ)音識(shí)別功能,用語(yǔ)音代替按鍵輸入來(lái)控制導(dǎo)盲手杖的各項(xiàng)功能使用。
2 系統(tǒng)軟件設(shè)計(jì)
本設(shè)計(jì)以Arduino UNO單片機(jī)為主控芯片,結(jié)合 YIXIN_SIM808_A 模塊、HC-SR04超聲波模塊、ASR M08-A語(yǔ)音模塊等,實(shí)現(xiàn)定位、通信、語(yǔ)音播報(bào)、障礙物測(cè)距等功能。各模塊具體功能描述如下:
1) Arduino UNO單片機(jī),主控單元,控制著整個(gè)系統(tǒng),處理核心是ATmega328處理器;
2) YIXIN_SIM808_A 模塊,實(shí)現(xiàn)GPS定位和GSM通信。通過(guò)GPS獲取盲人行走的位置信息,當(dāng)盲人在行走過(guò)程中遇到特殊情況,手動(dòng)按下手杖的發(fā)送短信按鍵,將一條短信發(fā)送到緊急聯(lián)系人的手機(jī)上,短信內(nèi)容為單片機(jī)解析GPS模塊獲取到的定位信息(即經(jīng)緯度);也可以按下通話按鍵與指定家人進(jìn)行通話;同時(shí)支持家人撥打手杖上的手機(jī)號(hào)碼;endprint
3) HC-SR04超聲波模塊, 實(shí)時(shí)檢測(cè)盲人前方障礙物的距離,當(dāng)檢測(cè)到有障礙物后通過(guò)與設(shè)定的距離進(jìn)行對(duì)比,條件滿足時(shí)單片機(jī)通過(guò)串口向語(yǔ)音模塊發(fā)送指令使語(yǔ)音播放內(nèi)存卡里面的語(yǔ)音文件;當(dāng)有電話進(jìn)來(lái),將停止測(cè)距,直到掛斷電話,恢復(fù)測(cè)距;
4) ASR M08-A語(yǔ)音模塊,進(jìn)行來(lái)電提示、短信發(fā)送情況提醒、距離提示,指導(dǎo)盲人進(jìn)行操作和安全行走;
系統(tǒng)框圖如圖3所示,系統(tǒng)流程圖如圖4所示。
3 系統(tǒng)測(cè)試與分析
本系統(tǒng)采用模塊化思想進(jìn)行設(shè)計(jì),以Arduino UNO單片機(jī)為基礎(chǔ),由 GPS/GSM 模塊、超聲波模塊、語(yǔ)音模塊和電源模塊組成,各模塊協(xié)同工作,實(shí)現(xiàn)智能手杖的定位、通信、障礙物測(cè)距、語(yǔ)音提示等功能,系統(tǒng)原理圖如圖5所示。
3.1 GPS定位及短信通知功能調(diào)試分析
本設(shè)計(jì)采用GPS對(duì)外出盲人的位置信息進(jìn)行實(shí)時(shí)定位以防止其走失。盲人在遇到特殊情況時(shí)可按下手杖的按鍵將位置信息通過(guò)SIM808的GSM模塊發(fā)送到指定家人的手機(jī)上,其連線如圖8所示。同時(shí),GPS獲取的定位信息可以在Arduino IDE串口監(jiān)視窗口中看到。
為測(cè)定GPS獲取到的位置信息的準(zhǔn)確性,將 “百度地圖”上查詢到的地點(diǎn)位置信息與該模塊獲取的信息作對(duì)比,其結(jié)果如表1所示。
從表4可以看出,GPS獲取到的位置信息與“百度地圖”上顯示的坐標(biāo)信息有誤差,誤差產(chǎn)生的原因主要有信號(hào)的傳播誤差、接收機(jī)誤差等[10]。但該誤差較小,在可接受的范圍內(nèi)。
再調(diào)試位置信息的發(fā)送功能。開(kāi)啟電源后,待SIM808模塊上的指示燈大約3秒閃爍一次,表示模塊工作正常,此時(shí)按下發(fā)送短信的按鍵,等待約5秒,待語(yǔ)音提示“定位發(fā)送成功”,手機(jī)接收到GPS定位信息,如圖6所示。
3.2 超聲波測(cè)距與語(yǔ)音播報(bào)功能調(diào)試分析
導(dǎo)盲手杖作為盲人出行的輔助工具,準(zhǔn)確測(cè)量障礙物距離是其重要功能。本設(shè)計(jì)通過(guò)HC-SR04超聲波測(cè)距模塊和ASR M08-A語(yǔ)音模塊來(lái)實(shí)現(xiàn)障礙物距離提示,其連線圖如圖8所示。
根據(jù)實(shí)際情況,設(shè)定語(yǔ)音播報(bào)距離范圍:從60cm到100cm,每10cm范圍播報(bào)相應(yīng)距離值,100cm—120cm,偶數(shù)距離播報(bào)相應(yīng)的距離值。當(dāng)超聲波測(cè)量到前方障礙物距離與設(shè)定相符時(shí),語(yǔ)音模塊播放SD卡的語(yǔ)音文件,提示使用者注意障礙物,避免碰撞。表2、3為超聲波測(cè)距精度與語(yǔ)音播報(bào)測(cè)試結(jié)果。
從表2、3可以看出,超聲波在室內(nèi)和室外所測(cè)的距離與實(shí)際距離存在一定的誤差,誤差范圍在0-2cm之間。造成這些誤差的原因主要是測(cè)量環(huán)境的溫度、濕度等因素帶來(lái)的聲速偏差,以及超聲波發(fā)射出與計(jì)時(shí)器開(kāi)始計(jì)時(shí)之間的時(shí)間差、回波到達(dá)與被檢出之間的時(shí)間差等[10],其中環(huán)境溫度造成的誤差可通過(guò)溫度補(bǔ)償算法來(lái)減小。但該誤差在可接受的范圍內(nèi),并不會(huì)影響語(yǔ)音播報(bào)模塊,達(dá)到本設(shè)計(jì)的基本要求。
3.3 導(dǎo)盲手杖的總體功能測(cè)試及分析
將各模塊進(jìn)行調(diào)試,確認(rèn)各個(gè)模塊的功能均滿足設(shè)計(jì)要求后,進(jìn)行組裝,實(shí)物如圖7所示。經(jīng)測(cè)試,該系統(tǒng)整體性能穩(wěn)定,精度高,操作簡(jiǎn)單。
4 總結(jié)與展望
本文自主設(shè)計(jì)一款低成本的基于Arduino UNO單片機(jī)的智能導(dǎo)盲手杖,該手杖具有超聲波測(cè)距、語(yǔ)音播報(bào)距離、短信發(fā)送GPS定位信息、語(yǔ)音通話等功能。測(cè)試結(jié)果顯示,該智能導(dǎo)盲手杖較好地實(shí)現(xiàn)了預(yù)期設(shè)計(jì)的功能,且整體性能穩(wěn)定。隨著大量傳感器技術(shù)的融入和無(wú)線通訊技術(shù)的迅速發(fā)展,智能手杖在實(shí)現(xiàn)導(dǎo)盲避障功能的同時(shí)可兼容導(dǎo)航、健康狀況檢測(cè)等功能,為視障人士提供更加安全、便捷的出行保障。
參考文獻(xiàn):
[1] 佚名. 融入定位及傳感器技術(shù)的導(dǎo)盲手杖[J]. 金卡工程, 2012(1):65-65.
[2] 古訓(xùn), 張仁興. 多功能智能導(dǎo)盲手杖設(shè)計(jì)與實(shí)現(xiàn)[J]. 貴陽(yáng)學(xué)院學(xué)報(bào):自然科學(xué)版, 2016, 11(4):40-45.
[3] 程晨, Arduino開(kāi)發(fā)實(shí)戰(zhàn)指南AVR篇[M]. 北京:機(jī)械工業(yè)出版社,2012.
[4] 王力群, 林朝輝. 基于Arduino UNO平臺(tái)的多適配性無(wú)人機(jī)避障技術(shù)[J]. 科技創(chuàng)新導(dǎo)報(bào), 2016(9):18-19.
[5] Figueroa J F, Lamancusa J S. A method for accurate detection of time of arrival: Analysis and design of an ultrasonic ranging system[J]. Journal of the Acoustical Society of America, 1992, 91(1):486-494.
[6] 李方旭, 馬彬瀚, 丁偉,等. 基于HC-SR04超聲波傳感器的智能避障小車設(shè)計(jì)[J]. 科技創(chuàng)新與應(yīng)用, 2016(34):26-27.
[7] 董胡. 基于嵌入式語(yǔ)音識(shí)別的家用服務(wù)機(jī)器人控制系統(tǒng)[J]. 微型電腦應(yīng)用, 2017, 33(4):15-19.
[8] 何維, 張彥會(huì), 粟騰超,等. 基于GPS/GPRS/RFID物流車載終端的設(shè)計(jì)[J]. 廣西科技大學(xué)學(xué)報(bào), 2014, 25(4).
[9] 潘盛輝, 謝榮芳, 楊敘,等. 基于GPS/GPRS的車載監(jiān)控終端系統(tǒng)設(shè)計(jì)[J]. 廣西科技大學(xué)學(xué)報(bào), 2014, 25(1):70-73.
[10] 黃毓芯. 一款多功能智能手杖的設(shè)計(jì)與研究[D]. 華僑大學(xué), 2015.endprint