I can’t really help with the LabView code directly, as my team uses Java.
But we used these strips for the first time this year: http://www.adafruit.com/products/306
They also have a newer version of the strips (NeoPixel) which use a different LED driver, long story short, you can get more LEDs for less money with the NeoPixel version. These weren’t available until recently though, so I have no direct experience with them.
I’ll describe how we implemented things and hopefully that can get you moving in the right direction.
The color and brightness for each LED in the strip we purchased can be modified through a “SPI-like” protocol. The cRIO should be able to talk to these LEDs directly, but a lot of work has been done by the people at adafruit to get the non-standard elements of the communication protocol working on an arduino. Since this library is tested and working, we decided to offload all the communications with the strips themselves to an arduino.
In our case there were a number of different light sequence which we wanted to play, or colors we wanted to display, depending on what was going on with the robot. for example, when our shooter was raised we would display a certain color, when it was lowered, a different color, when our shooter was up to speed we would flash the lights white, etc.
The ardunio was responsible for knowing how to set the LEDs to the right colors depending on what ‘mode’ we were in. There are plenty of good examples of code that controls the LEDs here.
So the next step is bridging the gap between the arduino and the cRIO. There are many ways which this could be accomplished (RS-232, Relay outputs from DSC, Digital outputs from the DSC, etc.). Probably the simplest way would be to use the digital I/O channels on the digital side car (DSC). For example one digital output channel on the cRIO could be assigned to the shooter position (raise/lowered) when the signal is high (5v) the shooter is raised, when it’s low (0v) the shooter is lowered. A wire between the digital output on the DSC and an input pin on the arduino is all you need to represent these two states. If you need to indicate more items, just add more wires. If you have a lot of data to convey, this can start to require quite a few wires, and digital output channels on the DSC play double duty as digital inputs. You may need these for encoders or other sensors on your robot (this is why we ended up using Relay outputs - since we had spares, same principles apply with them). So plan accordingly.
The last thing worth mentioning is power for these devices. The arduino itself needs to run off 5v. The 5V supply on the DSC is sufficient to power the arduino, but can’t supply enough current to power the LEDs. There are two pins near the end of the digital IO channels which is a spare set of 5v and gnd connections that’s convenient to wire to.
Read the spec for the lights you buy. It will tell you how much power or current they draw. The most current (worst case) will be drawn when all the lights are white and running at full brightness, so you should design for this to be safe.
We purchased some little 3Amp 5V power supplies off of ebay. I think they were around $5, but you could make your own from a bunch of linear voltage regulators (LM7805) you could buy from most RadioShacks if you are in a pinch. Regardless of which regulator you go with, the input wires of the supply will connect to the PD board (suggest a 20A breaker - or smaller if you have them). The output wires of the supply will connect directly to the LED strip.
If you have other specific questions, let me know. If you don’t get a reply, PM me as I don’t get on CD all the time during the off season.