一、器件介紹
(1)器件名稱:
HC-SR04超聲波測(cè)距模塊
(2)主要技術(shù)參數(shù):
1、使用電壓:DC5V;
2、靜態(tài)電流:小于2mA;
3、電平輸出:高5V;
4、電平輸出:底0V;
5、感應(yīng)角度:不大于15度;
6、探測(cè)距離:2cm-450cm 7:高精度可達(dá)0.2cm;
7、接線方式,VCC、trig(控制端)、echo(接收端)、GND。
(3)工作原理:
1、采用IO觸發(fā)測(cè)距,給至少10us的高電平信號(hào);
2、模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;
3、有信號(hào)返回,通過(guò)IO輸出一高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)
間。測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2。
超聲波傳感器主要利用多普勒原理,通過(guò)晶振向外發(fā)射超過(guò)人體能感知的高頻超聲波,
一般典型的選用25~40kHz波,然后控制模塊檢測(cè)反射回來(lái)波的頻率,如果區(qū)域內(nèi)有物體運(yùn)動(dòng),反射波頻率就會(huì)有輕微的波動(dòng),即多普勒效應(yīng),以此來(lái)判斷照明區(qū)域的物體移動(dòng),從而達(dá)到控制開關(guān)的目的。
超聲波的縱向振蕩特性,可以在氣體、液體及固體中傳播且其傳播速度不同;它還有折射和反射現(xiàn)象,在空氣中傳播其頻率較低,衰減較快,而在固體、液體中則衰減較小,傳播較遠(yuǎn)。超聲波傳感器正是利用超聲波的這些特性。超聲波傳感器有敏感范圍大,無(wú)視覺(jué)盲區(qū),不受障礙物干擾等特點(diǎn),這項(xiàng)技術(shù)已經(jīng)在商業(yè)和安全領(lǐng)域被使用25年多了,已經(jīng)被證明是檢測(cè)小物體運(yùn)動(dòng)最有效的方法。 ULTD5N-350超聲波測(cè)距模塊,可提供3cm--3.5m的非接觸式距離感測(cè)功能,該模塊包括了超聲波發(fā)射器、接收器與控制電路。其基本工作原理為給予此超聲波測(cè)距模塊一觸發(fā)信號(hào)后發(fā)射超聲波,當(dāng)超聲波投射到物體而反射回來(lái)時(shí),模塊輸出一回響信號(hào),以觸發(fā)信號(hào)和回響信號(hào)間的時(shí)間差,來(lái)判定物體的距離。
(4)應(yīng)用產(chǎn)品領(lǐng)域:
飛行器測(cè)距、機(jī)器人避障、公共安防、停車場(chǎng)檢測(cè)等。
(5)管腳圖:
二、測(cè)試實(shí)驗(yàn)
(1)實(shí)驗(yàn)?zāi)康模?/strong>
運(yùn)用超聲波測(cè)距模塊實(shí)行簡(jiǎn)單測(cè)距。
(2)線路連接(理論):
(3)線路連接(實(shí)際):
暫缺
(4)運(yùn)行代碼:
const int echopin=3; // echo接3端口
const int trigpin=2; // trig接2端口
int led = 10; // led燈接10端口
void setup()
{
Serial.begin(9600);
pinMode(echopin,INPUT); //設(shè)定echo為輸入模式
pinMode(trigpin,OUTPUT);//設(shè)定trig為輸出模式
pinMode(led,OUTPUT);//設(shè)定led為輸出模式
}
void loop()
{
digitalWrite(trigpin,LOW);
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW);//發(fā)一個(gè)10ms的高脈沖去觸發(fā)TrigPin
float distance =pulseIn(echopin,HIGH);//接收高電平時(shí)間
distance = distance/58.0;//計(jì)算距離
Serial.print(distance); //輸出距離
Serial.println(“cm”); //輸出單位
delay(60); //循環(huán)間隔60uS
}
(5)操作過(guò)程中出現(xiàn)的問(wèn)題及解決方案:
1、Arduino Uno上的指示燈無(wú)法正常閃爍,原因:代碼出現(xiàn)問(wèn)題,重新尋找代碼;
2、Arduino代碼無(wú)法編譯,原因:代碼出現(xiàn)問(wèn)題,目前能力無(wú)法對(duì)此進(jìn)行更改,所
以重新尋找代碼;
3、采集信號(hào)時(shí)出現(xiàn)負(fù)值現(xiàn)象,原因:障礙物與模塊距離過(guò)近或者采集信號(hào)頻率過(guò)高;
三、拓展型實(shí)驗(yàn):
(1)實(shí)驗(yàn)?zāi)康模?/strong>
當(dāng)超聲波測(cè)距模塊前10cm內(nèi)有障礙物時(shí),LED能持續(xù)發(fā)光。
(2)線路連接(理論):
(3)線路連接(實(shí)際):
(4)運(yùn)行代碼:
const int echopin=3; // echo接3端口
const int trigpin=2; // trig接2端口
int led = 10; // led燈接10端口
void setup()
{
Serial.begin(9600);
pinMode(echopin,INPUT); //設(shè)定echo為輸入模式
pinMode(trigpin,OUTPUT);//設(shè)定trig為輸出模式
pinMode(led,OUTPUT);//設(shè)定led為輸出模式
}
void loop()
{
digitalWrite(trigpin,LOW);
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW);//發(fā)一個(gè)10ms的高脈沖去觸發(fā)TrigPin
float distance =pulseIn(echopin,HIGH);//接收高電平時(shí)間
distance = distance/58.0;//計(jì)算距離
Serial.print(distance); //輸出距離
Serial.println(“cm”); //輸出單位
if(distance<10)
{digitalWrite(led,HIGH);}
else{digitalWrite(led,LOW);}//距離小于10cm時(shí),led寫入高電平
delay(60); //循環(huán)間隔60uS
}
(5)測(cè)試結(jié)果圖:
(6)操作過(guò)程中出現(xiàn)的問(wèn)題及解決方案:
暫未出現(xiàn)問(wèn)題。
(7)時(shí)序波形圖:
(8)時(shí)序圖解釋:
從上面的模塊時(shí)序圖可以看出,只需要提供一個(gè)短期的10uS脈沖觸發(fā)信號(hào),超聲波即可進(jìn)行距離測(cè)量工作。
該模塊被觸發(fā)后,超聲波發(fā)射頭將發(fā)出8個(gè)40kHz周期電平,同時(shí)檢測(cè)回波。一旦檢測(cè)到有回波信號(hào)則輸出回響信號(hào)。
回響信號(hào)是一個(gè)脈沖的寬度成正比的距離對(duì)象??赏ㄟ^(guò)發(fā)射信號(hào)到收到的回響信號(hào)時(shí)間間隔可以計(jì)算得到距離。
公式: uS/58=厘米;或者uS/148=英寸。
建議測(cè)量周期為60ms 以上,以防止發(fā)射信號(hào)對(duì)回響信號(hào)的影響。
資料整理人:鄧晨濤
實(shí)驗(yàn)測(cè)試者:鄧晨濤,林峻民,彭帆,張世琳(按姓氏首字母排列)