nanoFramework.Iot.Device.Tlc1543 1.2.590

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

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

TLC1543 - 10位ADC带11个输入通道

高速10位开关电容逐次逼近模数转换器,14个通道(11个输入和3个自测试通道)

文档

用法

使用ADC的简单线查找算法

此示例展示了如何使用TLC1543 ADC计算5个红外传感器阵列下方线的位置。这种情况是WaveShare的AlphaBot2 Pi,附带ITR-20001红外传感器。

初始化

SpiDevice spi = SpiDevice.Create(new SpiConnectionSettings(1, 5) { DataBitLength = Tlc1543.SpiDataBitLength });

更改电荷通道

adc.ReadPreviousAndChargeChannel(channels[0]);

您可以将ChargeChannel设置为自检通道之一(如果真的知道自己在做什么,您也可以将其设置为正常通道之一 - 但请记住,这可能会放大一个通道到另一个通道的噪声)。如果您了解在被轮询通道上期望的确切值范围(在快速变化的弱信号通道上干扰较小),则默认将SelfTest512设置为10位范围的中间。

获取数据

int values = adc.ReadPreviousAndChargeChannel(channels[0]);

将值读取到新列表中的简单方法。

计算位置

for (int i = 0; i < values.Count; i++)
{
    if (values[i] < 300)
    {
        lineAverage += (i - 2);
        onLine++;
    }
}

为了找到矩阵中线的位置,我们需要根据传感器指向的位置检查传感器给出的值。

  • 指向天空时,我们得到的值范围从0到50
  • 将其靠近白纸时,值将大于600
  • 将其指向放置在白纸上(为了对比)的黑胶带 - línea 上的传感器值范围从150到250

为了简化,我们假设当运行此程序时,我们不会将传感器矩阵指向天空,而将其保持在平坦的表面上。

接下来是计算当多个传感器看到线时的传感器平均值。

例如,当第一个和第二个传感器看到线时,值将是

  • 在第一次循环中,lineAverage = -2onLine = 1
  • 在第二次循环中,lineAverage = -3onLine = 2

有了这些数据,我们可以计算linePosition。

double linePosition = ((double)lineAverage / (double)onLine);

linePosition = -1.5

我们现在知道线在第一个和第二个传感器之间。通过在我们的循环中使用(i - 2),我们移动了现在的中间矩阵的值,小于零的值是中间左侧的值,大于零的值是右侧的值。如果我们有七个传感器矩阵,我们会移动这些值3个位置 -就这么简单。

绑定注释

已经实现的唯一模式是快速模式1(10时钟和转换周期之间的!ChipSelect高)。相应的时序图可以在数据表的图9中找到。

可以更改ADC充电通道。

adc.ReadPreviousAndChargeChannel(channels[0]);

使用EndOfConversion模式目前尚不支持。

产品 兼容以及额外的计算目标框架版本。
.NET框架 net是兼容的。
兼容的目标框架(s)
包含的目标框架(s)(包中)
有关目标框架的更多信息请参见目标框架.NET标准

NuGet软件包

此包未由任何NuGet软件包使用。

GitHub仓库

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

版本 下载 最后更新
1.2.590 70 7/17/2024
1.2.570 80 6/14/2024
1.2.560 87 5/29/2024
1.2.548 82 5/15/2024
1.2.436 233 11/10/2023
1.2.416 103 11/8/2023
1.2.329 137 5/26/2023
1.2.313 120 5/12/2023
1.2.297 125 5/3/2023
1.2.208 271 1/3/2023
1.2.203 271 12/28/2022
1.2.159 335 11/14/2022
1.2.153 332 11/5/2022
1.2.141 360 10/25/2022
1.2.128 365 10/22/2022
1.2.122 406 10/12/2022
1.2.114 356 10/8/2022
1.2.95 395 9/22/2022
1.2.87 443 9/15/2022
1.2.73 377 9/8/2022
1.2.5 420 7/13/2022
1.1.141.41205 408 7/6/2022
1.1.118.19693 418 6/24/2022
1.1.116.8772 392 6/24/2022
1.1.113.2032 382 6/23/2022
1.1.27 409 4/26/2022
1.1.20 411 4/21/2022
1.1.3 417 4/15/2022
1.1.1 404 4/14/2022
1.0.7-preview.114 114 3/25/2022
1.0.7-preview.113 116 3/25/2022
1.0.7-preview.100 100 3/19/2022
1.0.7-preview.99 122 3/18/2022
1.0.7-preview.94 112 3/15/2022
1.0.7-preview.87 112 3/10/2022
1.0.7-preview.73 112 2/25/2022
1.0.7-preview.48 120 2/4/2022
1.0.7-preview.42 119 1/31/2022
1.0.7-preview.41 125 1/31/2022
1.0.7-preview.22 119 1/27/2022
1.0.7-preview.20 121 1/27/2022
1.0.7-preview.18 126 1/27/2022
1.0.1 436 1/17/2022