74HC595 and 9 LEDs

Hey,
I own an Arduino Uno R2.
I've bought two 74HC595s and 9 220Ohm resistors in order to drive 9 LEDs (2V, 20mA), the LEDs must be able to keep running continuously for days.
I'm worried about the 74HC595s, as they might get hot (160mA current on one and 20mA on the other, whereas their maximum rating is 70mA).

Assuming I can get my hands on an ULN2803A, how should I wire it up? Will it even be useful in this situation?

Thanks in advance!

(EDIT: I forgot to mention, everything is powered externally through a regulated 5V power supply)

Piece of cake...
(see attachment)

2803_595.JPG

Although using ULN2803a buffers is a simple solution, there is another that doesn't involve additional hardware. First, spread the LEDs more evenly between the two 74HC595s, i.e. 4 on one and 5 on the other. Next, for each 74HC595, drive some of the LEDs with a resistor to +5v and another with a resistor to ground (assuming the LEDs have independent connections, not common anode or common cathode clusters). That way, you can keep both the +5v current and the ground current below the 70mA limit.

If you do use ULN2803a, bear in mind that they are darlingtons and have quite a high saturation voltage, so you may need to change the resistors from 220 ohms to something lower t maintain the 20mA current.

Yet another solution is to replace the 74HC595s with shift registers with a higher current rating, e.g. TPIC6C595N.