0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全球最小的 ToF 激光测距传感器展现多种用途

瑞科慧联(RAK) 2022-07-28 10:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

由瑞科慧联(RAK)出品的 ToF 传感器模块 WisBlock RAK12014,采用 ST VL53L0X,后者是世界上最小的 ToF 测距传感器由瑞科慧联(RAK)出品的 ToF 传感器模块 WisBlock RAK12014,采用 ST VL53L0X,后者是世界上最小的 ToF 测距传感器

激光测距在生产生活中有很多应用,例如测距、定位、避障等等。而飞行时间(ToF)测距作为激光测距技术的一种,因为其测量精准、响应快速、低功耗等特点,常被用于机器人自动驾驶汽车、交通管理中的实时对象检测,我们手机的面部检测功能,也用到这种技术。

本文将介绍一款 ToF 激光测距传感器模块 WisBlock RAK12014,并利用 WisBlock开发板演示该模块如何工作。

什么是 ToF激光测距传感器模块?

ToF 激光测距传感器模块是一种使用激光脉冲来测量自身与目标物体之间距离的模块。WisBlock RAK12014 ToF 激光测距传感器模块基于意法半导体 ST VL53L0X而设计。VL53L0X采用目前市场上最小的封装,可谓世界上最小的 ToF 测距传感器。

WisBlock RAK12014 能提供精确的距离测量,可测量 2米的绝对距离。其 940nm VCSEL发射器(垂直腔面发射激光器)完全不为人眼所见,再加上内置的物理红外滤光片,使其测距距离更长、对环境光的抗干扰性更强、对盖片的光学串扰具有更好的稳定性。换言之,无论目标反射率如何,该传感器都能提供精确的距离测量。上述特点使之能胜任高精度的测距任务,适用于更多应用场景中。

RAK12014 是模块化的硬件开发平台 WisBlock 的一款传感器模块RAK12014 是模块化的硬件开发平台 WisBlock 的一款传感器模块

RAK12014模块规格与特性:

  • 测量绝对距离可达 2 m
  • 用于器件控制和数据传输的I2C接口
  • Xshutdown(复位)和中断 GPIO
  • 电源 2.6~3.5 V
  • 尺寸10 x 10mm

RAK12014模块包含一个兼容 WisBlock 基板传感器插槽的 24引脚连接器。通过该连接器可以将 RAK12014模块安装在 WisBlock 基板(如RAK5005-O)模块上。该连接器的引脚顺序以及引脚定义如下图所示。

RAK12014 的引脚分布RAK12014 的引脚分布

注意:仅 I2C相关引脚、XSHUT(复位)、INT、3V3_S以及 GND连接到了该模块的连接器上。

RAK12014典型示例:在 OLED显示屏上显示测试距离

RAK12014有一个很典型的应用,能够很形象地给我们展示 ToF 激光测距传感器模块的特性,即“在 OLED显示屏上显示出测试的距离”。

在这个例子中,将RAK12014连接到 RAK 5005-O 基板上,通过核心模块 RAK4631驱动它的测量距离功能,并将其测量到的距离信息在 OLED显示屏上显示。

 让 RAK12014 实现“在 OLED 显示屏上显示出测试的距离”应用所需的产品配置让 RAK12014 实现“在 OLED 显示屏上显示出测试的距离”应用所需的产品配置

  • RAK12014
  • RAK4631
  • RAK5005-O
  • RAK1921 OLED显示屏
  • 跳线
  • 电源线
原理图

以下是实现这一应用的具体步骤:

1、安装 OLED库

要控制 OLED显示屏,需要使用到“U8g2”库。

2、安装 ToF 激光测距传感器库

要控制 ToF 激光测距传感器模块,需要使用“stm32duino_vl53l0x”库。

注意:所有的库安装完成之后需要重启 Arduino IDE,才能使安装的库生效。

3、导入代码

接着将代码导入 OLED显示屏和 ToF 激光测距传感器模块所需的库当中,然后定义两个名为“u8g2”和“sensor_vl53l0”的对象。

#include #include // Click to install library: http://librarymanager/All#stm32duino_vl53l0x #include // Click to install library: http://librarymanager/All#u8g2 U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0); VL53L0X sensor_vl53l0x(&Wire, WB_IO2);

4、GetDistance()函数

GetDistance() 中,定义一个 report数据。当有数据的时候打印出当前读到的数据测量值,当没有数据时打印如下所示内容:

