Communicate digital data between an Arduino and a WS2801 LED RGB module using an SPI bus.
Please be sure to review the general information about I2C and SPI in the Adafruit PWM I2C Module exercise prior to starting this one.
This exercise will use a RGB LED strip module based on the WS2801 constant current LED driver, also available in a variety of other form factors.
These modules accept a 24-bit color value over an SPI bus, then begin to relay any additional bits to the downstream SPI connection. This allows daisy-chaining many RGB LEDs into an individually addressable array of pixels. Once a short pause occurs in the input data, the received values are transferred to the internal PWM generator. This allows simultanous update of the whole chain for clean animation.
WS2801_test
sketch included with the exercise.
If you have cloned the course materials from github, it will be in the same folder as this page, or it can be
downloaded directly.
It is possible to control hundreds of LEDs on a single strand. This is becoming a very popular way to produce architectural lighting and POV displays.