国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于超聲波測(cè)距的導(dǎo)盲儀設(shè)計(jì)研究

2018-08-20 19:01:38張孟陽(yáng)翟士余
科學(xué)與財(cái)富 2018年19期
關(guān)鍵詞:導(dǎo)盲數(shù)碼管蜂鳴器

張孟陽(yáng) 翟士余

摘 要:為了讓盲人對(duì)障礙物進(jìn)行安全避讓,導(dǎo)盲儀的應(yīng)用與設(shè)計(jì)十分重要。導(dǎo)盲儀具備多樣性,并且其工作原理也各不相同。本文對(duì)基于STC89C52單片機(jī)的超聲波測(cè)距導(dǎo)盲系統(tǒng)進(jìn)行設(shè)計(jì),并對(duì)其工作原理、機(jī)構(gòu)設(shè)計(jì)進(jìn)行闡述。

關(guān)鍵詞:超聲波測(cè)距;導(dǎo)盲儀;STC89C52單片機(jī);US-100模塊

超聲波具備良好的傳播特性,在社會(huì)的多個(gè)領(lǐng)域得到了廣泛應(yīng)用。應(yīng)用超聲波進(jìn)行測(cè)距,不論是在硬件設(shè)計(jì)方面,還是在軟件編程方面都具備較強(qiáng)的便利性。同時(shí)基于超聲波測(cè)距的導(dǎo)盲系統(tǒng)較為輕便、快捷、攜帶方便,并且測(cè)量更加精準(zhǔn)。

1超聲波測(cè)距原理

超聲波測(cè)距的方法主要由聲波幅值檢測(cè)法、渡越時(shí)間法等,本文利用渡越時(shí)間法實(shí)現(xiàn)測(cè)距。首先由超聲波發(fā)射器發(fā)出聲波,并由單片機(jī)對(duì)計(jì)時(shí)器進(jìn)行控制開(kāi)始計(jì)時(shí)。超聲波在碰到障礙物會(huì)產(chǎn)生回波,并立即返回,當(dāng)接收器接收到回波時(shí),計(jì)時(shí)器會(huì)停止計(jì)時(shí)。超聲波的空氣傳播速度v,計(jì)時(shí)器所記錄時(shí)間Δt,對(duì)傳播距離s進(jìn)行計(jì)算:

s=v×Δt/2 (1)

超聲波在空氣中的傳播不僅與溫度有關(guān),還與濕度有關(guān)。在干燥空氣中超聲波速度v0=331.5m/s。在室溫為t℃時(shí),空氣中的聲速:

v=v01+tT0 (2)

因?yàn)榭諝饩邆湎鄳?yīng)濕度,所以在溫度為t℃,相對(duì)濕度為r時(shí),聲速:

v=331.51+tT0(1+0.31rPsP) (3)

2硬件及電路設(shè)計(jì)

測(cè)距系統(tǒng)包括單片機(jī)、檢測(cè)溫度、發(fā)射、接受處理、報(bào)警、數(shù)碼顯示模塊。以單片機(jī)STC89C52為主控單元,應(yīng)用自帶溫度補(bǔ)償功能的US-100為超聲波傳感器。對(duì)系統(tǒng)電路進(jìn)行設(shè)計(jì):時(shí)鐘電路。單片機(jī)STC89C52中包含具備高增益的一個(gè)反相放大器,以組建振蕩器,并產(chǎn)生時(shí)鐘信號(hào);數(shù)碼管顯示電路。應(yīng)用單片機(jī)STC89C52通過(guò)P0口利用鎖存器SN74HC573DW對(duì)兩個(gè)共陰的4為一體8位數(shù)碼管進(jìn)行驅(qū)動(dòng);蜂鳴報(bào)警電路。通過(guò)單片機(jī)STC89C52的P2.3管腳對(duì)蜂鳴器進(jìn)行控制,當(dāng)所測(cè)距離小于0.5米,蜂鳴器就會(huì)出現(xiàn)報(bào)警;US-100模塊。在非接觸情況下的測(cè)量距離為2-4.5米,帶有溫度補(bǔ)償功能,可以對(duì)測(cè)量結(jié)果進(jìn)行有效校正。

3軟件設(shè)計(jì)

3.1整體設(shè)計(jì)與程序

利用US-100串口測(cè)距原理對(duì)程序進(jìn)行編寫(xiě),先要對(duì)串口實(shí)施初始化,然后對(duì)超聲波脈沖進(jìn)行有效發(fā)射,并對(duì)檢測(cè)狀態(tài)進(jìn)行等待,在對(duì)回波進(jìn)行接收后,對(duì)距離進(jìn)行有效計(jì)算,再由單片機(jī)進(jìn)行處理,并在數(shù)碼管上進(jìn)行顯示。在距離低于0.5米時(shí),蜂鳴器就會(huì)發(fā)出報(bào)警。所以主程序?yàn)椋?/p>

void main(void)

