Description
This Arduino Shield makes for an easy way to get started with the nifty WS2812B RGB LED. Arranged in a 5x8 matrix, these 40 ultra-bright LEDs can be individually controlled using only one pin out of the Arduino (default is D8) to set their brightness and color.
Getting Started
After soldering the breakaway male pins (headers) the shield is ready to use with minimal effort. Using the 2-pin jumper we can select the power source. It can be powered directly from a USB port (although the typical 500mA current limit on these ports would prevent the LEDs from achieving full brightness), so all we need is to upload the firmware to see it display any combination of colors. To get their full brightness, we can use the jumper to select the external power (VLED) option, and use the screw terminal for supplying power to the LEDs.
40 LEDs Not Enough?
The Lumina shield provides an easy way to connect multiple boards together. By routing power, ground, and the DO signal of the last LED in the array (using the conveniently broken out, through-hole pin) we can connect a second shield to the first. This process can be repeated at least 3 times using a single Arduino. The only limitation for the maximum number of boards that can be concatenated is the amount of RAM available on the Arduino. Each WS2812B requires 24 bits to specify its RGB color data, which means that 160 of them will require almost 500 bytes of RAM, which is around the typical amount that is available in a sketch (the 328p chip has a maximum of 2K).
Power options: VLED vs. Vin or USB
After careful consideration, we decided to use the external power (VLED) input to only power the LEDs. The main reason was to protect the control circuitry on the Arduino from any funkiness that might occur when powering the LEDs externally. Consequently, we always need to provide power to the Arduino (either through Vin or USB) whether we're powering the LEDs using 5V (from the Arduino Itself) or VLED (from the external power supply).
| Vin | VLED | USB | Jumper | Status |
| | | 5V | Arduino ON/Lumina ON (5V) |
| | | 5V | Arduino ON/Lumina ON (5V) |
| | | 5V | Arduino ON/Lumina ON (5V) |
| | | 5V | Arduino ON/Lumina ON (5V) |
| | | VLED | Arduino ON/Lumina ON (VLED) |
| | | VLED | Arduino ON/Lumina ON (VLED) |
| | | VLED | Arduino OFF/Lumina ON* (VLED) |
*There will be power on the appropriate pins of each WS2812B on the Lumina, but no control signal due to the Arduino being OFF.
|
The reverse polarity protection circuitry built into the WS2812B gets rid of the need of having additional components on the shield to fulfill such purpose (we still recommend always checking the polarity before connecting power supplies to a circuit (-:)!
Technical Details