neopixel — WS2812 / NeoPixel LED 的控制

该模块为 WS2818 / NeoPixel LED 提供驱动程序。

笔记

该模块仅默认包含在 ESP8266 和 ESP32 端口上。在 STM32 / Pyboard 上,您可以 下载模块 并将其复制到文件系统。

类 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 的数量。

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

  • 时序为 0 表示 400KHz,而 1 表示 800kHz LED(大多数是 800kHz)。

像素访问方法

NeoPixel.fill(pixel)

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

NeoPixel.__len__()

返回条中 LED 的数量。

NeoPixel.__setitem__(index, val)

将index处的像素设置为 RGB/RGBW 元组的值。

NeoPixel.__getitem__(index)

以 RGB/RGBW 元组形式返回索引处的像素。

输出方式

NeoPixel.write()

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