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
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
#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
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
TSL256x/TSL2560/TSL2561 - 亮度传感器
TSL2560 和 TSL2561 是亮度传感器。它们将光强度转换成数字信号的模拟到数字转换器。每个设备都结合了一个宽带光电二极管(可见光加红外线)和一个响应红外线的光电二极管,在一个单芯片 CMOS 电路中提供,能够在有效 20 位动态范围内提供近似视觉响应(16 位分辨率)。
两个积分模数转换器将光电二极管电流转换成代表每个通道测得的辐照度的数字输出。此数字输出可以输入到微处理器中,使用经验公式从辐照度(环境光水平)推导出 lux。
TSL2560 芯片允许 SMB-Alert 风格的中断,TSL2561 芯片支持传统的电平风格中断,该中断一直保持断言状态,直到固件清除它。
文档
- TSL256x 数据表
板子
使用方法
基本用法
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 兼容。 |
-
- nanoFramework.CoreLibrary >= 1.15.5)
- nanoFramework.System.Buffers.Binary.BinaryPrimitives >= 1.2.586)
- nanoFramework.System.Device.I2c >= 1.1.16)
- nanoFramework.System.Device.Model >= 1.2.586)
- nanoFramework.System.Math >= 1.5.43)
- UnitsNet.nanoFramework.Illuminance >= 5.56.0)
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 |