Having fun with RGB LEDs and an Arduino can be somewhat limited due to the number of PWM (pulse-width modulation) pins available on the board. There are several ways around this, such as using TLC5940 or other LED driver ICs - which can get expensive. However it's possible to use inexpensive 74HC595 shift registers instead, and this has been made possible by Elco Jacobs and his ShiftPWM Arduino library.
Doing so is quite easy and with the library and included demonstration schematics, you can control eight RGB LEDs (that's 24 individual LEDs) with PWM with only three shift registers. However you can use less or more shift registers.
If you're interested in experimenting with RGB LEDs as demonstrated above, we're offering large and bright 8mm diameter RGB LEDs:
They're in the common-anode format and look great when lit up. Ideal for colour-mixing and creating displays of all sorts. For more information and to order, visit the product page.