基于STM32的智能導(dǎo)盲拐杖
引 言
目前,市場上的導(dǎo)盲拐杖功能單一,無法滿足盲人的需求。盲人外出時(shí)會(huì)遇到各種情況,如遇到障礙物,不清楚路況, 或者因?yàn)楸O(jiān)護(hù)人不在而走丟等。因此,本文利用現(xiàn)代已有技術(shù), 研究出一種新型導(dǎo)盲系統(tǒng),通過軟硬件結(jié)合,實(shí)現(xiàn)障礙物避障功能,語音提示功能,語音報(bào)時(shí)功能,角度測量防摔功能以及GPS定位功能,以幫助盲人解決出行時(shí)遇到的問題。
1 總體設(shè)計(jì)方案
本系統(tǒng)所構(gòu)建的基于STM32 處理器的電子導(dǎo)盲系統(tǒng)主要針對盲人這一特殊人群所設(shè)計(jì),旨在方便盲人出行,為其創(chuàng)造一個(gè)更加安全的環(huán)境。通過綜合應(yīng)用STM32 控制、超聲波測距、角度測量、GPS 定位等技術(shù)來實(shí)現(xiàn)。STM32 控制為主控制電路 ;超聲波模塊可時(shí)時(shí)測量盲人在行走時(shí)前方是否有障礙物,并通過語音提示對盲人進(jìn)行提醒 ;在盲人跌倒時(shí),警報(bào)模塊迅速發(fā)出聲音,警示監(jiān)護(hù)人;使用 GPS 進(jìn)行定位,為監(jiān)護(hù)人尋找盲人提供了有利條件,同時(shí)也為盲人提供了諸多方便。導(dǎo)盲拐杖整體設(shè)計(jì)圖如圖 1 所示。
2 模塊設(shè)計(jì)
2.1 主控制器選擇
本導(dǎo)盲系統(tǒng)采用STM32 作為主要的控制電路,STM32 控制器相較于 51 單片機(jī),擁有主頻率更高、處理能力更強(qiáng)、耗能低、成本低等特點(diǎn),是一款性價(jià)比較高的嵌入式處理器。同時(shí)還具有 PWM、DA、AD 等常用外設(shè),使用方便,只需32.768 kHz 的晶振頻率和 3 V 的電壓即可工作。
2.2 超聲波避障模塊設(shè)計(jì)
利用超聲波避障的好處在于測量方式簡單,易于實(shí)現(xiàn), 成本低,覆蓋面廣。超聲波避障模塊的原理與雷達(dá)測物的原理極為相似,超聲波發(fā)射器從某一方向發(fā)射超聲波,在發(fā)射的同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物時(shí)發(fā)出的超聲波會(huì)立即返回,超聲波接收器接收被反射回的超聲波則計(jì)時(shí)停止。由 s=tv/2就可計(jì)算出障礙物的距離。本設(shè)計(jì)采用HC-SR04超聲波傳感器,該模塊性能穩(wěn)定,測距精準(zhǔn)。
STM32 主控制電路發(fā)送 40 kHz 的脈沖信號(hào),超聲波發(fā)射器發(fā)射信號(hào)后,經(jīng)超聲波換能器處理后轉(zhuǎn)換為超聲波信號(hào), 當(dāng)探測到前方的障礙物時(shí),將超聲波所測得的距離發(fā)送給語音模塊,從而提醒盲人成功避開障礙物。
2.3 角度測量防摔模塊
角度測量防摔模塊應(yīng)用角度傳感器來測量角度。當(dāng)盲人行走,由于地面不平導(dǎo)致盲人身體傾斜或?qū)⑺さ箷r(shí),當(dāng)角度探測小于 30 ,則認(rèn)為盲人即將摔倒,角度測量器把信息傳給警報(bào)模塊,警報(bào)模塊發(fā)出警報(bào),通知監(jiān)護(hù)人,由監(jiān)護(hù)人迅速將盲人扶穩(wěn)。
2.4 警報(bào)模塊
警報(bào)模塊將蜂鳴器與角度測量模塊相結(jié)合,為監(jiān)護(hù)人提供盲人的信息。當(dāng)角度測量器檢測到拐杖的角度小于 30 時(shí), 此時(shí),STM32 主控制電路啟動(dòng)蜂鳴器,提醒監(jiān)護(hù)人。蜂鳴器電路如圖 2 所示。
2.5 GPS模塊設(shè)計(jì)
GPS 技術(shù)從根本上解決了定位問題。由衛(wèi)星不間斷地發(fā)送自身星歷參數(shù)和時(shí)間信息,用戶接收到信息后,經(jīng)計(jì)算,求出接收機(jī)的三維位置、三維方向以及運(yùn)動(dòng)速度和時(shí)間信息。
在設(shè)計(jì) GPS 模塊 時(shí), 考慮到定位的精確性, 選用SIM808GPS 傳感器模塊。此模塊的優(yōu)點(diǎn)在于覆蓋范圍廣,開發(fā)板設(shè)計(jì)小, 易于安裝, 模塊主要包括主機(jī)、接收機(jī)和電源三部分。電源模塊主要與 STM32 主處理器相連, 通過STM32 為其供電,可使GPS 模塊正常使用;接收機(jī)主要接收經(jīng)緯度信息,將數(shù)據(jù)發(fā)送至主機(jī)。通過接收到的經(jīng)緯度信息判斷盲人所處的具體位置。
2.6 語音提示模塊
考慮到產(chǎn)品的對象為盲人,因此本設(shè)計(jì)加入語音提示模 塊及語音時(shí)間播報(bào)功能,主要對盲人進(jìn)行語音提醒。語音模 塊與超聲波測距模塊相結(jié)合,可時(shí)刻提醒盲人前方障礙物的 情況。由于盲人在出行時(shí)無法知道時(shí)間,因此設(shè)計(jì)有定時(shí)播報(bào) 時(shí)間。語音芯片采用 SYN6288 中文芯片,此芯片具有低功耗, 接口簡單,性價(jià)比高等優(yōu)點(diǎn)。STM32 主控制器的串行接口與 SYN6288 語音芯片通信,對其發(fā)送控制命令和文本,然后語 音芯片將接收到的文本合成為語音芯片信號(hào)輸出。
2.7 電源模塊
電源模塊主要是為整個(gè)導(dǎo)盲系統(tǒng)提供電源,使其可正常工作。在設(shè)計(jì)電源模塊時(shí),由于 GPS 耗電量較大,不僅要考慮節(jié)能,還要考慮用電量的問題,因此采用可充電的鎳鎘電池。
3 軟件設(shè)計(jì)
3.1 超聲波檢測流程圖
超聲波測距是本系統(tǒng)的一個(gè)重要部分,其測距軟件流程如圖 3 所示。
先將系統(tǒng)初始化,啟動(dòng)超聲波模塊發(fā)射超聲波,同時(shí)計(jì)時(shí)器開始計(jì)時(shí),看接收器能否接收到回波,若沒有接收到回波, 則繼續(xù)采集數(shù)據(jù),計(jì)數(shù)器繼續(xù)工作 ;若接收到回波,則計(jì)數(shù)器 停止工作,并將數(shù)據(jù)傳遞給計(jì)算器,由于超聲波模塊測距與 溫度有關(guān),因此需要在存儲(chǔ)數(shù)據(jù)前對其進(jìn)行溫度修正,方可得 到比較精確的距離。
3.2 跌倒檢測告警流程圖
為防止盲人將跌倒時(shí)監(jiān)護(hù)人未發(fā)現(xiàn)的情況出現(xiàn),在程序中 設(shè)定了相應(yīng)程序,即盲人在行走時(shí),角度測量器判斷拐杖的角 度是否小于 30°,若不小于則繼續(xù)測量,若小于 30°,則認(rèn)為 盲人將摔倒,此時(shí) STM32 主處理器啟動(dòng)蜂鳴器,從而使監(jiān)護(hù) 人迅速意識(shí)到盲人的情況。圖 4 所示為角度檢測流程圖。
4 結(jié)語
本系統(tǒng)的優(yōu)點(diǎn)在于角度傳感器可檢測拐杖狀態(tài),當(dāng)盲人不慎摔倒時(shí),系統(tǒng)立即啟動(dòng)蜂鳴器告知盲人當(dāng)前的情況,使監(jiān)護(hù)人迅速反應(yīng)攙扶盲人。當(dāng)遇到障礙物時(shí)通過超聲波測算障礙物距離進(jìn)行語音提示,提示盲人自身位置與障礙物間的距離,通過GPS 對盲人進(jìn)行精確定位,從而獲得盲人的精確位置,防止其走丟。本設(shè)計(jì)具有成本低,障礙物檢測精度高,跌摔檢測可靠等優(yōu)點(diǎn),可滿足盲人朋友的需求,便于推廣使用。