NeoPixels 也被称为 WS2812 LED 彩带,是连接在一起的全彩色 led 灯串。你可以设置他它们的 R 红色, G 绿色和 B 蓝色值(0~255). neopixel 模块可通过精确的时间控制,生成 WS2812 的控制信号.
导包
控制 NeoPixels 需要两个包,一个 NeoPixels 和一个 Pin
1 | from machine import Pin |
构造函数
NeoPixel 对象的构造函数如下:
1 | NeoPixel(pin, n, bpp=3, timing=1) |
| 参数 | 描述 |
|---|---|
| pin | 输出引脚(灯带采用单总线协议,只需要一个输出引脚即可) |
| n | 灯珠个数 |
| bpp | 有两个值 3 和 4 .默认为 3 . 3 表示使用 3 元组RGB控制灯珠的颜色, 4 表示对于具有 3 种以上颜色的灯珠,例如RGBW像素或RGBY像素,采用4元组RGBY或RGBY像素 |
| timin | 有 0 和 1 两个值,默认等于 0,为 400KHz 速率;等于1 的时候为800KHz速率 |
写入数据
写入数据有两种方式,一种是指定灯珠和颜色:
1 | np[0] = (255, 0, 0) # 设置第一个LED像素为红色 |
另一种是填充所有灯珠颜色:
1 | np.fill( (255, 0, 0) ) |
不管上面哪一种设置方式,设置完成后都需要调用 np.write() 接口讲准备好的数据传输给灯带.
1 | np.write() |
示例程序
以下是一个示例程序,功能是使用
1 | from machine import Pin |

