Some notes:
The RGB LED strip is common anode, so if your strip is common cathode make sure you change the wiring to account for that. The code as well, because the lights are on when the signal is LOW the lights in code are on when they duty cycle is 0. If your lights are common cathode you'll have to keep that in mind.
The chips I used are the MAXIM MAX4420, they are High-Speed 6A single MOSFET drivers. Note they 'single', you'll need one per color or for each section you want to control individually.
Pretty picture time!
case lighting breadboard.jpg 1.87MB 45 downloads
case lighting breadboard layout.JPG 81.06KB 50 downloads
breadboard in case.jpg 1.32MB 30 downloads
public static void Main() { PWM red, green, blue; red = new PWM(Pins.GPIO_PIN_17); green = new PWM(Pins.GPIO_PIN_18); blue = new PWM(Pins.GPIO_PIN_19); red.SetDutyCycle(100); green.SetDutyCycle(100); blue.SetDutyCycle(100); while (true) { for (uint r = 100; r > 0; r -= 5, Thread.Sleep(50)) red.SetDutyCycle(r); for (uint b = 0; b < 100; b += 5, Thread.Sleep(50)) blue.SetDutyCycle(B); for (uint g = 100; g > 0; g -= 5, Thread.Sleep(50)) green.SetDutyCycle(g); for (uint r = 0; r < 100; r += 5, Thread.Sleep(50)) red.SetDutyCycle(r); for (uint b = 100; b > 0; b -= 5, Thread.Sleep(50)) blue.SetDutyCycle(B); for (uint g = 0; g < 100; g += 5, Thread.Sleep(50)) green.SetDutyCycle(g); } }