neopixel
neopixel 模块让你在 micro:bit 上使用 NeoPixel(WS2812)可单独寻址的 RGB 与 RGBW LED 灯带。使用前需单独导入:
import neopixel
NeoPixel 是可编程的多色 LED 灯带,本模块提供在 micro:bit 上连接并创作显示、艺术与游戏所需的全部能力。
要连接 NeoPixel 灯带,请按下图方式连接 micro:bit(以下假设从引脚 0 驱动像素——也可连接到引脚 1 和 2)。鳄鱼夹标签指示在 NeoPixel 灯带上的连接位置。部分 NeoPixel 变体上 VDD 引脚可能标为 V+ 或「+5V」——仅在没有其他 5 V 设备连接时才能安全使用该引脚。

类
NeoPixel(pin, n, bpp=3)
初始化由引脚 pin 控制的 n 颗 NeoPixel LED 灯带。为支持 RGBW NeoPixel,可向 NeoPixel 传入第三个参数 bpp(每像素字节数)。RGBW 为 4,RGB 与 GRB 默认为 3。
每个像素由位置寻址(从 0 开始)。NeoPixel 的颜色以 0–255 的 RGB(红、绿、蓝)/ RGBW(红、绿、蓝、白)元组给定。例如 RGB 下 (255,255,255) 为白色;RGBW 下 (255,255,255,0) 或 (0,0,0,255) 为白色。
clear()
清除所有像素。
show() / write()
显示像素。必须调用此方法,更新才会可见。write() 与 show() 等效。
fill(colour)
将所有像素设为给定 RGB/RGBW 颜色。colour 应为与每像素字节数(bpp)等长的元组,例如 fill((0,0,255))。需配合 show() 更新 NeoPixel。
操作
写入颜色不会立即更新显示(需用 show()):
np[0] = (255, 0, 128) # 第一个元素
np[-1] = (0, 255, 0) # 最后一个元素
np.show() # 此时才会显示更新后的值
读取特定像素颜色只需索引:
print(np[0])
使用 NeoPixel
将 NeoPixel 当作元组列表使用。每个元组表示该像素 RGB / RGBW 颜色混合,各分量范围 0–255。
例如,在连接到 pin0 的 8 颗 RGB NeoPixel 灯带上初始化:
import neopixel
np = neopixel.NeoPixel(pin0, 8)
通过索引设置像素(类似 Python 列表)。例如将第一颗设为全亮红色:
np[0] = (255, 0, 0)
或将最后一颗设为紫色:
np[-1] = (255, 0, 255)
通过索引获取当前颜色。例如打印第一颗的 RGB 值:
print(np[0])
最后,调用 .show() 将新颜色数据推送到 NeoPixel 灯带:
np.show()
若没有任何变化,很可能是因为忘了这一步!