If you are on a budget you can use discrete NPN transistors or ICs with open collector (or open drain outputs) that can be scraped from old transistor radios, television sets, old printers, and other outdated electronic devices.
Discrete NPN transistors
The maximum emitter current, Ie, must be observed
Small signal transistors, like BC 547B or 2N2222 can be used, but they can only drive one of the RGB LEDs as the emitter current, Ie, will be 60 mA in your circuit and their limit is typically 100 mA. I have shown a transistor driving two in the diagram below.
Power/driver transistors, like BD 135 (1.0 A), with their much higher maximum emitter current can drive many more RGB LEDs, 16 (1.0 A/0.06 A) for BD 135.
I far as I can tell the RGB LEDs you are using are common cathode (where the "arrow" is pointing), hence the diagram above. The operating current is 20 mA and the forward voltage drops at this current are 2.0 V, 3.2 V and 3.2 V for red, green and blue, respectively.
Other values: R4 is in the kiloohm range, e.g. 3.3 kohm. One resistor is used for each internal LED as this makes for more uniform light and also accounts for the difference in forward voltage drop for red and blue/green. Vcca
is the supply voltage to the CPU and can be different from the 5 V for LEDs.
Computing the current limiting resistors
For green and blue (R2 and R3): as the current is 20 mA through the diode the same current flows through the resistor. If the voltage drop over the driver (transistor) is assumed to be 0 V then the voltage drop over the resistor is 5 V - 3.2 V = 1.8 V. We now know the current and voltage for the resistor and can use Ohm's low to find the value of the resistor:
$$ U = R3 \cdot I \implies R3 = \frac{U}{I} = \frac{1.8\ V}{0.02\ A} = 90\ \Omega $$
For red (R1):
$$ R1 = \frac{U}{I} = \frac{5.0\ V - 2.0\ V}{0.02\ A} = \frac{3.0\ V}{0.02\ A} = 150\ \Omega $$
Standard values of resistors (E24, 5%) close to these two values happens to exist (91 ohm and 150 ohm).
ICs with open collector (or open drain outputs)
The principle is the same as for the discrete transistor.
An example is the TTL 7405 (variations: 74LS05, 74HC05). The maximum current can be found in the datasheet, but most likely it can only drive one RGB LED per output. On the other hand it is more compact as there are six inverters in one IC. Some others in the TTL family (some with fewer outputs) are 7401, 74LS03, 7405, 7406, 7409, 74LS12, 74LS15, 7416, 7417, 74LS22, 74LS33, 74LS38, 74LS136, and 74LS266.
I think bus buffer/line drivers, like the 74LS244 (eight outputs) can also be used, but I have to look into it further.
References
- A good background article is "Driving LEDs with Open Drain Port Expander Outputs".
Best Answer
Here is the design process I would follow:
First, get an idea of the max total supply required: here 30W * 16 COB LEDS. This makes about 500W. We can easily find such supplies off-shelf, however is very difficult to design such an AC-DC power supply at a DIY level. So, we make it simple: use a single power supply for the whole project, that we buy from somewhere.
Regarding the current sources for each LED string: I personally don't like to make designs that waste too much power, and sometimes, the cooling requirements make it more complicated than actually using switching regulation. So I rule out linear regulation and go for switching, which, as a benefit, gives you more flexibility regarding the main supply voltage.
The requirement for the regulator of a single LED string are not so big here: about 36V, 300mA. We need 48 of them, so we have to make them cheap (I guess). Go to mouser/digikey, find buck LED controllers that can handle more than 40V, and more than 300mA. Order by price. You get a few of them (for example AP8802, ILD6070, ...) Check the datasheet for the external components required and the typical use case schematics. Ok, not so many external components (integrated mosfet), the only big one is the inductor. Check that they can be dimmed using PWM. Select the inductor based on the datasheet info, check its size and price.
Go back to the main supply. Decide its voltage, which must be between the max regulators supply and the max regulators voltage drop + max LEDs voltage drop. Size it more precisely (taking account efficiency of current regulators). Find it for cheap on some website.
Go back to the individual regulators: make the schematic, make the layout (use big traces for big currents, follow the rules given in the regulator datasheet and make it as close as possible to the reference designs you can find, and try to maximize dissipation of chips if they have a powerpad underside), buy everything, solder, make the firmware, enjoy !
And if you have a more specific problem during any of those steps, don't hesitate to post a new question...