WS2812B Class

WS2812B Class

Description
Defines a class to use WS2812B LED with AmebaD.

Syntax
class WS2812B

Members

Public Constructors 
WS2812B::WS2812BConstructs a WS2812B object
Public Methods 
WS2812B::beginCheck for correct pin settings and prepare to drive the WS2812B
WS2812B::show Pushes the color data out to the LEDs
WS2812B::clearClear the memory
WS2812B::setLEDCountAllocate memory for all the LEDs
WS2812B::setPixelColor Set the color of a LED
WS2812B::fillSet multiple LEDs with the same color
WS2812B::colorHSVConvert to RGB values from HSV
WS2812B::rainbowFill all the LEDs with one or more cycle of hues

WS2812B::WS2812B

Description
Constructs a WS2812B object.

Syntax

Parameters
input_pin: The MOSI pin that is connected to the WS2812B LED.
num_leds: The number of LEDs that needs to be light up

Returns
The function returns nothing.

Example Code
Example: WS2812B_Basics; WS2812B_Patterns

Notes and Warnings
Only SPI MOSI pin is valid for driving WS2812B LEDs.

WS2812B::begin

Description
Check for correct pin settings and prepare to drive the WS2812B

Syntax
void WS2812B::begin(void)

Parameters
The function requires no input parameter.

Returns
The function returns nothing.

Example Code
Example: WS2812B_Basics; WS2812B_Patterns

Notes and Warnings
NA

WS2812B::show

Description
Pushes the color data out to the LEDs

Syntax
void WS2812B::show(void)

Parameters
The function requires no input parameter.

Returns
The function returns nothing.

Example Code
Example: WS2812B_Basics; WS2812B_Patterns

Notes and Warnings
The amount of time needed to push the color data will increase with more LEDs.

WS2812B::clear

Description
Clear the memory

Syntax
void WS2812B::clear(void)

Parameters
The function requires no input parameter.

Returns
The function returns nothing.

Example Code
Example: WS2812B_Patterns

Notes and Warnings
This function only clears the color data from memory. To turn off the LED, please use WS2812B::show().

WS2812B::setLEDCount

Description
Allocate memory for all the LEDs

Syntax
void WS2812B::setLEDCount(uint16_t num_leds)

Parameters
The function requires no input parameter.

Returns
The function returns nothing.

Example Code
NA

Notes and Warnings
NA

WS2812B::setPixelColor

Description
Set the color of a LED

Syntax
void WS2812B::setPixelColor(uint16_t led_Number, uint8_t rColor, uint8_t gColor, uint8_t bColor)

Parameters
Led_Number: The LED number, with 0 being the LED closest to the data input pin
rColor: Red brightness level, from 0 (Off) – 255 (Maximum brightness)
gColor: Green brightness level, from 0 (Off) – 255 (Maximum brightness)
bColor: Blue brightness level, from 0 (Off) – 255 (Maximum brightness)

Returns
The function returns nothing.

Example Code
Example: WS2812B_Basics; WS2812B_Patterns

Notes and Warnings
NA

WS2812B::fill

Description
Set multiple LEDs with the same colors

Syntax
WS2812B::fill(uint8_t rColor, uint8_t gColor, uint8_t bColor, uint16_t first, uint16_t count)

Parameters
rColor: Red brightness level, from 0 (Off) – 255 (Maximum brightness)
gColor: Green brightness level, from 0 (Off) – 255 (Maximum brightness)
bColor: Blue brightness level, from 0 (Off) – 255 (Maximum brightness)
first: The index of the first LED to start filling with color
count: Total number of LEDs to be set with the color

Returns
The function returns nothing.

Example Code
Example: WS2812B_Basics

Notes and Warnings
If the first and count is not provided, the default behaviour would be to fill all LEDs.

WS2812B::colorHSV

Description
Convert to RGB values from HSV

Syntax
uint32_t colorHSV(uint16_t hue, uint8_t sat, uint8_t val)

Parameters
hue: Expressed as 16-bit number. Starting from 0 for red, it increments first towards yellow, and on through green, cyan, blue, magenta, and black to red.
sat: Intensity or purity of the color. Expressed as 8-bit number ranging from 0 to 255. In the middle, you will get something sort of pastel.
val: Brightness of a color. Expressed as an 8-bit number ranging from 0 to 255.

Returns
The function returns the RGB values converted from HSV.

Example Code
Example: WS2812B_Patterns

Notes and Warnings
NA

WS2812B::rainbow

Description
Fill all the LEDs with one or more cycle of hues

Syntax
void rainbow(uint16_t first_hue = 0, int8_t reps = 1, uint8_t saturation = 255, uint8_t brightness = 60)

Parameters
first_hue: hue of first LED, 0 – 65535, representing one full cycle of the color wheel.
reps: Number of cycles of the color wheel over the length of the strip. Default is 1. Negative values can be used to reverse the hue order.
saturation: Intensity or purity of the color. Expressed as 8-bit number ranging from 0 to 255. In the middle, you will get something sort of pastel.
brightness: Brightness of a color. Expressed as an 8-bit number ranging from 0 to 255.

Returns
The function returns nothing.

Example Code
Example: WS2812B_Patterns

Notes and Warnings
NA

Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. 使用條款
請先確認已安裝QQ通訊軟體