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 |