rgbmatrix
– bitbanged LED 矩阵的低级例程¶
在这些板上可用
-
class
rgbmatrix.
RGBMatrix
(*, width: int, bit_depth: int, rgb_pins: Sequence[digitalio.DigitalInOut], addr_pins: Sequence[digitalio.DigitalInOut], clock_pin: digitalio.DigitalInOut, latch_pin: digitalio.DigitalInOut, output_enable_pin: digitalio.DigitalInOut, doublebuffer: bool = True, framebuffer: Optional[_typing.WriteableBuffer] = None, height: int = 0, tile: int = 1, serpentine: bool = True)¶ 将内存中的帧缓冲区显示到 HUB75 样式的 RGB LED 矩阵。
创建具有给定属性的 RGBMatrix 对象。显示器的高度由 rgb 和地址引脚的数量以及图块的数量决定: 。使用 6 个 RGB 引脚、4 个地址线和一个矩阵,显示器将有 32 像素高。如果指定了可选的高度参数且不为 0,则会根据计算出的高度进行检查。
len(rgb_pins) // 3 * 2 ** len(address_pins) * abs(tile)
最多支持 30 个 RGB 引脚和 8 个地址引脚。
RGB 引脚必须位于单个“端口”内,并且当它们都位于端口的“附近”位时,性能和内存使用率最佳。时钟引脚也必须与 RGB 引脚位于同一端口上。有关更多信息,请参阅底层 protomatter C 库的文档。通常,Adafruit 的接口板设计为在与预期的微控制器板匹配时满足这些要求。例如,Feather M4 Express 与 RGB Matrix Feather 一起使用。
帧缓冲区采用“RGB565”格式。/p>
“RGB565”意味着它被组织成一系列 16 位数字,其中最高 5 位被解释为红色,接下来的 6 位被解释为绿色,最后 5 位被解释为蓝色。对象可以是任何缓冲区,但
array.array
和ulab.ndarray
对象通常很有用。要更新内容,请修改帧缓冲区并调用 refresh。如果没有传入帧缓冲区,则分配一个帧缓冲区并初始化为全黑。在任何情况下,都可以通过将 RGBMatrix 对象传递给 memoryview() 来检索帧缓冲区。
如果 doublebuffer 为 False,则会节省一些内存,但在更新期间显示可能会闪烁。
RGBMatrix 通常与
framebufferio.FramebufferDisplay
.-
brightness
:float¶ 在当前的实现中,0.0 将完全关闭显示,而任何其他高达 1.0 的值将完全打开显示。
-
width
:int¶ 显示器的宽度,以像素为单位
-
height
:int¶ 显示器的高度,以像素为单位
-