(SKU:RB-02S001)RB URF02超声波传感器

来自ALSROBOT WiKi
2015年12月8日 (二) 09:43Arduino77讨论 | 贡献的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索


125.jpg

目录

产品概述

2015年最新推出的RB URF02超声波传感器是RB URF v1.1超声波传感器的升级产品,在保留原有功能的基础上,新增加模式选择功能,有两种模式可选择:单线模式只需要一根信号线,大大减少IO口资源;双线模式与原有功能一样,需要一根输入和输出信号线。侦测距离和精度也有较大提高,可达1cm到500cm,其在有效探测范围内自动标定,无需任何人工调整就可以获得障碍物准确的距离。令你的机器人像蝙蝠一样通过声纳来感知周围的环境,你只需要在单片机、Arduino微控制器中编写一小段程序,就可以根据障碍物的距离精确的控制机器人的电机运行,从而使你的机器人轻松地避开障碍物,因此其是机器人领域最常用的测距避障模块。

规格参数

  1. 工作电压 :+5v
  2. 工作电流 :<20mA
  3. 工作频率 :40KHz
  4. 工作温度范围:-10℃~+70℃
  5. 探测有效距离:1cm~500cm
  6. 探测分辨率:0.5cm
  7. 探测误差:±0.5%
  8. 灵敏度:大于1.8m外可以探测到直径2cm物体
  9. 接口类型:TTL(单线模式和双线模式可切换)
  10. 方向性侦测范围:定向式(水平/垂直)65度圆锥
  11. 尺寸大小: 120mm x 115mm
  12. 重量大小:7g
P-2.jpg

接口定义

传感器引脚的定义是 OUTPUT:输出信号 INPUT:信号输入

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

使用方法

连接示意图

单线模式接线:

Chaoshengbodanxian.jpg
  • INPUT端口接到控制器的I/O口。5V 和GND分别接到电源的+5V和GND。

注:在使用单线模式时模式选择开关(Mode)拨到数字1侧。 双线模式接线:

Chaoshengboshuangxian01.jpg
  • INPUT、OUTPUT端口接到控制器的I/O口。5V 和GND分别接到电源的+5V和GND。

注:在使用双线模式时模式选择开关(Mode)拨到数字2侧。

单线模式例子程序

硬件连接如图所示,数字口2 接超声波的INPUT ,将开关拨到数字1 一侧超声波进入单线模式。

int duration;                           //变量duration 用来存储脉冲时间 
int distance;                           //变量distance 用来存储距离 
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;        // 将脉冲时间转化为距离(单位:厘米) 
  Serial.println(distance);       // 输出距离值 
  delay(50);                             
} 

双线模式例子程序

硬件连接如图所示,数字口4 接超声波的OUTPUT 、数字口5 接超声波INPUT ,将开关拨到数字2 一侧超声波进入双线模式。

int inputPin=4;   //  定义超声波信号接收接口 
int outputPin=5;  //  定义超声波信号发出接口 
int ledpin=13;    // 定义ledPin 引脚为13 
void setup() 
{ 
  Serial.begin(9600); 
  pinMode(ledpin,OUTPUT); 
  pinMode(inputPin, INPUT); 
  pinMode(outputPin, OUTPUT); 
}                                                                                                                                          
void loop() 
{ 
  digitalWrite(outputPin, LOW); //使发出发出超声波信号接口低电平2 μs 
  delayMicroseconds(2); 
  digitalWrite(outputPin, HIGH); 
//使发出发出超声波信号接口高电平10μs ,这里是至少10μs 
  delayMicroseconds(10); 
  digitalWrite(outputPin, LOW);     // 保持发出超声波信号接口低电平 
  int distance = pulseIn(inputPin, HIGH);  //  读出脉冲时间 
  distance= distance/58;    // 将脉冲时间转化为距离(单位:厘米) 
  Serial.println(distance);   // 输出距离值                  
  delay(50);    
  if (distance >=50) 
  { //如果距离大于50厘米小灯亮起 
     digitalWrite(ledpin,HIGH); 
  } //如果距离小于50厘米小灯熄灭 
  else 
     digitalWrite(ledpin,LOW); 
} 

程序效果

  1. 打开串口助手可以观察到输出的距离值。
  2. 打开串口助手可以观察到距离值,如果距离小于 50厘米数字口13的LED 小灯熄灭,距离大于50厘米数字口13的LED 小灯亮起同时串口打印处距离数据。

视频演示

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


产品相关推荐

Erweima.png

产品购买地址

RB URF02超声波传感器

周边产品推荐

超声波传感器支架
PING))) 超声波传感器

相关问题解答

超声波测距传感器为什么一直输出零?

相关学习资料

视频:Arduino-2WD轻量型移动机器人超声波旋转侦测演示
超声波测距LED输出小装置制作
Arduino学习笔记- Arduino连接超声波传感器测距
奥松机器人技术论坛