nanoFramework.Iot.Device.Tsl256x 1.2.613

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

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

TSL256x/TSL2560/TSL2561 - 亮度传感器

TSL2560 和 TSL2561 是亮度传感器。它们将光强度转换成数字信号的模拟到数字转换器。每个设备都结合了一个宽带光电二极管(可见光加红外线)和一个响应红外线的光电二极管,在一个单芯片 CMOS 电路中提供,能够在有效 20 位动态范围内提供近似视觉响应(16 位分辨率)。

两个积分模数转换器将光电二极管电流转换成代表每个通道测得的辐照度的数字输出。此数字输出可以输入到微处理器中,使用经验公式从辐照度(环境光水平)推导出 lux。

TSL2560 芯片允许 SMB-Alert 风格的中断,TSL2561 芯片支持传统的电平风格中断,该中断一直保持断言状态,直到固件清除它。

文档

板子

image

使用方法

基本用法

TSL2560 和 TSL2561 设计用来测量两个 ADC 的积分时间和增益。默认值为 402 毫秒和一个正常的增益 x1。

基本用法如下

I2cDevice i2cDevice = I2cDevice.Create(new I2cConnectionSettings(1, Tsl256x.DefaultI2cAddress));
Tsl256x tsl256X = new(i2cDevice, PackageType.Other);
tsl256X.IntegrationTime = IntegrationTime.Integration402Milliseconds;
tsl256X.Gain = Gain.Normal;
var lux = tsl256X.MeasureAndGetIlluminance();
Console.WriteLine($"Illuminance is {lux.Lux} Lux");

注意事项:

  • 请注意,有两种包装方式:CS和其他T、FN、CL。请参考文档了解您在板上使用的哪种包装。这将在创建传感器时成为一个问题,因为照度计算有所不同。
  • 根据地址引脚的设置方式,该设备可能有3个不同的I2C地址
    • 默认I2cAddress = 0x39:当引脚接地时
    • 第二个I2cAddress = 0x29:当引脚悬浮时
    • 第三个I2cAddress = 0x49:当引脚接地时

检查版本

您可以确定您是否有TSL2560或TSL2561版本

var ver = tsl256X.Version;
string msg = ver.Major & 0x01 == 0x01 ? $"This is a TSL2561, version {ver}" : $"This is a TSL2560, version {ver}";
Console.WriteLine(msg);

使用中断

您可以通过《InterruptLevel》设置中断,您有不同可能的中断可以设置

  • OutputDisabled:将禁用中断
  • LevelInterrupt:将使用您设置的永久中断,见下文
  • SmbAlertCompliant:将向SMB总线(仅限TSL2560版本)上的地址0b0000_1100发送警报
  • TestMode:将生成测试目的的中断

InterruptPersistence 将允许您选择特定的中断时间

  • EveryAdc:每次进行测量时
  • AnyValueOutsideThreshold:任何时间值将超出设置阈值
  • OutOfRangeXXIntegrationTimePeriods:其中XX是从2到15,只有当值超出超过XX次时才会中断

以下示例说明了如何使用测试模式设置基本中断

Console.WriteLine("Set interruption to test. Read the interrupt pin");
GpioController controller = new();
controller.OpenPin(PinInterrupt, PinMode.Input);
tsl256X.InterruptControl = InterruptControl.TestMode;
tsl256X.Enabled = true;
while (controller.Read(PinInterrupt) == PinValue.High)
{
    Thread.Sleep(1);
}

Console.WriteLine($"Interrupt detected, read the value to clear the interrupt");
tsl256X.GetRawChannels(out ushort ch0, out ushort ch1);

您还可以设置阈值上的中断。您首先需要设置阈值然后设置中断类型。

// Adjust those values with a previous measurement to understand the conditions, find a level where then you can
// hide the sensor with your arm and make it going under the minimum level or vice versa with a lamp
tsl256X.SetThreshold(0x0000, 0x00FF);
tsl256X.InterruptPersistence = InterruptPersistence.OutOfRange06IntegrationTimePeriods;
tsl256X.InterruptControl = InterruptControl.LevelInterrupt;
tsl256X.Power = true;
while (controller.Read(PinInterrupt) == PinValue.High)
{
    Thread.Sleep(1);
}

Console.WriteLine($"Interrupt detected, read the value to clear the interrupt");
tsl256X.GetRawChannels(out ch0, out ch1);
Console.WriteLine($"Raw data channel 0 {ch0}, channel 1 {ch1}");

手动集成

