nanoFramework.Iot.Device.RotaryEncoder 1.2.590

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

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

正交旋转编码器

旋转编码器是一种检测角位置的工具。其中一个用途类似于 FM 收音机上的音量控制,用户转动轴,广播的音量会改变。增量旋转编码器不提供确切位置的信息,但提供移动量和方向的信息。

image of rotary encoder

通常正交旋转编码器会有两个输出 A 和 B,可能称为时钟和数据。对于旋转的每一部分,A 引脚将提供时钟信号,而 B 引脚将提供与时钟不同步的数据信号。引脚之间相位差的符号表示旋转的方向。

encoder

从上面来看,如果我们在Pin A(时钟)的下降沿时观察Pin B(数据)的值,那么如果Pin P的值为1,则方向为顺时针;如果为0,则旋转为逆时针。

用法

此示例显示了如何使用ScaledQuadradureEncoder绑定实现FM无线电调谐器控制。它简单地将调谐器的值打印到控制台,当旋转旋钮时。

rotary example

此绑定将缩放四倍细分旋转编码器实现为ScaledQuadratureEncoder。该值是双精度浮点数。例如,您可以将其设置为 FM 广播电台的调谐盘,范围为 88.0 到 108.0,步长为 0.1。

下面的代码显示了一个使用编码器作为FM调谐器控制的例子。

// create a RotaryEncoder that represents an FM Radio tuning dial with a range of 88 -> 108 MHz
ScaledQuadratureEncoder encoder = new ScaledQuadratureEncoder(pinA: 5, pinB: 6, PinEventTypes.Falling, pulsesPerRotation: 20, pulseIncrement: 0.1, rangeMin: 88.0, rangeMax: 108.0) { Value = 88 };
// 2 milliseconds debonce time
encoder.Debounce = TimeSpan.FromMilliseconds(2);
// Register to Value change events
encoder.ValueChanged += (o, e) =>
{
    Debug.WriteLine($"Tuned to {e.Value}MHz");
};

此绑定还包括

  • 时钟信号的消抖功能。
  • 加速度,以便旋转编码器时旋转速度越快,移动的距离越远。
  • 当值改变时的事件。

此外,还有一个QuadratureRotaryEncoder绑定,它具有表示编码器旋转和原始脉冲的属性。

局限性

此绑定适用于手动小幅度旋转,在这些旋转过程中,可能丢失一到几个旋转不是大问题。

此绑定不适用于控制速率极高且计数非常精确的电机。

精度确实取决于您所使用的硬件,并且无法给出具体的适用范围。您可能需要尝试以了解这对您是否有用。

产品 兼容的和额外的计算目标框架版本。
.NET 框架 net 是兼容的。
兼容的目标框架
包中包含的目标框架
了解更多关于目标框架.NET 标准的信息。

NuGet 包

此包未使用任何 NuGet 包。

GitHub 仓库

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

版本 下载 最后更新
1.2.590 71 7/17/2024
1.2.570 79 6/14/2024
1.2.560 82 5/29/2024
1.2.548 65 5/15/2024
1.2.436 229 11/10/2023
1.2.416 104 11/8/2023
1.2.329 194 5/26/2023
1.2.313 171 5/12/2023
1.2.297 179 5/3/2023
1.2.208 347 1/3/2023
1.2.203 330 12/28/2022
1.2.159 415 11/14/2022
1.2.153 392 11/5/2022
1.2.141 429 10/25/2022
1.2.128 407 10/22/2022
1.2.125 429 10/12/2022
1.2.122 493 10/12/2022
1.2.114 445 10/8/2022
1.2.95 457 9/22/2022
1.2.87 499 9/15/2022
1.2.73 437 9/8/2022
1.1.116.8772 468 6/24/2022
1.1.113.2032 448 6/23/2022
1.1.58.10097 454 5/23/2022
1.1.3 468 4/15/2022
1.1.1 448 4/14/2022
1.0.277-preview.126 112 3/25/2022
1.0.277-preview.125 110 3/25/2022
1.0.277-preview.112 106 3/19/2022
1.0.277-preview.111 113 3/18/2022
1.0.277-preview.106 122 3/15/2022
1.0.277-preview.99 111 3/10/2022
1.0.277-preview.98 112 3/8/2022
1.0.277-preview.60 130 2/4/2022
1.0.277-preview.53 128 1/31/2022
1.0.277-preview.32 136 1/27/2022
1.0.277-preview.17 126 1/24/2022
1.0.277-preview.15 124 1/21/2022
1.0.277-preview.1 126 1/11/2022
1.0.259 331 12/9/2021
1.0.218 193 10/18/2021
1.0.155 368 8/31/2021
1.0.135 161 7/16/2021
1.0.134 163 7/15/2021
1.0.133 182 7/14/2021
1.0.125 191 7/5/2021
1.0.121 192 6/29/2021
1.0.119 220 6/28/2021
1.0.25 194 5/21/2021