nanoFramework.Iot.Device.Vl53L0X 1.2.590

前缀已预订
dotnet add package nanoFramework.Iot.Device.Vl53L0X --version 1.2.590                
NuGet\Install-Package nanoFramework.Iot.Device.Vl53L0X -Version 1.2.590                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="nanoFramework.Iot.Device.Vl53L0X" Version="1.2.590" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件以引用包。
paket add nanoFramework.Iot.Device.Vl53L0X --version 1.2.590                
#r "nuget: nanoFramework.Iot.Device.Vl53L0X, 1.2.590"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此复制到交互式工具或脚本的源代码中,以引用包。
// Install nanoFramework.Iot.Device.Vl53L0X as a Cake Addin
#addin nuget:?package=nanoFramework.Iot.Device.Vl53L0X&version=1.2.590

// Install nanoFramework.Iot.Device.Vl53L0X as a Cake Tool
#tool nuget:?package=nanoFramework.Iot.Device.Vl53L0X&version=1.2.590                

VL53L0X - 距离传感器

VL53L0X 传感器是一种时间-of-飞行传感器,可以精确测量距离。该传感器允许您获取精确的短距离测量(从 5 毫米到 2 米),以及长距离测量(最高可达 8 米,但精度降低)。此传感器是激光测距传感器。它使用激光脉冲来测量距离。

文档

VL53L0X 数据表

您可以在以下位置找到此设备:"距离传感器""Adafruit VL53L0X 时间-of-飞行距离传感器 - ~30 到 1000mm"

VL53L0X

用法

重要:在创建 I2cDevice 之前,请确保正确设置 I2C 引脚,特别是对于 ESP32,确保已安装 nanoFramework.Hardware.ESP32 nuget

//////////////////////////////////////////////////////////////////////
// when connecting to an ESP32 device, need to configure the I2C GPIOs
// used for the bus
Configuration.SetPinFunction(21, DeviceFunction.I2C1_DATA);
Configuration.SetPinFunction(22, DeviceFunction.I2C1_CLOCK);

对于其他设备(如 STM32),请确保您正在使用所需 I2C 总线的预设引脚。

所有校准和传感器设置都完全透明地为您完成。只需创建一个类,读取一次距离,或使用连续测量方法。

Vl53L0X vL53L0X = new Vl53L0X(I2cDevice.Create(new I2cConnectionSettings(1, Vl53L0X.DefaultI2cAddress)));
Debug.WriteLine($"Rev: {vL53L0X.Information.Revision}, Prod: {vL53L0X.Information.ProductId}, Mod: {vL53L0X.Information.ModuleId}");
while (true)
{
    try
    {
        Debug.WriteLine($"Distance: {vL53L0X.Distance}");
    }
    catch (Exception ex)
    {
        Debug.WriteLine($"Exception: {ex.Message}");
    }
    Thread.Sleep(500);
}

请注意,在使用连续或单次测量功能读取距离时,可能会遇到异常,您应该捕获它。

您还可以获取单次测量,在这种情况下,精度可能较低。使用 MeasurementMode 属性来更改模式。

您还可以调整所需测量的类型。默认情况下,传感器设置为长距离模式。这确实允许在 2 米范围内获得相当准确的(±5%)精度,但仍可以测量到 8 米的距离(精度明显不正确)。您可以使用 SetPrecision 函数切换到短距离模式。如果想要设置自己的模式,应结合使用 SetSignalRateLimitSetVcselPulsePeriod 函数以及 HighResolution 属性,如下例所示

HighResolution = false;
SetSignalRateLimit(0.25);
SetVcselPulsePeriod(VcselType.VcselPeriodPreRange, PeriodPulse.Period14);
SetVcselPulsePeriod(VcselType.VcselPeriodFinalRange, PeriodPulse.Period10);

请参考文档以了解更改各种脉冲以及使用高分辨率精度测量的影响。传感器在长距离上无法保持精度,通常情况下,它能看到的距离越长,数据就越不精确。高分辨率将返回更精确的测量值,但主要在短距离内。

更改默认 I2C 地址

您可以调整用于此传感器的 I2C 地址。以下是解释如何做到这一点的代码片段

// Code snippet to change the address of a sensor
byte newAddress = 0x28; // You can change for any valid supported address
I2cDevice connectionToCurrentAddress = I2cDevice.Create(new I2cConnectionSettings(1, Vl53L0X.DefaultI2cAddress));
Vl53L0X.ChangeI2cAddress(connectionToCurrentAddress, newAddress);
I2cDevice connectionToChangedAddress = I2cDevice.Create(new I2cConnectionSettings(1, newAddress));
using Vl53L0X vlWithChangedAddress = new(connectionToChangedAddress);
// Do what you'd like to do here
// Soft reset the device to setup the default address again
vlWithChangedAddress.Reset();
// Now the address is reset to the default one
产品 兼容和额外的计算目标框架版本。
.NET 框架 net 是兼容的。
兼容的目标框架
包含的目标框架(在包中)
有关更多信息,请参阅目标框架.NET Standard

NuGet 包

此包未使用任何 NuGet 包。

GitHub 仓库

此包未使用任何流行的 GitHub 仓库。

版本 下载 上次更新
1.2.590 69 7/17/2024
1.2.570 93 6/14/2024
1.2.560 98 5/29/2024
1.2.548 97 5/15/2024
1.2.436 245 11/10/2023
1.2.416 115 11/8/2023
1.2.329 154 5/26/2023
1.2.313 142 5/12/2023
1.2.297 150 5/3/2023
1.2.212 332 1/5/2023
1.2.203 297 12/28/2022
1.2.159 363 11/14/2022
1.2.153 357 11/5/2022
1.2.141 374 10/25/2022
1.2.122 429 10/12/2022
1.2.114 357 10/8/2022
1.2.95 414 9/22/2022
1.2.87 480 9/15/2022
1.2.73 395 9/8/2022
1.1.116.8772 447 6/24/2022
1.1.113.2032 437 6/23/2022
1.1.97.17326 413 6/13/2022
1.1.92.53000 426 6/8/2022
1.1.58.10097 433 5/23/2022
1.1.7 437 4/18/2022
1.1.1 438 4/14/2022
1.0.300 477 4/3/2022
1.0.277-preview.125 117 3/25/2022
1.0.277-preview.116 101 3/22/2022
1.0.277-preview.99 116 3/10/2022
1.0.277-preview.32 123 1/27/2022
1.0.277-preview.15 122 1/21/2022
1.0.277-preview.1 122 1/11/2022
1.0.259 322 12/9/2021
1.0.218 188 10/18/2021
1.0.155 317 8/31/2021
1.0.144 360 7/21/2021
1.0.136 396 7/17/2021
1.0.135 152 7/16/2021
1.0.134 163 7/15/2021
1.0.133 200 7/14/2021
1.0.130 184 7/6/2021
1.0.125 182 7/5/2021
1.0.121 191 6/29/2021
1.0.119 222 6/28/2021
1.0.99 189 5/28/2021
1.0.53 203 5/25/2021