I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. Just like this one for example. I need to control the intensity of each colour channel for each strip. The producer says to use any NPN or N-channel MOSFET; I think that a PWM signal per each color per each strip will be necessary to drive the mosfets.
I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:
- Build my own extension board using
PWMoutput with mosfets, and using a software library (pi-blaster) to generate extra
PWM; apparently too heavy on the processor and not enough
- Use the leading standard DMX (expensive parts and unnecessary complication?)
- Use an
I2Ci/o expander (MCP23017 ?);
The latter seems most appealing, which solution would be best and easiest? I welcome pre-soldered kits / external controllers but I just want to know which way to go, I just want to dive into the software part of this project .... but I want to start with the right technology.
I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.
Here is the hardware I ended up choosing, for reference.
- @Gerben's suggested shield [Raspberry Pi - I2C 32 Channel PWM / Servo Board] based on PCA96852
- Transistor MOSFET STP16NF06 (1 per pin i.e. 3 per strip)
- 5m 12VDC 5050 SMD RGB 300-LED Strip Waterproof IP65
- a breadboard, wires, 12V - 5A power supply
- a box of Lego bricks to build a case for the prototype