(SKU:SEN0245)VL53L0 Distance Ranging Sensor

来自DFRobot Product Wiki
跳转至: 导航搜索
产品名称

Update/modify/delete Forbidden, 禁止更改本图,请更改图片名称,避免覆盖上传

目录

简介

VL53L0激光测距传感器,是意法半导体(STMicroelectronics)新出的基于飞行时间测距(ToF)原理设计的高精度测距传感器,测距长度达到2m,精度达±3%。同时,VL53L0测距时间不足30ms,正常工作模式下功耗仅20mW,待机功耗为5uA。 DFRobot基于VL53L0设计的Gravity传感器模块,提供Gravity-I2C接口,即插即用,同时为适应更多的应用场景,该产品还支持3.3V~5V电平兼容。


技术规格

  • 工作电压:3.3V-5V DC
  • 激光波长 :940nm
  • 量程范围:30-2000mm
  • 测距角度:25°
  • 测距精度:±3%
  • 测距时间:<= 30ms
  • 工作温度:-20-70 ℃
  • 接口类型:标准Gravity接口
  • 产品尺寸:20*22 mm


引脚说明

引脚图
表名
标号 名称 功能描述
1 绿线 D IIC数据线DATA
2 蓝线 C IIC时钟线CLK
3 黑线 - 电源负极GND
4 红线 + 电源正极VCC
  • GPIO1:传感器中断输出引脚,用来指示数据是否准备好
  • XSHUT:传感器关闭引脚,默认被拉高,当引脚被拉低时传感器进入关闭模式


产品尺寸

SEN0245 尺寸图 1.jpg


使用教程

准备

硬件

1 x UNO控制板

1 x VL53L0 Distance Ranging Sensor模块


软件

Arduino IDE (根据能够使用的Arduino版本来选择,不要盲目追求最新版本), 点击下载Arduino IDE

请先下载VL53L0 Distance Ranging Sensor Driver库 如何安装库文件,点击链接


连接图

SEN0245连接图

样例代码

/*!
 * @file DFRobot_VL53L0X.ino
 * @brief DFRobot's Laser rangefinder library
 * @n The example shows the usage of VL53L0X in a simple way.

 * @copyright	[DFRobot](http://www.dfrobot.com), 2016
 * @copyright	GNU Lesser General Public License
 
 * @author [LiXin]
 * @version  V1.0
 * @date  2017-8-21
 * @https://github.com/DFRobot/DFRobot_VL53L0X
 timer*/
#include "Arduino.h"
#include "Wire.h"
#include "DFRobot_VL53L0X.h"

/*****************Keywords instruction*****************/
//Continuous--->Continuous measurement model
//Single------->Single measurement mode
//High--------->Accuracy of 0.25 mm
//Low---------->Accuracy of 1 mm
/*****************Function instruction*****************/
//setMode(ModeState mode, PrecisionState precision)
  //*This function is used to set the VL53L0X mode
  //*mode: Set measurement mode       Continuous or Single
  //*precision: Set the precision     High or Low
//void start()
  //*This function is used to enabled VL53L0X
//float getDistance()
  //*This function is used to get the distance
//uint16_t getAmbientCount()
  //*This function is used to get the ambient count
//uint16_t getSignalCount()
  //*This function is used to get the signal count
//uint8_t getStatus();
  //*This function is used to get the status
//void stop()
  //*This function is used to stop measuring

DFRobotVL53L0X sensor;

float calcSpeed()
{
	uint32_t timer1,timer2;
	float inspeed1,inspeed2;
	timer1 = millis();
	inspeed1 = sensor.getDistance();
	delay(50);
	timer2 = millis();
	inspeed2 = sensor.getDistance();
	return (inspeed2-inspeed1)/(timer2-timer1);
}

void setup() {
  //initialize serial communication at 9600 bits per second:
  Serial.begin(115200);
  //join i2c bus (address optional for master)
  Wire.begin();
  //Set I2C sub-device address
  sensor.begin(0x50);
  //Set operational mode of laser rangefinder
  sensor.setMode(Continuous,High);
  //Laser rangefinder begins to work
  sensor.start();
}

void loop() 
{
	Serial.println("----- START TEST ----");
	Serial.print("ambient Count: ");Serial.println(sensor.getAmbientCount());
	Serial.print("Signal Count: ");Serial.println(sensor.getSignalCount());
	Serial.print("Distance: ");Serial.println(sensor.getDistance());
	Serial.print("Status: ");Serial.println(sensor.getStatus());
	Serial.print("Speed: ");Serial.println(calcSpeed());
	Serial.println("----- END TEST ----");
	Serial.println("");
	delay(1000);
}

测量结果

IDE串口打印

串口显示测量到的距离等信息

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!


更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。


更多


DFshopping car1.png [Link DFRobot商城购买链接]

个人工具
名字空间

变换
操作
导航
工具箱