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
NuGet 团队不提供对此客户端的支持。请联系其维护者以获取支持。
#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
NuGet 团队不提供对此客户端的支持。请联系其维护者以获取支持。
正交旋转编码器
旋转编码器是一种检测角位置的工具。其中一个用途类似于 FM 收音机上的音量控制,用户转动轴,广播的音量会改变。增量旋转编码器不提供确切位置的信息,但提供移动量和方向的信息。
板
通常正交旋转编码器会有两个输出 A 和 B,可能称为时钟和数据。对于旋转的每一部分,A 引脚将提供时钟信号,而 B 引脚将提供与时钟不同步的数据信号。引脚之间相位差的符号表示旋转的方向。
从上面来看,如果我们在Pin A(时钟)的下降沿时观察Pin B(数据)的值,那么如果Pin P的值为1,则方向为顺时针;如果为0,则旋转为逆时针。
用法
此示例显示了如何使用ScaledQuadradureEncoder
绑定实现FM无线电调谐器控制。它简单地将调谐器的值打印到控制台,当旋转旋钮时。
此绑定将缩放四倍细分旋转编码器实现为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
绑定,它具有表示编码器旋转和原始脉冲的属性。
局限性
此绑定适用于手动和小幅度旋转,在这些旋转过程中,可能丢失一到几个旋转不是大问题。
此绑定不适用于控制速率极高且计数非常精确的电机。
精度确实取决于您所使用的硬件,并且无法给出具体的适用范围。您可能需要尝试以了解这对您是否有用。
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.Runtime.Events (>= 1.11.18)
- nanoFramework.System.Device.Gpio (>= 1.1.41)
- nanoFramework.System.Diagnostics.Stopwatch (>= 1.2.586)
- nanoFramework.System.Math (>= 1.5.43)
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 |