Difference between revisions of "Usb ws2812"

From BitWizard Wiki
Jump to navigation Jump to search
Line 77: Line 77:
|-
|-
|}
|}

=== wiring ===

Your WS2812 led string has three wires. One is usually marked "GND" or "V-", one is marked "VCC" or "V+" and the last is the data-in, marked "D" or "Din".

Our WS2812 board has a three pin ground-data-vcc connector. This is for "quick test" purposes: The usb powersupply of the board is not able to provide current for more than a few leds (about ten). The quick test connector has pinout ground-data-vcc, just like most WS2812 led strips.

When you are ready to connect longer strips, you need to have a separate 5V supply for the led strip. Connect the 0 and 5V of the powersupply to the GND (V-) and VCC (V+) of the led strip. Then connect the GND (V-) Of the led strip to the GND of the USB_WS2812 board. And connect the Din of the ledd strip to one of the data pins on the USB_WS2812 board.



=== LEDs ===
=== LEDs ===

Revision as of 10:51, 26 March 2016

The USB_WS2812 board
The USB_WS2812 board

This is the documentation page for the USB_WS2812 board. That you can buy in the BitWizard shop.

Overview

This board enables you to drive up to 600 WS2812 fullcolor RGB leds. These leds are sometimes called "neopixels". The board can drive up to 75 leds in in 8 strings. Due to the way things are implemented it is not possible to drive a single string of say 600 leds. Furthermore you would not want that: for each led on a string there is a fixed amount of time necessary for sending its data. Too many leds and the refresh rate has to drop!


Assembly instructions

None: the board comes fully assembled.

External resources

Datasheets

The datasheet of the WS2812B chip/led.

Additional software

Related projects

Pinout

The USB connector is a standard micro USB connector.

Pinout of the 16-pin header:

function pin pin function
GND 1 2 D7 Data for led-chain 7.
GND 3 4 D6 Data for led-chain 6.
GND 5 6 D5 Data for led-chain 5.
GND 7 8 D4 Data for led-chain 4.
GND 9 10 D3 Data for led-chain 3.
GND 11 12 D2 Data for led-chain 2.
GND 13 14 D1 Data for led-chain 1.
GND 15 16 D0 Data for led-chain 0.

Please ignore the other connectors on the board.


Each pin controls 75 leds:

pin leds
D0 0-74
D1 75-149
D2 150-224
D3 225-299
D4 300-374
D5 375-449
D6 450-524
D7 525-599

wiring

Your WS2812 led string has three wires. One is usually marked "GND" or "V-", one is marked "VCC" or "V+" and the last is the data-in, marked "D" or "Din".

Our WS2812 board has a three pin ground-data-vcc connector. This is for "quick test" purposes: The usb powersupply of the board is not able to provide current for more than a few leds (about ten). The quick test connector has pinout ground-data-vcc, just like most WS2812 led strips.

When you are ready to connect longer strips, you need to have a separate 5V supply for the led strip. Connect the 0 and 5V of the powersupply to the GND (V-) and VCC (V+) of the led strip. Then connect the GND (V-) Of the led strip to the GND of the USB_WS2812 board. And connect the Din of the ledd strip to one of the data pins on the USB_WS2812 board.


LEDs

There are two leds. One is the power led. It should be lit whenever the USB is connected. The other should blink every two seconds (one second on, one second off).

Jumper settings

This board has no jumpers.


Protocol

When you connect the board to your PC or raspberry PI, you will get a virtual com port. You can use your favorite communications program to talk to the device. (I personally use "kermit" because I've been using that for 30 years. "Minicom" is also a good option)

The board supports the following commands:

help

Print a list of supported commands, and also the compilation time of the firmware. You might see a few commands that are there for debugging purposes. Consider those not described here as "do not use".

pix

pix <num> <color>

Set pixel "num" to color "color". Color is specified in 6 hexadecimal digits specifying the color in RGB order. Specifying 102030 will set the red component to 0x10, or about 1/16th of full intensity, the green component to 0x20/0xff or aobut 1/8th of full intensity and blue to about 3/16th.

shift

Shift each chain one pixel towards the controller board.

rainbow

Create a rainbow color effect.

  rainbow [start] [nleds]

will create a rainbow starting at the led "start" and extend over "nleds" leds. The rainbow starts with red, fades via yellow, green, cyan, blue, violet back to red, so it is cyclic.

white

will set all leds to white.

black

will set all leds off (black).

color

sets a fixed color.

 color <color> [start] [nleds]

Sets "nleds" starting at "start" to the color specified by "color".

fade

creates a fade from one color to another color.

 fade <start> <nleds> <color1> <color2>


uid

print the uuniq identifier for this board.

Some chips have an

The software

Default operation

Future hardware enhancements

Future software enhancements

Changelog

1.0

  • Initial public release