class LED -- 可移植的板载 LED 控制

LED 类是对 machine.Pin 的一个轻量级可移植封装,用于驱动一个命名的板载 LED,并隐藏了不同开发板之间低电平有效/高电平有效的接线差异。它作为冻结的 Python 模块随 OpenMV 固件一起提供(参见 scripts/libraries/machine.py),因此可用于所有受 OpenMV 支持的开发板,无论端口为何。

LED 作为简单的开/关 GPIO 驱动;没有 PWM 强度控制。对于接在支持 PWM 的引脚上的 LED,请改为直接通过 PWM 驱动。

用法示例:

from machine import LED

red = LED("LED_RED")
red.on()
red.toggle()
red.off()

构造函数

class machine.LED(pin_name: str | Pin) LED

构造一个绑定到由 pin_name 标识的 LED 的 LED 对象。pin_name 可以是 OpenMV 开发板的 LED 字符串("LED_RED""LED_GREEN""LED_BLUE""LED_IR"——具体集合取决于摄像头型号),也可以是一个 Pin 对象。

构造函数会记录该 LED 是低电平有效还是高电平有效(使用 boardname() 查找当前开发板的有效电平约定),这样调用者始终传递逻辑上的开/关电平,而无需关心极性。

方法

on() None

将 LED 驱动至开启状态。

off() None

将 LED 驱动至关闭状态。

toggle() None

翻转 LED 的当前状态。

value(v: int | None = None, /) int | None

获取或设置 LED 状态。

不带参数时,返回当前的逻辑状态(0 = 关,1 = 开)。

带单个 v 参数时,将 LED 设置为该状态。驱动会将 v 与开发板的有效电平约定进行异或,因此无论极性如何,1 始终表示“开”。

boardname() str

返回开发板名称字符串(os.uname().machine 中位于 " with " 之前的前缀部分)。内部用于为 LED 选择正确的有效电平约定。