超声波材料检测传感器

简介

超声波材料检测传感器是一种微型、超低功率超声飞行时间(TOF)传感器,可以实现近距离检测材质。该产品利用超声波在不同材质表面回波信号的能量差异来实现材质的识别。在IO 模式下可通过输出的高低电平来区分软硬材质;也支持串口模式,输出软硬材质信息。该产品主要适用于机器人(比如清洁机器人)识别地面材质,尺寸小且易于安装。比如, 清洁机器人使用该产品时,可根据获取的地面信息自动调整清洁策略,进而实现智能清扫。

技术规格

  • 输入电压:3.3V
  • 启动电流:50mA
  • 工作电流:8mA
  • 驱动频率:175KHz
  • 检测范围:2~10cm
  • 检测频率:100Hz
  • FOV:45°
  • 工作温度:-10~50℃
  • 存储温度:-30~70℃
  • 整机寿命:3000h
  • EDS防护等级:15KV
  • 防护等级:IP54
  • 通讯方式:UART/IO
  • 整机重量:1.0g(不包含连接线)

接口

注意!!!接线座的焊接针脚 1 处有 ο 标志

序号 信号名 类型 描述 最小值 典型值 最大值
1 Rx 接收 UART 0V 3.3V 3.5V
2 Tx/IO 输出 TTL电平 0V 3.3V 3.5V
3 GND 供电 电源负极 - 0V -
4 P3V3 供电 电源正极 2.8V 3.3V 3.6V

产品尺寸

装配示意图

使用教程

准备

  • 硬件

    uno板 x1

    超声波材料检测传感器 x1

    ZH1.5T-4P 端子连接器杜邦线接口 x1

  • 软件 Arduino IDE,点击下载 Arduino IDE

支持 IO 模式、 串口模式。 模组上电默认使用 IO 模式。

IO模式接线图

示例代码

int ledPin = 13; // LED connected to digital pin 13
int inPin = 8;   // pushbutton connected to digital pin 8
int val = 0;     // variable to store the read value

void setup()
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin 13 as output
  pinMode(inPin, INPUT);      // sets the digital pin 8 as input
  digitalWrite(ledPin, LOW);
}
void loop() {
  val = digitalRead(inPin);   // read the input pin
  if (val)
  {
    digitalWrite(ledPin, HIGH);
  }
  else
  {
    digitalWrite(ledPin, LOW);
  }
  delay(50);
}

IO 模式下判断的响应时间为 10ms;
当目标材质为软材质时, TX 引脚输出 0V 低电平;
当目标材质为硬材质时, TX 引脚输出 3.3V 高电平。

串口模式

模组上电后,通过串口向模组发送指令实现 IO 模式到串口模式的切换,变更为串口模式后,模组按 100Hz 的频率向外发送数据。

波特率 数据长度 停止位 奇偶校验位 流控制
115200 8Bits 1

示例代码

#include <SoftwareSerial.h>
SoftwareSerial mySerial(9, 10); // RX, TX

unsigned char Send_Date[6] = {0XAA,0XAA,0XFE,0X01,0X00,0X53};
unsigned char buffer_RTT[100] = {};
uint8_t checksum = 0;

void setup() {
  Serial.begin(9600);
  mySerial.begin(115200);
  mySerial.write(Send_Date,6);
}

void loop() {
 while (mySerial.available() > 0) 
 {

   if(mySerial.read() == 0XAA)
   {
     buffer_RTT[0]=0XAA;
     for(int i=1;i<8;i++)
     {
       buffer_RTT[i]=mySerial.read();
       }
       checksum =(buffer_RTT[0]+buffer_RTT[1]+buffer_RTT[2]+buffer_RTT[3]+buffer_RTT[4]+buffer_RTT[5]+buffer_RTT[6])&0X00FF;
      if(buffer_RTT[7]== checksum)
      {
        Serial.println(buffer_RTT[4]);        //读取数据位状态
      }
   }
 }
 delay(5);
}



检测到硬材质,串口打印0,检测到软材质,串口打印1

材质检测说明

1、材质说明,常见的硬材质包含:木地板、瓷砖、大理石;常见的软材质包含:地毯(长毛地毯、中毛地毯、短毛地毯)、海绵等。

2、硬材质地面凹凸不平及地板铺设间隙过大都有可能导致硬材质回波值明显减弱而误判为软材质,因此不建议用于地面的平整度的复杂场景。为增强可靠性,建议与扫地机器人运动配合检测,以一定范围内的多次检测结果协助判定,可避免其他条件影响检测。