简介
这是一款专门水下应用而设计的超声波水下避障传感器,宽电压5-24V供电,具有体积小、盲区小、高精度、高防护等特点,在水下测量范围2-300cm。
传感器具有IP68的防护等级,代替传感器摄像头,满足正常航行速度水下避障要求,水下航行器使用避障传感器,可以做到真正的“无人驾驶”,不需要人眼观察,就可以让水下航行器实现随意控制,在10m水深下,依旧可以轻松避障。
体积小、盲区小,不占空间,易集成到项目中。
技术规格
- 测量距离:2-300cm
- 测距精度:±(0.5+S0.5%)cm@<2m,±(1+S1%)cm@>2m
- 工作电压:5-24V
- 待机电流:≤1mA
- 工作电流:≤10mA
- 输出方式:UART受控
- 上电工作时间:≤500ms
- 输出响应时间:10ms
- 角度:5-10°
- 工作温度:-15~50°C
- 存储温度:-25~80°C
- 存储湿度:65%~90%RH(不凝露)
引脚示意图
标号 | 名称 | 功能描述 |
---|---|---|
红线 | VCC | 电源输入正极 |
黑线 | GND | 电源接地线 |
黄线 | RX | UART 接收数据线 |
白线 | TX | UART 发送数据线 |
尺寸图
开孔安装建议图
输出格式
1、通信说明
接口 | 波特率 | 数据位 | 停止位 | 校验位 |
---|---|---|---|---|
UART | 115200bps | 8 | 1 | 无 |
2、时序图
注:T1≥19ms;T2≈13ms
3、UART输出格式
帧数据 | 输出数据 | 说明 | 字节 |
---|---|---|---|
帧头 | 0XFF | 帧头,固定为0XFF | 1字节 |
H_DATA | 0X07 | 距离数据的高8位 | 1字节 |
L_DATA | 0XA1 | 距离数据的低8位 | 1字节 |
SUM | 0XA7 | 数据校验和 | 1字节 |
SUM=(帧头+ Data_H+ Data_L)&0x00FF
=(0XFF + 0X07 + 0XA1)&0x00FF
=0XA7;
距离值= Data_H*256+ Data_L=0X07A1;
转换成十进制等于1953;
使用教程
准备
- 硬件
Arduino UNO x1
水下超声波避障传感器-3m x1
- 软件
Arduino IDE,点击下载 Arduino IDE
接线图
注意:传感器需放入水里才有数据,否则输出距离值为0
示例代码
#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(115200);
mySerial.begin(115200);
}
void loop() {
mySerial.write(COM);
delay(100);
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("mm");
}
}
}
}
结果:将传感器放入水下,若前方有障碍物,则串口打印出传感器与障碍物之间的距离值。
常见问题
还没有客户对此产品有任何问题,欢迎通过 qq 或者论坛联系我们!
更多问题及有趣的应用,可以访问论坛进行查阅或发帖