neopixel — control of WS2812 / NeoPixel LEDs
This module provides a driver for WS2818 / NeoPixel LEDs.
Note
This module is not included by default on the W55MH32
ports. You can either install the
neopixel package using mip, or you can download the module
directly from micropython-lib and copy it to the filesystem.
class NeoPixel
This class stores pixel data for a WS2812 LED strip connected to a pin. The
application should set pixel data and then call NeoPixel.write()
when it is ready to update the strip.
For example:
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()
Constructors
- class neopixel.NeoPixel(pin, n, *, bpp=3, timing=1)
Construct an NeoPixel object. The parameters are:
pin is a machine.Pin instance.
n is the number of LEDs in the strip.
bpp is 3 for RGB LEDs, and 4 for RGBW LEDs.
timing is 0 for 400KHz, and 1 for 800kHz LEDs (most are 800kHz). You may also supply a timing tuple as accepted by
machine.bitstream().
Pixel access methods
- NeoPixel.fill(pixel)
Sets the value of all pixels to the specified pixel value (i.e. an RGB/RGBW tuple).
- NeoPixel.__len__()
Returns the number of LEDs in the strip.
- NeoPixel.__setitem__(index, val)
Set the pixel at index to the value, which is an RGB/RGBW tuple.
- NeoPixel.__getitem__(index)
Returns the pixel at index as an RGB/RGBW tuple.
Output methods
- NeoPixel.write()
Writes the current pixel data to the strip.