neopixel — 控制 WS2812 / NeoPixel LED

此模块提供了对 WS2818 / NeoPixel LED 的驱动程序。

备注

此模块仅默认包含在 ESP8266、ESP32 和 RP2 移植版本中。在 STM32 / Pyboard 和其他移植版本上,您可以使用 mip 安装 neopixel 包,或者您可以直接从 micropython-lib 下载模块并将其复制到文件系统中。

NeoPixel 类

此类存储连接到引脚的 WS2812 LED 条的像素数据。应用程序应设置像素数据,然后在准备好更新条时调用 NeoPixel.write()

例如:

import neopixel

# 32 LED strip connected to X8.
p = machine.Pin.board.X8
n = neopixel.NeoPixel(p, 32)

# Draw a red gradient.
for i in range(32):
    n[i] = (i * 8, 0, 0)

# Update the strip.
n.write()

构造函数

class neopixel.NeoPixel(pin, n, *, bpp=3, timing=1)

构造一个 NeoPixel 对象。参数为:

  • pin 是一个 machine.Pin 实例。

  • n 是条中 LED 的数量。

  • bpp 是 RGB LED 为 3,RGBW LED 为 4。

  • timing 为 0 表示 400KHz,1 表示 800KHz 的 LED(大多数是 800KHz)。

像素访问方法

NeoPixel.fill(pixel)

将所有像素的值设置为指定的 pixel 值(即 RGB/RGBW 元组)。

NeoPixel.__len__()

返回条中LED的数量。

NeoPixel.__setitem__(index, val)

index 处的像素设置为值,这个值是一个 RGB/RGBW 元组。

NeoPixel.__getitem__(index)

返回 index 处的像素作为 RGB/RGBW 元组。

输出方法

NeoPixel.write()

将当前像素数据写入条中。