LabVIEW Interface for Arduino Blog

Community Browser
Labels
cancel
Showing results for 
Search instead for 
Did you mean: 

SPI Control for Adafruit LDP8806-based LED Strip

Likhi
Member

I had a need to use the Adafruit LDP8806-based LED strip for a project. And I wanted to use LabVIEW to do it. The Arduino provided an inexpensive way of controlling so long as I could figure out the control protocol for the LDP8806.

After some toiling, I figured it out using both a bitbang and SPI approach. Bitbang with the Arduino Uno is ridiculously slow; it lies on the LIFA digitalWrite.vi which limits speeds to about >90Hz, effectively, and things get flaky any faster. Although it is interesting to see the slow control of the LED strip, it's not practical to wait so long as a consequence of the communication method. SPI is much faster. New LED states are set "instantaneously".

The trick is in the attached "LED_list_to_hex_and_bool.vi". It creates the bytes needed to properly control the LED strip. Read the comments in the VI.

The main application is "write_data_spi.vi". Use the default MOSI and SCLK pins (13,11 on Arduino Uno) as the "DI" and "CI" pins, respectively, as labeled on the LED strips.

Comments