跳转到主要内容

模拟'rotaryio'以适应需要非连续引脚的板

项目描述

简介

Documentation Status Discord Build Status Code Style: Black

模拟'rotaryio'以适应需要非连续引脚的板。

在基于RP2040的板(如Raspberry Pi Pico和QTPy RP2040)上,如果您尝试在不连续GPIO编号的引脚上使用“rotaryio”,则会得到错误信息RuntimeError: 引脚必须是连续的GPIO引脚

此包的行为就像rotaryio一样,但使用keypad和一些逻辑来读取旋转编码器。它不如rotaryio快或高效,但在RP2040板上可以工作。

依赖项

此驱动程序依赖于

请确保所有依赖项都可在CircuitPython文件系统中使用。这可以通过下载Adafruit库和驱动程序捆绑包或使用circup安装单个库来实现。

使用Circup将安装到连接的CircuitPython设备上

请确保您的 Python 环境中已安装 circup。如有必要,请使用以下命令安装:

pip3 install circup

安装 circup 后,连接您的 CircuitPython 设备,使用以下命令进行安装:

circup install ruhrohrotaryio

或者使用以下命令更新现有版本:

circup update

从 PyPI 安装

在支持的 GNU/Linux 系统上,如树莓派,您可以从 PyPI 本地安装驱动程序 从 PyPI 安装。为当前用户安装:

pip3 install circuitpython-ruhrohrotaryio

全局安装(在某些情况下可能需要):

sudo pip3 install circuitpython-ruhrohrotaryio

在当前项目的虚拟环境中安装:

mkdir project-name && cd project-name
python3 -m venv .venv
source .env/bin/activate
pip3 install circuitpython-ruhrohrotaryio

使用示例

import os
import time
import board

# works on both QTPY M0 and QTPY RP2040

if os.uname().machine.find("rp2040") > 0:  # RP2040
    from ruhrohrotaryio import IncrementalEncoder
else:
    from rotaryio import IncrementalEncoder

encoder = IncrementalEncoder( board.A3, board.A1 )

while True:
    print(encoder.position)
    time.sleep(0.1)

文档

本库的 API 文档可以在 Read the Docs 上找到。

有关构建库文档的信息,请参阅 本指南

贡献

欢迎贡献!在贡献之前,请阅读我们的 行为准则,以帮助本项目保持友好。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

circuitpython-ruhrohrotaryio-1.0.tar.gz (26.8 kB 查看哈希值)

上传时间 源代码

构建分发

circuitpython_ruhrohrotaryio-1.0-py3-none-any.whl (5.3 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面