Controlling RGB LED (common anode) with Arduino

arduinoledrgb

I have an RGB LED (datasheet here) that I want to control using an Arduino R3 (datasheet here). How can I do this? The LED has a common anode, not a common cathode. However, the arduino's I/O pins can only be +5 volts. This is a problem, because I need to somehow hook up the LED's cathodes to the arduino's I/O pins.

Best Answer

This is only a problem if you think in terms of SOURCING a current from an output. Outputs also SINK current.

enter image description here

When the output is set LOW current will flow INTO the pin to ground (SINKING).