rotaryio
– 支持读取旋转传感器¶
该 rotaryio
模块包含读取不同旋转编码方案的类。有关更多背景信息,请参阅
维基百科的旋转编码器页面。
如果程序在使用后继续,所有类都会更改硬件状态,并且在不再需要它们时应取消初始化。为此,请调用deinit()
或使用上下文管理器。有关更多信息,请参阅
Lifetime 和 ContextManagers。
在这些板上可用
-
class
rotaryio.
IncrementalEncoder
(pin_a: microcontroller.Pin, pin_b: microcontroller.Pin)¶ IncrementalEncoder 根据两个系列的脉冲确定相对旋转位置。
创建与给定引脚关联的 IncrementalEncoder 对象。它跟踪增量旋转编码器(也称为正交编码器)的位置状态。位置相对于物体构造时的位置。
例如:
import rotaryio import time from board import * enc = rotaryio.IncrementalEncoder(D1, D2) last_position = None while True: position = enc.position if last_position == None or position != last_position: print(position) last_position = position
-
position
:int¶ 以脉冲表示的当前位置。每转的脉冲数由特定硬件定义。
-
__enter__
(self) → IncrementalEncoder¶ 上下文管理器使用的无操作。
-
__exit__
(self) → None¶ 退出上下文时自动取消初始化硬件。有关更多信息,请参阅 Lifetime 和 ContextManagers 。
-