(SKU:RB-02S001)RB URF02超声波传感器
来自ALSROBOT WiKi
目录 |
概述
- 2012年最新推出的RB URF02超声波传感器是RB URF v1.1超声波传感器的升级产品,在保留原有功能的基础上,新增加模式选择功能,有两种模式可选择:单线模式只需要一根信号线,大大减少IO口资源;双线模式与原有功能一样,需要一根输入和输出信号线。侦测距离和精度也有较大提高,可达1cm到500cm,其在有效探测范围内自动标定,无需任何人工调整就可以获得障碍物准确的距离。令你的机器人像蝙蝠一样通过声纳来感知周围的环境,你只需要在单片机、微控制器中编写一小段程序,就可以根据障碍物的距离精确的控制机器人的电机运行,从而使你的机器人轻松地避开障碍物,因此其是机器人领域最常用的测距避障模块。
规格参数
- 工作电压 :+5v
- 工作电流 :<20mA
- 工作频率 :40KHz
- 工作温度范围:-10℃~+70℃
- 探测有效距离:1cm~500cm
- 探测分辨率:0.5cm
- 探测误差:±0.5%
- 灵敏度:大于1.8m外可以探测到直径2cm物体
- 接口类型:TTL(单线模式和双线模式可切换)
- 方向性侦测范围:定向式(水平/垂直)65度圆锥
- 尺寸大小: 120mm x 115mm
- 重量大小:7g
使用方法及例子程序
引脚定义
传感器引脚的定义是 OUTPUT:输出信号 INPUT:信号输入
- +:电源(VCC)
- -:地(GND)
使用方法
单线模式接线:
INPUT端口接到控制器的I/O口。5V 和GND分别接到电源的+5V和GND。 注:在使用单线模式时模式选择开关(Mode)拨到数字1侧。 实物连接图 双线模式接线: 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); }
- 打开串口助手可以观察到距离值,如果距离小于 50厘米数字口13的LED 小灯熄灭,距离大于50厘米数字口13的LED 小灯亮起同时串口打印处距离数据。
→购买地址 RB URF02超声波传感器 http://www.alsrobot.cn/goods.php?id=132]