(SKU:RB-02S001A)RB URF02超聲波傳感器

來(lái)自ALSROBOT WiKi
2015年12月9日 (三) 09:53Arduino77討論 | 貢獻(xiàn)的版本

跳轉(zhuǎn)至: 導(dǎo)航、 搜索
02S001A01.png

目錄

產(chǎn)品概述

最新推出的RB URF02超聲波傳感器是RB URF v1.1超聲波傳感器的升級(jí)產(chǎn)品,在保留原有功能的基礎(chǔ)上,使用防插反接頭并新增加模式選擇功能,有兩種模式可選擇:?jiǎn)尉€(xiàn)模式只需要一根信號(hào)線(xiàn),大大減少I(mǎi)O口資源;雙線(xiàn)模式與原有功能一樣,需要一根輸入和輸出信號(hào)線(xiàn)。偵測(cè)距離和精度也有較大提高,可達(dá)1cm到500cm,其在有效探測(cè)范圍內(nèi)自動(dòng)標(biāo)定,無(wú)需任何人工調(diào)整就可以獲得障礙物準(zhǔn)確的距離。令你的機(jī)器人像蝙蝠一樣通過(guò)聲納來(lái)感知周?chē)沫h(huán)境,你只需要在單片機(jī)、Arduino微控制器中編寫(xiě)一小段程序,就可以根據(jù)障礙物的距離精確的控制機(jī)器人的電機(jī)運(yùn)行,從而使你的機(jī)器人輕松地避開(kāi)障礙物,因此其是機(jī)器人領(lǐng)域最常用的測(cè)距避障模塊。

規(guī)格參數(shù)

  1. 工作電壓 :+5v
  2. 工作電流 :<20mA
  3. 工作頻率 :40KHz
  4. 工作溫度范圍:-10℃~+70℃
  5. 探測(cè)有效距離:1cm~500cm
  6. 探測(cè)分辨率:0.5cm
  7. 探測(cè)誤差:±0.5%
  8. 靈敏度:大于1.8m外可以探測(cè)到直徑2cm物體
  9. 接口類(lèi)型:TTL(單線(xiàn)模式和雙線(xiàn)模式可切換)
  10. 方向性偵測(cè)范圍:定向式(水平/垂直)65度圓錐
  11. 尺寸大?。?120mm x 115mm
  12. 重量大小:7g

工作原理

超聲波是指頻率高于20KHz的機(jī)械波,超聲波測(cè)距的原理是通過(guò)測(cè)量聲波在發(fā)射后遇到障礙物反射回來(lái)的時(shí)間差計(jì)算出發(fā)射點(diǎn)到障礙物的實(shí)距離。 測(cè)距公式為:L = V * (T2-T1)/2 公式說(shuō)明:

  • L 為測(cè)量的距離長(zhǎng)度
  • V 為超聲波在空氣中的傳播速度(在20℃時(shí)為344m/s)
  • t1 為測(cè)量距離的起始時(shí)間
  • t2 為收到回波的時(shí)間

速度乘以時(shí)間差等于來(lái)回的距離,除以2可以得到實(shí)際的距離。

接口定義

傳感器引腳的定義是 OUTPUT:響應(yīng)信號(hào)輸入 INPUT:觸發(fā)控制信號(hào)輸入

  • +:電源(VCC)
  • -:地(GND)
Chaoshengbo01.jpg

使用方法

編程原理

使用RB URF02超聲波傳感器雙線(xiàn)時(shí),首先拉低觸發(fā)控制信號(hào)輸入(input)端口,然后至少給10us的高電平信號(hào)來(lái)觸發(fā)模塊,在觸發(fā)后,模塊會(huì)自動(dòng)發(fā)射8個(gè)40KHz的方波,并自動(dòng)檢測(cè)是否有信號(hào)返回;如果有信號(hào)返回,通過(guò)響應(yīng)信號(hào)輸出(output)一個(gè)高電平,高電平持續(xù)的時(shí)間便是超聲波從發(fā)射到接收的時(shí)間,該模塊工作時(shí)序圖如下,所以測(cè)試距離的計(jì)算公式為:測(cè)試距離 = 高電平持續(xù)時(shí)間 * 340(m/s)*0.5
使用RB URF02超聲波傳感器單線(xiàn)時(shí),原理同雙線(xiàn)模式,只是通過(guò)一個(gè)觸發(fā)控制信號(hào)輸入(input)端口進(jìn)行超聲波控制器的信號(hào)收發(fā)。

P-2.jpg

雙線(xiàn)模式接線(xiàn)圖

  • INPUT、OUTPUT端口如圖所示接到控制器的I/O口。5V 和GND分別接到電源的+5V和GND。

