neopixel --- 控制 WS2812 / NeoPixel LED

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

备注

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

class NeoPixel

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

例如:

import neopixel

# 32 个 LED 灯条连接到 X8。
p = machine.Pin.board.X8
n = neopixel.NeoPixel(p, 32)

# 绘制红色渐变。
for i in range(32):
    n[i] = (i * 8, 0, 0)

# 更新灯条。
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 对于 400KHz 为 0,对于 800kHz LED 为 1(大多数是 800kHz)。您还可以提供 machine.bitstream() 接受的时序元组。

像素访问方法

NeoPixel.fill(pixel)

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

NeoPixel.__len__()

返回灯条中的 LED 数量。

NeoPixel.__setitem__(index, val)

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

NeoPixel.__getitem__(index)

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

输出方法

NeoPixel.write()

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