void GetDistance(){ int status; char report[64]; uint32_t distance; u8g2.clearBuffer(); // clear the internal memory u8g2.setFont(u8g2_font_ncenB10_tr); // choose a suitable font // Read Range. status = sensor_vl53l0x.GetDistance(&distance); if (status == VL53L0X_ERROR_NONE) { // Output data. snprintf(report, sizeof(report), "Range: %ld mm", distance); } else { snprintf(report, sizeof(report), "Nothing at all", distance); } Serial.println(report); u8g2.drawStr(15, 30, report); u8g2.sendBuffer(); }

5、setup()函数

在 setup()中,ToF 激光测距传感器和 OLED显示器都会被初始化。在串口监视器上打印一条消息,这样就能知道 ToF 激光测距传感器是否成功找到了。如下所示:

void setup() { int status; pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); pinMode(WB_IO2, OUTPUT); digitalWrite(WB_IO2, HIGH); // Initialize Serial for debug output Serial.begin(115200); time_t serial_timeout = millis(); // On nRF52840 the USB serial is not available immediately while (!Serial) { if ((millis() - serial_timeout) < 5000)     {       delay(100);       digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));     }     else     {       break;     }   }   u8g2.begin();   // Initialize I2C bus.   Wire.begin();   // Configure VL53L0X component.   sensor_vl53l0x.begin();   // Switch off VL53L0X component.   sensor_vl53l0x.VL53L0X_Off();   // Initialize VL53L0X component.   status = sensor_vl53l0x.InitSensor(0x52);   if(status)   {     Serial.println("Init sensor_vl53l0x failed...");   } }

6、loop()函数

loop() 中,代码在 OLED显示屏上显示了主屏幕,而这其实是在 GetDistance() 函数中完成的。

void loop() { uint32_t distance; int status; GetDistance(); delay(300); }

7、代码上传

完成前面的代码撰写之后,选择所使用的开发板 RAK4631,选择正确的端口之后开始代码上传烧录,然后打开 Arduino IDE的串口监视器。选择 115200的波特率,我们就可以看见ToF 激光测距传感器模块的测距数据:

8、演示程序

完成以上操作后,一旦 ToF 激光测距传感器上方有物体,OLED显示屏就会显示当前物体与传感器的距离;当传感器上方没有物体时,OLED显示屏则会显示当前无物体,点击链接查看视频展示了详细的演示过程。

总结

ToF 激光测距传感器模块可以应用的范围很广泛,它可以根据场景的不同调整距离。另外,所有来自传感器的信息都可以直接上传到云上,便于实时调整。本文主要向大家展示了如何使用 ToF 激光测距传感器模块测量物体离传感器的距离。今后再向大家介绍该模块在我们生活中的更多实际应用。

备注:以下是本次用例的完整代码,仅大家参考:

/** @file RAK12014_Distance_Detection.ino @author rakwireless.com @brief Distance detection by laser @version 0.1 @date 2021-8-28 @copyright Copyright (c) 2020 **/ #include #include // Click to install library: http://librarymanager/All#stm32duino_vl53l0x #include // Click to install library: http://librarymanager/All#u8g2 U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0); VL53L0X sensor_vl53l0x(&Wire, WB_IO2); void GetDistance(){ int status; char report[64]; uint32_t distance; u8g2.clearBuffer(); // clear the internal memory u8g2.setFont(u8g2_font_ncenB10_tr); // choose a suitable font // Read Range. status = sensor_vl53l0x.GetDistance(&distance); if (status == VL53L0X_ERROR_NONE) { // Output data. snprintf(report, sizeof(report), "Range: %ld mm", distance); } else { snprintf(report, sizeof(report), "Nothing at all", distance); } Serial.println(report); u8g2.drawStr(15, 30, report); u8g2.sendBuffer(); } void setup() { int status; pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); pinMode(WB_IO2, OUTPUT); digitalWrite(WB_IO2, HIGH); // Initialize Serial for debug output Serial.begin(115200); time_t serial_timeout = millis(); // On nRF52840 the USB serial is not available immediately while (!Serial) { if ((millis() - serial_timeout) < 5000) { delay(100); digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); } else { break; } } u8g2.begin(); // Initialize I2C bus. Wire.begin(); // Configure VL53L0X component. sensor_vl53l0x.begin(); // Switch off VL53L0X component. sensor_vl53l0x.VL53L0X_Off(); // Initialize VL53L0X component. status = sensor_vl53l0x.InitSensor(0x52); if(status) { Serial.println("Init sensor_vl53l0x failed..."); } } void loop() { uint32_t distance; int status; GetDistance(); delay(300); }

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2573

    文章

    54373

    浏览量

    786091
  • TOF
    TOF
    +关注

    关注

    9

    文章

    521

    浏览量

    38154
  • RAK
    RAK
    +关注

    关注

    0

    文章

    48

    浏览量

    2457
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    有没有推荐的激光测距传感器

    有推介的国内稍微头部一点的激光测距传感器品牌推介嘛,需要点对面测距
    发表于 11-13 11:54

    XL5300 TOF测距模组产品介绍

    XL5300TOF直接飞行时间(dToF)传感器采用了单模块封装设计,集成了单光子雪崩二极管(SPAD)接收阵列以及VCSEL激光发射
    的头像 发表于 10-27 11:05 368次阅读
    XL5300 <b class='flag-5'>TOF</b><b class='flag-5'>测距</b>模组产品介绍

    石头激光测距传感器:精准测量的“智慧之眼”

    不可替代的优势重塑测量边界。而石头激光测距传感器,凭借其高精度、高适应性、高稳定性的综合优势,成为精准测量领域的“智慧之眼”。 毫米级精度:突破测量极限 激光
    的头像 发表于 10-15 08:42 252次阅读
    石头<b class='flag-5'>激光</b><b class='flag-5'>测距</b><b class='flag-5'>传感器</b>:精准测量的“智慧之眼”

    守护行车安全 激光测距传感器让驾驶更智能

    测距传感器系统,为您提供更精确、更直观的车距监测方案,助力每位驾驶员在路上更加游刃有余,防患于未然。 优利威激光测距传感器系统,以高精度、快
    的头像 发表于 10-09 10:35 57次阅读
    守护行车安全 <b class='flag-5'>激光</b><b class='flag-5'>测距</b><b class='flag-5'>传感器</b>让驾驶更智能

    拨动激光测距传感器:以毫厘之准,开启精准测量新纪元

    的高质量发展注入强劲动能。 毫厘之准,重塑测量精度新标杆 传统测量工具受限于技术原理,在精度和效率上往往难以兼顾。而拨动激光测距传感器凭借其独特的飞行时间(ToF)测量原理,通过发射高
    的头像 发表于 08-29 08:33 333次阅读
    拨动<b class='flag-5'>激光</b><b class='flag-5'>测距</b><b class='flag-5'>传感器</b>:以毫厘之准,开启精准测量新纪元

    精准测量新选择:低成本激光测距传感器,开启高效测量新时代

    在工业自动化、智能家居、物流仓储等众多领域,精确的距离测量是保障生产效率与产品质量的关键环节。然而,传统激光测距传感器高昂的价格,让许多中小企业望而却步。如今,一款低成本激光
    的头像 发表于 08-22 08:39 452次阅读

    RS485转ProfibusDP网关通过发送报文实现激光测距传感器开启关闭激光

    在工业自动化领域,西门子300PLC与JRT激光测距传感器的协同工作是实现精准测控的关键环节。然而,二者通信接口的差异——西门子300PLC采用ProfibusDP协议,而JRT激光
    的头像 发表于 07-21 10:01 357次阅读
    RS485转ProfibusDP网关通过发送报文实现<b class='flag-5'>激光</b><b class='flag-5'>测距</b><b class='flag-5'>传感器</b>开启关闭<b class='flag-5'>激光</b>

    激光测距传感器响应慢,要怎么解决?

    激光测距传感器的精准度虽备受赞誉,但响应速度的不足却时常成为系统性能的瓶颈。当指令发出与距离值稳定输出的时间间隔成为关键限制时,如何突破这一难题?
    的头像 发表于 06-27 17:02 656次阅读

    新品 | Unit Mini ToF-90°,迷你TOF测距单元

    Time-of-Flight(飞行时间,简称ToF)是一种三维成像技术,它通过测量光信号从发射源到目标物体并返回的时间,从而精确计算目标物体与传感器之间的距离。本周上新的新品
    的头像 发表于 05-30 16:15 817次阅读
    新品 | Unit Mini <b class='flag-5'>ToF</b>-90°,迷你<b class='flag-5'>TOF</b><b class='flag-5'>测距</b>单元

    高精度激光测距传感器:工业精密测量的“隐形守护者”

    在智能制造的浪潮中,精度是衡量生产效能的核心指标。而高精度激光测距传感器,正以毫米级甚至微米级的测量能力,成为工业自动化、精密制造和工程监测领域的“隐形守护者”。它以非接触式测量技术突破传统工具
    的头像 发表于 05-27 08:36 667次阅读

    基于STM32F103C8T6控制多路VL53L0X激光测距传感器

    使用STM32F103C8T6的一条IIC总线控制4个激光测距传感器,我使用的激光测距传感器是亚
    发表于 04-23 18:23

    全面了解ToF传感器:功能、原理与使用--其利天下

    因为ToF传感器不仅可以准确计算单个物体与传感器的距离,利用激光返回时间和波长的差异,还能对目标进行精确的数字三维3D表征,并直观地绘制出目标的各个特征,为我们提供
    的头像 发表于 04-10 12:06 3505次阅读
    全面了解<b class='flag-5'>ToF</b><b class='flag-5'>传感器</b>:功能、原理与使用--其利天下

    激光位移传感器的测量范围选择

    激光位移传感器的测量范围选择是一个关键步骤,它直接影响到测量的准确性和传感器的适用性。以下是对激光位移传感器测量范围选择的分析: 一、测量范
    的头像 发表于 02-13 17:25 1412次阅读

    光谱传感器用途

    光谱传感器是一种高科技设备,它通过测量物体的光谱特征,能够更准确地判断物体的颜色、成分及其他相关信息。光谱传感器用途非常广泛,涵盖了许多重要领域,以下是对其主要用途的详细归纳:
    的头像 发表于 01-27 15:31 1292次阅读

    位移传感器激光测距仪对比

    在现代工业和科研领域,精确的测量技术是不可或缺的。位移传感器激光测距仪作为两种常用的测量工具,它们各自有着独特的优势和应用场景。 1. 测量原理 1.1 位移传感器 位移
    的头像 发表于 01-19 09:56 1465次阅读