Controlling Adressable LEDs

Hello,

This year, our team has decided to enhance the robot by integrating LED strips to provide the driveteam with clear information about the robot’s status.

In light of this, I’m contemplating the optimal approach: would it be advisable to utilize a specialized LED controller like CTRE CANdle, or is it more advisable to directly control the LEDs from the RoboRIO?

Appreciate your insights.

The are some posts on the topic but in short both work fine. The CANdle is on the CAN network and has a built in power supply. The Rio requires a little “custom” wiring and supplemental power supply.

We have done both previously and are using a CANdle again this year. Best balance of time, $ and simplicity for us.

We control our LED’s from an arduino, with the rio sending the pattern requests over DIO pins. The arduino is cheap, can be programmed and tested independent of the roborio, and adds little or no load to the CAN bus and Rio.

We use the neopixel library on the arduino - very straightforward to use.

Does it always, or is there simply a limit as to how much power you get out of the Rio? We’ve done them before from the Rio, but I don’t remember powering them supplementally…but I’m on the software side of things so maybe I just missed it.

I like using the roborio. One less thing to hook up, and the roborio does a fine job controlling LEDs. We’ve plugged our LEDs into the CTRE VRM in the past. It really didn’t cost us too much in extra hardware.

Yes a limited number that varies based upon power consumption can be powered directly from the Rio.

We’ve used the RoboRIO with the AddressableLED class. We typically aim around 20 mA per LED, so this year we have a 50W 5V power, trying out some LED matrices for the first time.

We’ve used the TrobotAddressableLED class that 5013 wrote to provide some different LED patterns. We’ve been writing some new patterns for the LED matrix, our ColorSoundMeter and MultiColorMeter are going to connect to an analog sound level output for the audience cheer meter. Here is a test with the simulator:

Here is the code we are using: Robot2024/src/main/java/frc/utils/led/patterns/matrix/MultiColorMeter.java at lights · frc1108/Robot2024 · GitHub

In the LEDSubsystem, last year we used some command factories for cube/cone commands to change the LED patterns using the joystick, and also had a list of some patterns the driver could iterate through. I’d like to have a few triggered LEDs this year and also for different parts of the match.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.