Hi All,
In my project, I've been using a couple 74HC595's to control a couple RGB LEDs. In the next stage, I'm looking to utilize just under 16 RGB LEDs, all with ideally controllable brightnesses for each of the colors so that I can have a full range of colors. I don't need any fancy fading code, thats constantly updating the brightness of each LED, just a simple code to say LED1 is orange, LED2 is white, LED3 a dark purple, etc.
The problem with the 74HC595s right now is that my code is very time sensitive, and (from what I understand) in order to have the LEDs controlled at PWM frequencies, the Arduino needs to constantly send the PWM signal over SPI. That's why currently I could only have my code turn each color on or off (1 or 0) and then leave it until it's to be updated. This limits my colors to the basic 8 combinations for the three colors on each LED.
Today I came across the TLC5940, which has PWM built into it. This seems to fix all my issues with the HC595, as from what I can understand, I only need to tell the chip what PWM to set each pin to ONCE, which it'll remember and continuously control each LED at their respective PWMs until it receives an update from the Arduino. This eliminates the need to constantly update the chip with the Arduino. The fact that it's 16 channels instead of 8 is an added bonus.
I just wanted to verify all of this and that I understand the limits of each IC, and also see if there were any other pros / cons that I may have overlooked. Thanks in advance!
Pat