简介
这是一款小角度的测距超声波,采用智能信号处理电路,内置高精度算法,测量范围25-800cm,具有盲区小、精度高、响应快、低功耗等特点。
传感器具有IP67的防护等级,板载温度补偿功能,可自动修正温度偏差,-15°C~60°C均可稳定测距。超声波测距不受检测物体的颜色、透明度、材质(金属、非金属)造成的影响,适用于各种潮湿、恶劣的测量环境。
传感器测量角度最大约15°,波束角小,不受环境干扰,在狭小的环境依然能够测量障碍物,可应用于智能井盖水位检测、水库水箱液位检测、河道水位检测、小角度水平检测等场景。
特性
- 25cm小盲区
- 15°FOV小角度
- 精度高、低功耗、响应快
- IP67防护等级,带温度补偿、抗干扰强
技术规格
- 工作电压:DC3.3~5V
- 静态电流:<10uA
- 工作电流:<15mA
- 测量距离:25~800cm
- 测量精度:±2cm
- 测量分辨率:1cm
- 探头频率:40khz
- 输出方式:UART受控输出
- 角度:15°
- 响应时间:0.9~2.5S
- 工作温度:-15~60°C(带温度补偿)
- 存储温度:-25~70°C
- 防护等级:IP67
引脚示意图
标号 | 名称 | 功能描述 |
---|---|---|
红线 | VCC | 电源输入正极 |
黑线 | GND | 电源接地线 |
蓝线 | RX | UART 接收数据线 |
绿线 | TX | UART 发送数据线 |
尺寸图
输出格式
1、通信说明
当RX引线接收到一个下降沿脉冲,超声波会进行5~15次距离检测,检测完成后,会在TX引线输出测量距离值,要求超声波触发周期必须大于2.5s
接口 | 波特率 | 数据位 | 停止位 | 校验位 |
---|---|---|---|---|
UART | 9600bps | 8 | 1 | 无 |
2、时序图
注:T1>2.5s,T2=0.9~2.5s;RX下降沿触发脉宽建议在10us-2ms之间
3、UART输出格式
帧数据 | 输出数据 | 说明 | 字节 |
---|---|---|---|
帧头 | 0XFF | 帧头,固定为0XFF | 1字节 |
H_DATA | 0X01 | 距离数据的高8位 | 1字节 |
L_DATA | 0XA1 | 距离数据的低8位 | 1字节 |
SUM | 0XA1 | 数据校验和 | 1字节 |
SUM=(帧头+ Data_H+ Data_L)&0x00FF
=(0XFF + 0X01 + 0XA1)&0x00FF
=0XA1;
距离值= Data_H*256+ Data_L=0X01A1;
转换成十进制等于417,表示当前测量的距离值为417cm。
使用教程
准备
- 硬件
Arduino UNO x1
小角度超声波测距传感器-8m x1
- 软件
Arduino IDE,点击下载 Arduino IDE
接线图
示例代码
#include <SoftwareSerial.h>
unsigned char buffer_RTT[4] = {0};// 用于存储从串口读到的数据
int Distance = 0;//用于储存读到的距离值
uint8_t CS;//储存校验和
#define COM 0x55
SoftwareSerial mySerial(7, 8); // RX, TX
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() {
mySerial.write(COM);
delay(10);
if(mySerial.available() > 0){
delay(4);
if(mySerial.read() == 0xff){ //判断数据包头
buffer_RTT[0] = 0xff;
for (int i=1; i<4; i++){
buffer_RTT[i] = mySerial.read(); //读取数据
}
CS = buffer_RTT[0] + buffer_RTT[1]+ buffer_RTT[2]; //计算校验和
if(buffer_RTT[3] == CS) {
Distance = (buffer_RTT[1] << 8) + buffer_RTT[2];//计算距离
Serial.print("Distance:");
Serial.print(Distance);
Serial.println("cm");
}
}
}
}
结果:若传感器前方有障碍物或液体,则串口打印出传感器与障碍物或液体之间的距离值。
常见问题
还有客户对此产品有任何问题,欢迎通过 qq 或者论坛联系我们!
更多问题及有趣的应用,可以访问论坛进行查阅或发帖