注:在使用雙線(xiàn)模式時(shí)模式選擇開(kāi)關(guān)(Mode)撥到數(shù)字2側(cè)。

Chaoshengboshuangxian01.jpg

雙線(xiàn)模式例子程序

硬件連接如圖所示,數(shù)字口4 接超聲波的OUTPUT 、數(shù)字口5 接超聲波INPUT ,將開(kāi)關(guān)撥到數(shù)字2 一側(cè)超聲波進(jìn)入雙線(xiàn)模式。

int inputPin=4;   //  接超聲波的 output 引腳到數(shù)字D4腳 
int outputPin=5;  //  接超聲波的 input 引腳到數(shù)字D5腳 
int ledpin=13;    // 定義 ledPin 引腳為D13腳
void setup() 
{ //初始化串口及引腳的輸入、輸出模式
  Serial.begin(9600); 
  pinMode(ledpin,OUTPUT); 
  pinMode(inputPin, INPUT); 
  pinMode(outputPin, OUTPUT); 
}                                                                                                                                          
void loop() 
{ 
  digitalWrite(outputPin, LOW); //使發(fā)出發(fā)出超聲波信號(hào)接口低電平2 μs 
  delayMicroseconds(2); 
  digitalWrite(outputPin, HIGH); //使發(fā)出發(fā)出超聲波信號(hào)接口高電平10μs ,這里是至少10μs 
  delayMicroseconds(10); 
  digitalWrite(outputPin, LOW);  // 保持發(fā)出超聲波信號(hào)接口低電平 
  float distance = pulseIn(inputPin, HIGH);  //  讀出接收脈沖的時(shí)間 
  distance= distance/58;       // 將脈沖時(shí)間轉(zhuǎn)化為距離(單位:厘米) 
  distance = (int(distance * 100.0)) / 100.0; //保留兩位小數(shù) 
  Serial.println(distance);   // 輸出距離值                  
  delay(50);    
  if (distance >=50) 
  {  
     digitalWrite(ledpin,HIGH); //如果距離大于50厘米小燈亮起
  }  
  else                          
     digitalWrite(ledpin,LOW); //如果距離小于50厘米小燈熄滅
} 

單線(xiàn)模式接線(xiàn)圖

Chaoshengbodanxian.jpg
  • INPUT端口如圖所示接到控制器的I/O口。5V 和GND分別接到電源的+5V和GND。

注:在使用單線(xiàn)模式時(shí)模式選擇開(kāi)關(guān)(Mode)撥到數(shù)字1側(cè)。

單線(xiàn)模式例子程序

硬件連接如圖所示,數(shù)字口2 接超聲波的INPUT ,將開(kāi)關(guān)撥到數(shù)字1 一側(cè)超聲波進(jìn)入單線(xiàn)模式。

int duration;                           //變量duration 用來(lái)存儲(chǔ)脈沖時(shí)間 
int distance;                           //變量distance 用來(lái)存儲(chǔ)距離 
int srfPin = 2;                          //定義srfPin 引腳為 2  
void setup() 
{ 
Serial.begin(9600); 
} 
void loop() 
{ 
  pinMode(srfPin, OUTPUT); 
  digitalWrite(srfPin, LOW);            
  delayMicroseconds(2); 
  digitalWrite(srfPin, HIGH);           
  delayMicroseconds(10); 
  digitalWrite(srfPin, LOW);            
  pinMode(srfPin, INPUT); 
  duration = pulseIn(srfPin, HIGH);         
  distance = duration/58;        // 將脈沖時(shí)間轉(zhuǎn)化為距離(單位:厘米) 
  Serial.println(distance);       // 輸出距離值 
  delay(50);                             
} 

程序效果

  1. 打開(kāi)串口助手可以觀察到輸出的距離值,如下圖所示。
  2. 打開(kāi)串口助手可以觀察到距離值,如果距離小于 50厘米數(shù)字口13的LED 小燈熄滅,距離大于50厘米數(shù)字口13的LED 小燈亮起同時(shí)串口打印處距離數(shù)據(jù)。
02S001A02.png

視頻演示

Chao sheng bo 01.png
Chao sheng bo 02.png


產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購(gòu)買(mǎi)地址

RB URF02超聲波傳感器

周邊產(chǎn)品推薦

超聲波傳感器支架
PING))) 超聲波傳感器

相關(guān)問(wèn)題解答

超聲波測(cè)距傳感器為什么一直輸出零?

相關(guān)學(xué)習(xí)資料

視頻:Arduino-2WD輕量型移動(dòng)機(jī)器人超聲波旋轉(zhuǎn)偵測(cè)演示
超聲波測(cè)距LED輸出小裝置制作
Arduino學(xué)習(xí)筆記- Arduino連接超聲波傳感器測(cè)距
奧松機(jī)器人技術(shù)論壇