{

unsigned long distance=0;

UART_init(); //串口和波特率初始化

while(1)

{

distance=rebuf[0]*256+rebuf[1]; //計(jì)算距離

DisplayLED(distance); //數(shù)碼管顯示距離

if(distance<500) //距離<0.5米時(shí)報(bào)警

{

int a;

for(a=0;a<500;a++)

{

buzzer=~buzzer;

}

}

}

}

程序中rebuf[0]、rebuf[1]為接收緩沖區(qū),定義于idata區(qū)。rebuf[0]對(duì)距離值的高8位進(jìn)行接收,rebuf[1]對(duì)距離值的低8位進(jìn)行接收。主程序中包括蜂鳴器報(bào)警程序。

3.2初始化程序

初始化程序主要是對(duì)定時(shí)器工作以及串口通信的相應(yīng)模式進(jìn)行設(shè)置。初始化程序:

void UART_init()

{

…………….

TMOD=0x21; //設(shè)計(jì)定時(shí)器工作方式

…………….

SM0=0; //設(shè)置串口通信模式

SM1=1;

……………

}

3.3超聲波發(fā)送程序

void MeterTempByUART() //發(fā)送超聲波脈沖

{

UASTSnd(0X55);

}

3.4寫(xiě)字符程序

void UARTSnd(unsigned char dat)

{

TI=0; //清零發(fā)送標(biāo)志,如果TI為0等待

SBUF=dat; //寫(xiě)字節(jié)帶特殊控制寄存器SBUF

while(!TI);

TX=~TX; //啟動(dòng)超聲波發(fā)射器

}

3.5數(shù)碼管掃描程序

void UART_ISR(void)interrupt4

{

uchar temp,K;

ES=0; //關(guān)中斷

if(RI)

{

RI=0; //清接收標(biāo)志

temp=SBUF;

rebuf[k]=temp;

k++;

if(k==2) //k=數(shù)據(jù)長(zhǎng)度

k=0;

RX=~RX;

}

ES=1; //開(kāi)中

}

3.6數(shù)碼管顯示程序

void DisplayLED(unsigned long number)

{

if(number>4500)

{

dispbuf[0]=10;

dispbuf[1]=10;

dispbuf[2]=10;

dispbuf[3]=10;

}

else if(number<4500)

{

dispbuf[0]=number/1000;

dispbuf[1]=number%1000/100;

dispbuf[2]=number%100/10;

dispbuf[3]=number%10;

}

P0=Tab[dispbuf[dispcount]];

…………………………………

dispcount++;

if(dispcount==4) //4位數(shù)碼管顯示位

{

dispcount=0;

}

count++;

if(count==100)

{

count=0;

MeterTempByUART();

}

4結(jié)束語(yǔ)

通過(guò)仿真實(shí)驗(yàn)顯示,實(shí)際值和測(cè)量值之間有著0-10mm的誤差,并且具備良好的穩(wěn)定性以及重復(fù)性,滿足實(shí)際的使用需求。同時(shí)超聲波測(cè)距導(dǎo)盲儀的應(yīng)用更加便捷、精準(zhǔn),便于盲人進(jìn)行攜帶。

參考文獻(xiàn):

[1]基于單片機(jī)的超聲波導(dǎo)盲杖設(shè)計(jì)研究[J].張超.科技信息.2014(04).

猜你喜歡
導(dǎo)盲數(shù)碼管蜂鳴器
基于云端技術(shù)的多功能導(dǎo)盲手杖的設(shè)計(jì)與實(shí)現(xiàn)
玩具世界(2022年3期)2022-09-20 01:45:56
電動(dòng)自行車產(chǎn)品車速提示音檢測(cè)現(xiàn)狀和整改技術(shù)研究(2)
基于物聯(lián)網(wǎng)的導(dǎo)盲機(jī)器犬的研究與設(shè)計(jì)
客聯(lián)(2022年3期)2022-05-31 04:28:08
掌控板制作簡(jiǎn)易鋼琴
Arduino編程
電腦報(bào)(2019年2期)2019-09-10 07:22:44
MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
單片機(jī)驅(qū)動(dòng)蜂鳴器的程序設(shè)計(jì)
基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
路口導(dǎo)盲及馬路障礙物檢測(cè)提醒系統(tǒng)的設(shè)計(jì)
凌源市| 三穗县| 阿拉善左旗| 渝北区| 博爱县| 长治县| 九龙城区| 马尔康县| 淮南市| 武山县| 襄城县| 汕尾市| 湄潭县| 互助| 甘南县| 九台市| 绥滨县| 苏尼特左旗| 湖州市| 西和县| 榕江县| 监利县| 威海市| 大田县| 新民市| 介休市| 阿瓦提县| 宣汉县| 合川市| 阿尔山市| 丹棱县| 尚义县| 凤台县| 梅州市| 千阳县| 吉林省| 龙岩市| 桂东县| 竹山县| 鹿邑县| 西乌珠穆沁旗|