李萬明 周穩(wěn)
摘? 要:對(duì)導(dǎo)盲設(shè)備的研究一直是物聯(lián)網(wǎng)背景下智慧醫(yī)療研究的重要課題,故設(shè)計(jì)出了一種新型的復(fù)合型智能盲杖。首先以Arduino、UHF雙開發(fā)板搭載觸摸傳感器模塊、蜂鳴器模塊、LED模塊和超聲波模塊等主流模塊,將RFID同Arduino結(jié)合起來;其次通過Demo2.0軟件對(duì)標(biāo)簽的信息進(jìn)行可視化處理,完成了數(shù)據(jù)的讀寫,實(shí)現(xiàn)了盲人偏離盲道觸發(fā)報(bào)警的功能;最后實(shí)驗(yàn)測試充分證明了該復(fù)合型智能盲杖具有很高的實(shí)用價(jià)值和推廣價(jià)值。
關(guān)鍵詞:導(dǎo)盲杖? 射頻識(shí)別? UHF? 可視化處理
中圖分類號(hào):TP399? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2021)02(b)-0111-04
Design and Implementation of Compound Intelligent Blind Stick
LI Wanming? ZHUO Wen
(School of Computing, Henan University of Engineering, Zhengzhou, Henan Province, 451191 China)
Abstract: The research of blind guidance equipment has always been an important topic of intelligent medical research under the background of Internet of things. A new type of compound intelligent blind stick is proposed in this paper. Firstly, Arduino and UHF development boards as the control core, the guide stick is equipped with touch sensor module, buzzer module, LED module and ultrasonic module and other mainstream modules, combined RFID with Arduino, and programmed to control ultrasonic sensor to identify distance. Secondly, the label information is visualized by demo2.0 software to complete the data reading and writing, which realizes the function of the blind people deviating from the blind lane and triggering the alarm. Finally, the experiment fully proves that the blind stick has high practical value and popularization value
Key Words: Guide stick;Radio frequency technology;UHF;Visibility processing
隨著盲人比重越來越大,相關(guān)導(dǎo)盲設(shè)備也在不斷發(fā)展中。但是普通的盲杖不能很好地起到引導(dǎo)盲人的作用,比如無法提前判斷前方的障礙物,不能保證盲人不偏離盲道等。為實(shí)現(xiàn)導(dǎo)桿智能化,以及解決以上幾種問題,本系統(tǒng)要實(shí)現(xiàn)報(bào)警功能,完善障礙物識(shí)別功能并通過相關(guān)軟件查看參數(shù),處理盲道偏離問題并實(shí)現(xiàn)數(shù)據(jù)可視化的處理。
通過查閱文獻(xiàn)[1-2],發(fā)現(xiàn)當(dāng)前大多數(shù)導(dǎo)盲杖在功能上的不足之處,故提出了創(chuàng)新型的改進(jìn),旨在以物聯(lián)網(wǎng)技術(shù)為核心技術(shù)手段[3-4],實(shí)現(xiàn)有源的觸摸式報(bào)警功能、LED導(dǎo)盲功能、RFID射頻識(shí)別功能、超聲波避障功能。
1? 預(yù)備知識(shí)
1.1 Arduino主控板和UHF主控板基本知識(shí)
(1)Arduino主控板:目前最流行的還是屬于Arduino UNO,所以本系統(tǒng)采用Arduino具有普適性。Arduino促進(jìn)了許多開源項(xiàng)目的生產(chǎn)和開發(fā)。此外,Arduino本身是通過聚合幾個(gè)開源項(xiàng)目生成的。Arduino的開源項(xiàng)目聚合如圖1所示。
它使用AVR-GCC和其他一些人們知道的開源軟件。它是用Java編程語言編寫的。其優(yōu)點(diǎn)之一是可以直接使用,而無需安裝軟件和打開壓縮包。程序載入Arduino時(shí),會(huì)自動(dòng)把代碼變換為C語言,并給AVR-GCC 進(jìn)行編譯,形成微處理器能明白的目標(biāo)指令[5-6]。
(2)UHF主控板:UHF開發(fā)板采用多標(biāo)簽抗沖突算法架構(gòu),不僅支持EPCglobal協(xié)議,而且支持不同的接口以滿足不同的讀寫距離。UHF使用USB接口,UHF處理芯片體積小而且耗電少。
1.2 Demo2.0軟件基本知識(shí)
Demo2.0軟件是用C#語言開發(fā)而成,它包含有手機(jī)APP和PC軟件兩種類型。軟件的作用是顯示電子標(biāo)簽的標(biāo)簽信息包括標(biāo)簽號(hào)、收發(fā)信息的狀態(tài)等,從而實(shí)現(xiàn)了數(shù)據(jù)的可視化。
2? 系統(tǒng)框架和模塊化設(shè)計(jì)
2.1 系統(tǒng)框架
開發(fā)板相連的有觸摸傳感器(用于緊急呼叫)、有源蜂鳴器(不僅用于緊急呼叫的時(shí)候產(chǎn)生報(bào)警,而且用于探測到障礙物時(shí)候發(fā)生報(bào)警)、8mmLED燈(當(dāng)盲杖使用的時(shí)候在夜晚產(chǎn)生亮光)、超聲波避障模塊(當(dāng)盲杖探測到前方有障礙物的時(shí)候會(huì)發(fā)出報(bào)警聲音)、射頻識(shí)別模塊(當(dāng)盲杖檢測到盲道邊緣的電子標(biāo)簽的時(shí)候搭配蜂鳴器報(bào)警),該盲杖的功能很多,不僅彌補(bǔ)了大多數(shù)盲杖功能不足的情況,而且能夠投入到實(shí)際運(yùn)用中。系統(tǒng)整體框架圖如圖2所示。
本盲杖頂部采用Arduino 主控板,底部使用UHF超高頻開發(fā)板。導(dǎo)盲杖首部主控板Arduino連接著觸摸傳感器、超聲波傳感器、蜂鳴器、LED燈。導(dǎo)盲杖尾部主控板UHF相當(dāng)于一個(gè)讀寫器,一端連接著電腦,一端連接著天線。
2.2 模塊化設(shè)計(jì)
2.2.1 觸摸傳感器和有源蜂鳴器模塊
導(dǎo)盲杖頂部使用的觸摸傳感器采用了專用的IC檢測,其優(yōu)點(diǎn)在于不僅靈敏度很高,而且輸出也很穩(wěn)定。它的原理是利用高低電平的變化進(jìn)行控制,當(dāng)按下的時(shí)候處于低電平,當(dāng)松開的時(shí)候則是高電平。除此之外,對(duì)于它可以在不導(dǎo)電材料下進(jìn)行觸摸檢測,配合蜂鳴器用來作為導(dǎo)盲杖的握手部分。觸摸傳感器搭配蜂鳴器,利用其高低電平變化從而進(jìn)行相應(yīng)的控制,這里需要注意連線的方式。導(dǎo)盲杖使用的有源蜂鳴器正常電壓為5V,該蜂鳴器不依賴頻率信號(hào)的變化,只需要高低電平的變化即可發(fā)出聲音,不僅適用于按鍵提示,而且可以搭配超聲波傳感器使用。其通過程序來控制發(fā)出聲響的條件,因?yàn)槠湫詢r(jià)比很高,所以得到廣泛的運(yùn)用。
2.2.2 LED和超聲波模塊
夜晚發(fā)光裝置是8mmLED燈,當(dāng)導(dǎo)盲杖在使用的時(shí)候,只要按下按鈕,這個(gè)模塊的發(fā)光二極管就會(huì)點(diǎn)亮,這一模塊在整個(gè)盲杖的設(shè)計(jì)中充當(dāng)發(fā)光提醒器。8mmLED是利用發(fā)光二極管發(fā)光。它的發(fā)光的原理是由P-N結(jié)端電壓組成的基礎(chǔ)勢壘。
超聲波模塊實(shí)現(xiàn)超聲波避障是智能導(dǎo)航的重要功能之一。有關(guān)障礙物的信息由超聲波傳感器接收,然后傳輸?shù)紸rduino開發(fā)板。超聲波是高頻信號(hào),能量震蕩引起超聲波。波在空氣中是散射的,但超聲波屬于高頻,可以說超聲波是以直線方式向前運(yùn)動(dòng)的。如果導(dǎo)桿底部的傳感器遇到障礙物,其可以將反射的超聲波轉(zhuǎn)換為模式電流,然后通過一定的放大將其傳輸?shù)紸rduino開發(fā)板中。超聲波傳感器產(chǎn)生獨(dú)特方波,通過進(jìn)行調(diào)控處理,進(jìn)入導(dǎo)盲杖的循環(huán)發(fā)射電路中,從而產(chǎn)生正弦波,這種正弦波不僅穩(wěn)定而且具有相同的頻率。緊接著,通過傳感器的發(fā)射端發(fā)出。根據(jù)超聲波反射的規(guī)律,當(dāng)傳感器收到歸來的超聲波的時(shí)候,將聲波通過數(shù)模轉(zhuǎn)換送進(jìn)處理電路中,經(jīng)過處理傳入Arduino。超聲波傳感器循環(huán)電路中,發(fā)射部分運(yùn)用了多條線路的開關(guān)裝置[7]。
3? 系統(tǒng)整體編碼
需要設(shè)置引腳,并設(shè)置蜂鳴器為輸出模式,故設(shè)置數(shù)字信號(hào)變量。觸摸傳感器接觸一次便處于低電平,再按一下為高電平,故可以利用高電平觸發(fā)報(bào)警。需要設(shè)置led和觸摸傳感器的引腳,這里巧妙的利用高低電平不同實(shí)現(xiàn)觸摸傳感器的共用。超聲波進(jìn)行回波檢測,故需要設(shè)置一個(gè)發(fā)送脈沖的引腳,一個(gè)接收回波的引腳。這里需要用到測量脈沖寬度的pulseIn函數(shù),也就是超聲波發(fā)射到接收時(shí)間,并利用換算關(guān)系得到障礙物的距離,編碼如下。
const int Pin = 2;//設(shè)置觸摸傳感器引腳為2
const int b = 8; //設(shè)置蜂鳴器引腳為8
int State = 1;? ?//初始化數(shù)字信號(hào)接收變量
void setup() {
pinMode(b, OUTPUT);? //設(shè)置蜂鳴器為輸出模式
pinMode(Pin, INPUT); //設(shè)置觸摸傳感器為輸入模式
}
void loop(){
State = digitalRead(Pin);//用于接收數(shù)字信號(hào)
if (State ==LOW ) {
digitalWrite(b, LOW);
}
else {//如果為高電平則蜂鳴器發(fā)聲
delay(1000);
digitalWrite(b, HIGH);
}
}
const int l = 4;//設(shè)置LED引腳為4
const int Pin=2;//觸摸傳感器不變
int State = 1;? ?//用于接收信號(hào)
void setup() {
pinMode(l, OUTPUT);//設(shè)置LED為輸出模式
pinMode(Pin, INPUT); //設(shè)置觸摸傳感器為輸入模式
}
void loop() {
State = digitalRead(Pin);//用于接收數(shù)字信號(hào)
if (State ==LOW )//觸摸傳感器低電平發(fā)聲
{
digitalWrite(l, HIGH);
}
else{
digitalWrite(l, LOW);}}
#include
const int T = 5;
const int E = 6;
const int bu=8;
float c;
void setup() {
pinMode(T, OUTPUT);
pinMode(E, INPUT);
Serial.begin(9600);
pinMode(bu, OUTPUT);
}
void loop() {
digitalWrite(T, LOW); //低高低電平發(fā)一個(gè)短時(shí)間脈沖去TrigPin
delayMicroseconds(2);
digitalWrite(T, HIGH);
delayMicroseconds(10);
digitalWrite(T, LOW);
c = pulseIn(E, HIGH) / 58; //將回波時(shí)間換算成cm
if (c<=20 ) {
digitalWrite(bu, HIGH);
}
else {
digitalWrite(bu, LOW);
}
c = (int(c* 100)) / 100; //保留兩位小數(shù)
Serial.print("Distance:");
Serial.print(c);
Serial.println("c");
delay(500);}
4? 系統(tǒng)測試
超聲波傳感器用以實(shí)現(xiàn)10cm以上障礙物的判斷。當(dāng)前方有障礙物的時(shí)候,電平會(huì)發(fā)生變化而導(dǎo)致蜂鳴器報(bào)警。接通串口,接著要初始化串口信息,設(shè)置接收引腳作為引腳的輸出,將高電平的輸入信號(hào)作為工作信號(hào)。在UHF與電腦連接好之后,首先打開軟件,設(shè)置對(duì)應(yīng)的COM口,這里的COM口為COM5,點(diǎn)擊連接串口通信,并設(shè)置RF功率為12.5dBm。此時(shí)可以準(zhǔn)備讀取標(biāo)簽信息,點(diǎn)擊多標(biāo)簽識(shí)別,即可通過天線進(jìn)行標(biāo)簽掃描,此時(shí)采取多次輪詢。系統(tǒng)測試如圖3所示。
5? 結(jié)語
本盲杖的特色在于利用Arduino和UHF雙板進(jìn)行整合,完善了目前的導(dǎo)盲杖的不足之處,考慮到成本因素,選擇性價(jià)比較高的硬件。本盲杖的設(shè)計(jì)基于多模塊整合模式,將各個(gè)模塊功能整合到一個(gè)盲杖之中。在實(shí)驗(yàn)過程中,由于硬件問題,有時(shí)出現(xiàn)輸出不穩(wěn)定的情況,因此采取模塊化的處理能夠相對(duì)減少這類誤差。
參考文獻(xiàn)
[1] 曲丹丹,張宏偉.基于超聲波技術(shù)的導(dǎo)盲杖系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].時(shí)代農(nóng)機(jī),2019,46(7):81-83.
[2] 張靖雪,許澤天,胡沛.智能便攜導(dǎo)盲杖設(shè)計(jì)[J].科技風(fēng),2017(26):1-2.
[3] 樊柯辛. 物聯(lián)網(wǎng)設(shè)備接入系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].沈陽:中國科學(xué)院大學(xué)(中國科學(xué)院沈陽計(jì)算技術(shù)研究所),2019.
[4] 劉君.物聯(lián)網(wǎng)技術(shù)的認(rèn)識(shí)論研究[D].上海:東華大學(xué),2015.
[5] 陳曉燕.基于RFID、GPS實(shí)現(xiàn)環(huán)境識(shí)別、路徑查看的導(dǎo)盲杖[D].保定:河北大學(xué),2019.
[6] 郭銳,孫宏偉.基于Arduino UNO的電子產(chǎn)品設(shè)計(jì)[J].中國新通信,2019,21(10):42.
[7] 向長秋,胡湘娟,陽泳.基于AT89C51單片機(jī)的盲人避障裝置的設(shè)計(jì)[J].科技展望,2015,25(30):130.