小角度超声波测距传感器-8m

简介

这是一款小角度的测距超声波,采用智能信号处理电路,内置高精度算法,测量范围25-800cm,具有盲区小、精度高、响应快、低功耗等特点。

传感器具有IP67的防护等级,板载温度补偿功能,可自动修正温度偏差,-15°C~60°C均可稳定测距。超声波测距不受检测物体的颜色、透明度、材质(金属、非金属)造成的影响,适用于各种潮湿、恶劣的测量环境。

传感器测量角度最大约15°,波束角小,不受环境干扰,在狭小的环境依然能够测量障碍物,可应用于智能井盖水位检测、水库水箱液位检测、河道水位检测、小角度水平检测等场景。

特性

技术规格

引脚示意图

标号 名称 功能描述
红线 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。

使用教程

准备

小角度超声波测距传感器-8m x1

接线图

Arduino连接图

示例代码

#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");
      }
    }
  }
}

结果:若传感器前方有障碍物或液体,则串口打印出传感器与障碍物或液体之间的距离值。

Arduino串口打印数据图

常见问题

还有客户对此产品有任何问题,欢迎通过 qq 或者论坛联系我们! 更多问题及有趣的应用,可以访问论坛进行查阅或发帖

更多

DFRobot 商城购买链接