Project Help- Extending PWM Outputs

Hi guys, sorta of a noob to this stuff so go easy on me haha I've tried to search as much as I could.

I'm an ME student and got inspired by this:

so I'm trying to make a similar beer pong table for a project in my circuits class.

Here is what I've got so far: My plan is to use 3 common cathode rgb led's in series under each cup (6 cups each side3 colors per cup=18 outputs per side2+12 reed sensor inputs=48 total). Each cup has a reed sensor with a small magnet placed above the sensor on a spring. When the cup is placed the magnet lowers and engages the reed sensor telling the arduino to change the colors of the led.

I would like to have the leds pulsing the whole time not just static on. So that leads me to a few questions about extending the number of outputs on the arduino:

From what I've seen you can use shift registers, multiplexers, or pwm drivers. I thought that pwm drivers were the only option to use to extend the outputs and still allow them to pulse but I saw this thread (

So I was looking at either daisy chaining some tlc5940s or 74HC595s but I don't know which to use?

Will the tlc5940s work with common cathode leds?

I've got a simple setup of 3 leds hooked up to the arduino and the reed sensor and it works I just need to figure out how to do that 11 more times...

Thanks in advance for your help

hmmm 59 views no replies...bump anyone?

Have a look at this thread,

we've been talking a lot about shift regs for driving LEDs on a beer pong table there

I've not used the 5940 but just looking at the data sheet it seems to need commom anode.


Thanks. Yea I had looked at that thread but that was before the talk about using the shift registers. I decided to go with those based on that and the other thread I mentioned in the original post.