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".
Forewarning: You can do this the easy way, or the hard way. The easy way is to pick an RGB LED that has good stocking at all the major distributors, try it, and be happy.
The hard way is to learn a little bit about photometry, which is the study of measuring light, and then make your decision. No guarantees that the latter will produce better results, though. But, it's probably best to know a little background, so here we go. Warning: Long post.
Basic Criteria
The basic criteria for selecting an LED are, ignoring color for now:
- Intensity/brightness
- Viewing angle
- Lens style (clear/diffuse/external)
From the top:
Intensity/Brightness
This is a measurement of how bright you want your LED to be, and is startlingly complex. For an RGB LED, you'll probably find it easiest to first specify the viewing area, and then select the number of lumens you need. This selection will probably be experimental, especially since you want to do it at Burning Man, which has a really bright environment.
There are two ways to measure intensity: Radiometrically and photometrically. The watt is a radiometric measurement for power, defined by the metric system in terms of electronics as:
$W = A^2 * \Omega $
In words, the power dissipated by one amp of current flowing through a one ohm resistance.
Photometric measurements define how bright a source appears to the eye. The candela (or, for LEDs, the millicandela or mcd) measures the intensity in a direction. The lumen is a measurement of power, and is defined as one candela over one steradian of area (a steradian is a cone about $64^o$ across). Both are weighted with respect to the radiometric units by the luminosity curve, which looks something like this (dotted black line):
Notice that it peaks around 550nm, or the color green. What this means is that your red and blue colors need to have high wattage ratings to get even coloration. If you use the millicandella ratings (for a variety of viewing angles) or the lumen ratings (if you've already selected a set of similar viewing angles), you don't have to worry about this curve.
If you're still paying attention, don't worry, the rest is more straightforward and shorter.
Viewing angle
The viewing angle is the maximum inclination that you can have with respect to the LED and still see the color emitted. This is a function of the lens, and isn't always uniformly distributed. For a diffused (cloudy) lens, if you can see the lens, you can see the color, if only a little bit. The viewing angle is not necessarily this number; they're usually more realistic and only define the area which the lens is designed to illuminate. For a clear lens, optical properties of the lens will define the viewing angle more rigidly. Hint: It's not 180 degrees for the T 1 3/4 package (the standard 5mm LED you showed in most of your links - that's usually no more than $30^0$).
For a POV globe, you probably want a fairly wide viewing angle.
Lens Style
Lenses can be tinted or colorless. For an RGB LED, you probably want colorless. They can also be water-clear or diffused (cloudy). Your choice in this selection will depend on the viewing angle of the LEDs. A diffused lens will help to eliminate bright spots, but will also reduce the effectiveness of any focusing the lens is designed to do. If you get an LED with a spherical lens, it needs to be diffused, or you'll blind your users as it spins, and it will be hard to see in others.
You also need to decide whether you want an integrated or external lens. Some superbright LEDs will have an external lens which allows higher quality optics but costs more and requires more components. For this project, you almost certainly want an integrated lens.
Electrical Properties
Next, you need to consider the electrical properties:
- Current, both nominal/test and maximum (Will be different for each color of an RGB LED)
- Forward voltage $V_F$ (will be different for each color of an RGB LED)
Current
An LED creates light by dissipating power across a semiconductor junction. Below a certain current, the electrons aren't boosted to the next shell, and you get no light. Above a certain current, you destroy your device. By modulating the (average) current between these two values, you can get varying degrees of intensity. This is a non-linear function with respect to light intensity, but you can get a more linear function by using a constant current and rapidly pulsing the LED on and off. This technique is known as pulse-width modulation, or PWM. If your PWM never exceeds a given duty cycle, and is sufficiently fast, you can set the constant current at which would, at steady-state, exceed the maximum power rating of your LED. This doesn't usually get you a brighter average, though.
You need to select LEDs whose current requirements are within the limits of your drive circuit and whose power requirements are sustainable using your chosen power source.
Forward voltage
The forward voltage will be different for each color in the LED. This just complicates the calculation of the current a bit. If you're using a resistor to set the current, and the LEDs are common-anode, you should probably select LEDs with similar forward voltages to minimize power losses in the resistors. Be aware that the forward voltage is a function of the forward current!
Standard stuff
Then, there are the generic properties that you need to select for any electronic device:
- Package
- Soldering temperature
- Manufacturer/Supplier
Package
You may be tempted to use a standard T 1 3/4 5mm dome package. Don't accept this unless you're sure that it's what you want. To get 4 leads under this package, you need small, tight holes (soldering and PCB manufacturing will be hard), and the optical properties are less than optimal.
There are a plethora of surface mount packages which are lower profile and lower weight (which is desirable if you want to spin your project) and which have high viewing angles without using diffused lenses.
Soldering temperature
LEDs are some of the most sensitive components to heat when soldering because of the optical requirements of their lenses and because of the unique semiconductors used to generate the light. Be careful if you're using anything but a temperature regulated soldering iron or oven for this.
Manufacturer and distributor
For a one-off project or prototype, Adafruit or Sparkfun products are fine, but (1) you'll pay a premium for their selection and endorsement and (2) you're out of luck if they drop the product. The hobbyist sites are fine if you're making a one-off product, but if you want to distribute plans, make sure a compatible LED is widely available. Otherwise, contact Cree, Avago, or Lite-On (or your favorite manufacturer) directly, or use a major distributor like Digikey or Mouser. You'll have better luck and get better prices by buying in bulk and skipping the middleman.
Color
One of the most important factors to consider is color, but RGB LEDs basically define that for you. You do need to consider the relationships between each color in your selection, but this can usually be accounted for in software. For instance, the human eye detects green much better than it detects blue, and red LEDs are usually more efficient than blue.
In addition to the relative power between the colors, you need to consider the spectral information. Many manufacturers have different definitions of each color - Red might be any light with a wavelength between 629nm (an orangey red) and 660nm, green could be from 515nm to 565nm, and blue could be anywhere from 430nm to 470nm (a greenish blue). And that's just the nominal peak! This isn't a laser, so not every ray of light coming from it has the same wavelength -there is an irregular distribution of the wavelength for each color. A red LED will emit a tiny amount of blue light, and vice versa.
Best Answer
You should be fine with just about any small LEDs you get. According to the Raspberry Pi GPIO guide, they put out 3.3V when turned on, which is more than enough for the other LEDs you linked to. As long as you don't forget to put the resistors in series with the LEDs to limit the current, they should work just fine.
There will be a difference in appearance since the Sparkfun LEDs are diffused plastic and the other ones you linked are clear, but that's a matter of your preferences. They should light up without a problem.