李萬明 周穩



摘? 要:對導盲設備的研究一直是物聯網背景下智慧醫療研究的重要課題,故設計出了一種新型的復合型智能盲杖。首先以Arduino、UHF雙開發板搭載觸摸傳感器模塊、蜂鳴器模塊、LED模塊和超聲波模塊等主流模塊,將RFID同Arduino結合起來;其次通過Demo2.0軟件對標簽的信息進行可視化處理,完成了數據的讀寫,實現了盲人偏離盲道觸發報警的功能;最后實驗測試充分證明了該復合型智能盲杖具有很高的實用價值和推廣價值。
關鍵詞:導盲杖? 射頻識別? UHF? 可視化處理
中圖分類號:TP399? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? 文章編號: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
隨著盲人比重越來越大,相關導盲設備也在不斷發展中。但是普通的盲杖不能很好地起到引導盲人的作用,比如無法提前判斷前方的障礙物,不能保證盲人不偏離盲道等。為實現導桿智能化,以及解決以上幾種問題,本系統要實現報警功能,完善障礙物識別功能并通過相關軟件查看參數,處理盲道偏離問題并實現數據可視化的處理。
通過查閱文獻[1-2],發現當前大多數導盲杖在功能上的不足之處,故提出了創新型的改進,旨在以物聯網技術為核心技術手段[3-4],實現有源的觸摸式報警功能、LED導盲功能、RFID射頻識別功能、超聲波避障功能。
1? 預備知識
1.1 Arduino主控板和UHF主控板基本知識
(1)Arduino主控板:目前最流行的還是屬于Arduino UNO,所以本系統采用Arduino具有普適性。Arduino促進了許多開源項目的生產和開發。此外,Arduino本身是通過聚合幾個開源項目生成的。Arduino的開源項目聚合如圖1所示。
它使用AVR-GCC和其他一些人們知道的開源軟件。它是用Java編程語言編寫的。其優點之一是可以直接使用,而無需安裝軟件和打開壓縮包。程序載入Arduino時,會自動把代碼變換為C語言,并給AVR-GCC 進行編譯,形成微處理器能明白的目標指令[5-6]。
(2)UHF主控板:UHF開發板采用多標簽抗沖突算法架構,不僅支持EPCglobal協議,而且支持不同的接口以滿足不同的讀寫距離。UHF使用USB接口,UHF處理芯片體積小而且耗電少。
1.2 Demo2.0軟件基本知識
Demo2.0軟件是用C#語言開發而成,它包含有手機APP和PC軟件兩種類型。軟件的作用是顯示電子標簽的標簽信息包括標簽號、收發信息的狀態等,從而實現了數據的可視化。
2? 系統框架和模塊化設計
2.1 系統框架
開發板相連的有觸摸傳感器(用于緊急呼叫)、有源蜂鳴器(不僅用于緊急呼叫的時候產生報警,而且用于探測到障礙物時候發生報警)、8mmLED燈(當盲杖使用的時候在夜晚產生亮光)、超聲波避障模塊(當盲杖探測到前方有障礙物的時候會發出報警聲音)、射頻識別模塊(當盲杖檢測到盲道邊緣的電子標簽的時候搭配蜂鳴器報警),該盲杖的功能很多,不僅彌補了大多數盲杖功能不足的情況,而且能夠投入到實際運用中。系統整體框架圖如圖2所示。
本盲杖頂部采用Arduino 主控板,底部使用UHF超高頻開發板。導盲杖首部主控板Arduino連接著觸摸傳感器、超聲波傳感器、蜂鳴器、LED燈。導盲杖尾部主控板UHF相當于一個讀寫器,一端連接著電腦,一端連接著天線。
2.2 模塊化設計
2.2.1 觸摸傳感器和有源蜂鳴器模塊
導盲杖頂部使用的觸摸傳感器采用了專用的IC檢測,其優點在于不僅靈敏度很高,而且輸出也很穩定。它的原理是利用高低電平的變化進行控制,當按下的時候處于低電平,當松開的時候則是高電平。除此之外,對于它可以在不導電材料下進行觸摸檢測,配合蜂鳴器用來作為導盲杖的握手部分。觸摸傳感器搭配蜂鳴器,利用其高低電平變化從而進行相應的控制,這里需要注意連線的方式。導盲杖使用的有源蜂鳴器正常電壓為5V,該蜂鳴器不依賴頻率信號的變化,只需要高低電平的變化即可發出聲音,不僅適用于按鍵提示,而且可以搭配超聲波傳感器使用。其通過程序來控制發出聲響的條件,因為其性價比很高,所以得到廣泛的運用。
2.2.2 LED和超聲波模塊
夜晚發光裝置是8mmLED燈,當導盲杖在使用的時候,只要按下按鈕,這個模塊的發光二極管就會點亮,這一模塊在整個盲杖的設計中充當發光提醒器。8mmLED是利用發光二極管發光。它的發光的原理是由P-N結端電壓組成的基礎勢壘。
超聲波模塊實現超聲波避障是智能導航的重要功能之一。有關障礙物的信息由超聲波傳感器接收,然后傳輸到Arduino開發板。超聲波是高頻信號,能量震蕩引起超聲波。波在空氣中是散射的,但超聲波屬于高頻,可以說超聲波是以直線方式向前運動的。如果導桿底部的傳感器遇到障礙物,其可以將反射的超聲波轉換為模式電流,然后通過一定的放大將其傳輸到Arduino開發板中。超聲波傳感器產生獨特方波,通過進行調控處理,進入導盲杖的循環發射電路中,從而產生正弦波,這種正弦波不僅穩定而且具有相同的頻率。緊接著,通過傳感器的發射端發出。根據超聲波反射的規律,當傳感器收到歸來的超聲波的時候,將聲波通過數模轉換送進處理電路中,經過處理傳入Arduino。超聲波傳感器循環電路中,發射部分運用了多條線路的開關裝置[7]。
3? 系統整體編碼
需要設置引腳,并設置蜂鳴器為輸出模式,故設置數字信號變量。觸摸傳感器接觸一次便處于低電平,再按一下為高電平,故可以利用高電平觸發報警。需要設置led和觸摸傳感器的引腳,這里巧妙的利用高低電平不同實現觸摸傳感器的共用。超聲波進行回波檢測,故需要設置一個發送脈沖的引腳,一個接收回波的引腳。這里需要用到測量脈沖寬度的pulseIn函數,也就是超聲波發射到接收時間,并利用換算關系得到障礙物的距離,編碼如下。
const int Pin = 2;//設置觸摸傳感器引腳為2
const int b = 8; //設置蜂鳴器引腳為8
int State = 1;? ?//初始化數字信號接收變量
void setup() {
pinMode(b, OUTPUT);? //設置蜂鳴器為輸出模式
pinMode(Pin, INPUT); //設置觸摸傳感器為輸入模式
}
void loop(){
State = digitalRead(Pin);//用于接收數字信號
if (State ==LOW ) {
digitalWrite(b, LOW);
}
else {//如果為高電平則蜂鳴器發聲
delay(1000);
digitalWrite(b, HIGH);
}
}
const int l = 4;//設置LED引腳為4
const int Pin=2;//觸摸傳感器不變
int State = 1;? ?//用于接收信號
void setup() {
pinMode(l, OUTPUT);//設置LED為輸出模式
pinMode(Pin, INPUT); //設置觸摸傳感器為輸入模式
}
void loop() {
State = digitalRead(Pin);//用于接收數字信號
if (State ==LOW )//觸摸傳感器低電平發聲
{
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); //低高低電平發一個短時間脈沖去TrigPin
delayMicroseconds(2);
digitalWrite(T, HIGH);
delayMicroseconds(10);
digitalWrite(T, LOW);
c = pulseIn(E, HIGH) / 58; //將回波時間換算成cm
if (c<=20 ) {
digitalWrite(bu, HIGH);
}
else {
digitalWrite(bu, LOW);
}
c = (int(c* 100)) / 100; //保留兩位小數
Serial.print("Distance:");
Serial.print(c);
Serial.println("c");
delay(500);}
4? 系統測試
超聲波傳感器用以實現10cm以上障礙物的判斷。當前方有障礙物的時候,電平會發生變化而導致蜂鳴器報警。接通串口,接著要初始化串口信息,設置接收引腳作為引腳的輸出,將高電平的輸入信號作為工作信號。在UHF與電腦連接好之后,首先打開軟件,設置對應的COM口,這里的COM口為COM5,點擊連接串口通信,并設置RF功率為12.5dBm。此時可以準備讀取標簽信息,點擊多標簽識別,即可通過天線進行標簽掃描,此時采取多次輪詢。系統測試如圖3所示。
5? 結語
本盲杖的特色在于利用Arduino和UHF雙板進行整合,完善了目前的導盲杖的不足之處,考慮到成本因素,選擇性價比較高的硬件。本盲杖的設計基于多模塊整合模式,將各個模塊功能整合到一個盲杖之中。在實驗過程中,由于硬件問題,有時出現輸出不穩定的情況,因此采取模塊化的處理能夠相對減少這類誤差。
參考文獻
[1] 曲丹丹,張宏偉.基于超聲波技術的導盲杖系統設計與實現[J].時代農機,2019,46(7):81-83.
[2] 張靖雪,許澤天,胡沛.智能便攜導盲杖設計[J].科技風,2017(26):1-2.
[3] 樊柯辛. 物聯網設備接入系統的設計與實現[D].沈陽:中國科學院大學(中國科學院沈陽計算技術研究所),2019.
[4] 劉君.物聯網技術的認識論研究[D].上海:東華大學,2015.
[5] 陳曉燕.基于RFID、GPS實現環境識別、路徑查看的導盲杖[D].保定:河北大學,2019.
[6] 郭銳,孫宏偉.基于Arduino UNO的電子產品設計[J].中國新通信,2019,21(10):42.
[7] 向長秋,胡湘娟,陽泳.基于AT89C51單片機的盲人避障裝置的設計[J].科技展望,2015,25(30):130.