您还可以设置手动集成。请注意,您无法轻松计算照度等效值。您需要使用提供的手动集成功能

Console.WriteLine("This will use a manual integration for 2 seconds");
tsl256X.StartManualIntegration();
Thread.Sleep(2000);
tsl256X.StopManualIntegration();
tsl256X.GetRawChannels(out ch0, out ch1);
Console.WriteLine($"Raw data channel 0 {ch0}, channel 1 {ch1}");
产品 兼容和额外的计算目标框架版本。
.NET Framework net 兼容。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

NuGet软件包

该软件包没有被任何NuGet软件包使用。

GitHub存储库

该软件包没有被任何流行的GitHub存储库使用。

版本 下载 最后更新
1.2.613 56 8/9/2024
1.2.601 48 7/26/2024
1.2.590 64 7/17/2024
1.2.573 90 6/19/2024
1.2.570 86 6/14/2024
1.2.536 93 4/15/2024
1.2.534 94 4/13/2024
1.2.514 96 3/22/2024
1.2.494 92 2/28/2024
1.2.462 168 1/5/2024
1.2.458 106 12/20/2023
1.2.436 138 11/10/2023
1.2.416 85 11/8/2023
1.2.403 119 10/6/2023
1.2.396 115 9/27/2023
1.2.384 122 9/6/2023
1.2.378 136 8/16/2023
1.2.369 132 8/2/2023
1.2.363 130 7/28/2023
1.2.357 137 7/19/2023
1.2.354 140 7/14/2023
1.2.345 134 6/21/2023
1.2.341 136 6/14/2023
1.2.337 155 6/7/2023
1.2.335 141 6/2/2023
1.2.329 137 5/26/2023
1.2.316 142 5/16/2023
1.2.313 152 5/12/2023
1.2.302 149 5/10/2023
1.2.297 135 5/3/2023
1.2.273 234 3/17/2023
1.2.267 240 3/10/2023
1.2.263 229 3/8/2023
1.2.259 252 2/27/2023
1.2.256 255 2/24/2023
1.2.253 254 2/22/2023
1.2.222 290 1/9/2023
1.2.217 288 1/6/2023
1.2.212 287 1/5/2023
1.2.208 303 1/3/2023
1.2.203 305 12/28/2022
1.2.159 370 11/14/2022
1.2.153 360 11/5/2022
1.2.141 387 10/25/2022
1.2.128 387 10/22/2022
1.2.125 391 10/12/2022
1.2.87 495 9/15/2022
1.2.63 401 9/3/2022
1.2.47 417 8/15/2022
1.2.40 419 8/6/2022
1.2.38 420 8/5/2022
1.2.28 412 8/1/2022
1.2.13 432 7/24/2022
1.2.10 424 7/23/2022
1.1.142.3202 456 7/7/2022
1.1.133.52556 429 6/30/2022
1.1.121.35854 441 6/26/2022
1.1.118.19693 440 6/24/2022
1.1.116.8772 428 6/24/2022
1.1.102.51394 410 6/15/2022
1.1.99.36719 422 6/14/2022
1.1.97.17326 425 6/13/2022
1.1.92.53000 419 6/8/2022
1.1.72.29765 423 5/31/2022
1.1.61.27737 433 5/25/2022
1.1.58.10097 449 5/23/2022
1.1.54.28879 424 5/23/2022
1.1.40 448 5/5/2022
1.1.3 433 4/15/2022
1.1.1 449 4/14/2022
1.0.300 441 4/3/2022
1.0.288-preview.113 112 3/25/2022
1.0.288-preview.107 108 3/24/2022
1.0.288-preview.104 102 3/22/2022
1.0.288-preview.103 106 3/21/2022
1.0.288-preview.99 113 3/18/2022
1.0.288-preview.94 117 3/15/2022
1.0.288-preview.77 113 2/27/2022
1.0.288-preview.75 108 2/26/2022
1.0.288-preview.63 113 2/16/2022
1.0.288-preview.61 113 2/12/2022
1.0.288-preview.58 111 2/10/2022
1.0.288-preview.53 117 2/9/2022
1.0.288-preview.48 127 2/4/2022
1.0.288-preview.41 127 1/31/2022
1.0.288-preview.22 119 1/27/2022
1.0.288-preview.20 130 1/27/2022
1.0.288-preview.18 128 1/27/2022
1.0.272 469 1/10/2022
1.0.260 305 12/10/2021
1.0.259 305 12/9/2021
1.0.258 287 12/7/2021
1.0.231 314 10/27/2021