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
<PackageReference Include="nanoFramework.Iot.Device.Vl53L0X" Version="1.2.590" />
paket add nanoFramework.Iot.Device.Vl53L0X --version 1.2.590
#r "nuget: nanoFramework.Iot.Device.Vl53L0X, 1.2.590"
// 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"
板
用法
重要:在创建 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
函数切换到短距离模式。如果想要设置自己的模式,应结合使用 SetSignalRateLimit
和 SetVcselPulsePeriod
函数以及 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 是兼容的。 |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.Runtime.Events (>= 1.11.18)
- nanoFramework.System.Buffers.Binary-binaryPrimitives (>= 1.2.586)
- nanoFramework.System.Device.Gpio (>= 1.1.41)
- nanoFramework.System.Device.I2c (>= 1.1.16)
- nanoFramework.System.Diagnostics.Stopwatch (>= 1.2.586)
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 |