We use an Arduino Nano to control the 4 LED strips of 35 LEDs each on the robot. We pass in values from the Robo Rio through the DIO ports in the Arduino to determine which LED pattern to run. The Arduino uses a 3rd party library called FastLED to interface with the LEDs. This extension allows for the creation of simpler and quicker commands, such as FastLED.show(), FastLED.clear() and others. This library creates an array of LEDS and allows the Arduino to sequence through the LEDs in the array. This allows the LEDS to show a variety of patterns.
The code for the RoboRio allows the Rio to extrapolate the 4 DIO (16 possible combinations; theoretically 16 possible sequences, currently 10 combos being used) port inputs into values to send to the Arduino, which then determines the pattern that is being requested and sends the pattern to the LEDs.
4 wires are going into the Arduino from the RoboRio, and 1 data wire going to the LED strips, along with a power and ground wire. The ground wire is grounded to the ground port of the RIO. The data wire goes into multiple splitters, transferring the data to the LEDs and commanding the correct pattern.
The wires connected to the RoboRIO DIO ports are connected to the Arduino digital input channels.
You will need to install the FastLED Library through the Arduino IDE by clicking the board icon and then clicking "download"
To Load, Examples click: File > Examples > fastLED and select the example that you would like to edit. In order to start addressing the LEDs select the RGBSetDemo example file. This will create a new example file. You will have to modify some parts of the file in order to connect to the correct port.