O circuito que tem de usar é este.
A alimentação tem de ser externa, a fonte do arduino não conseguirá suportar a corrente.
Como calcular os valores para 5, 6 ou 20 leds?
Os transistores NPN de silicio têm uma particularidade, seja qual for a corrente, entre a base e o emissor a tensão é de 0,7V.
Quanto à resistência de polarização dos LEDs o processo é o mesmo, terá que saber ou medir o consumo de cada led e a sua tensão de funcionamento, supondo que precisamos de 6 leds e cada um consome 20mA a 1.8V teremos um consumo de 120mA. Se a alimentação for de 9V (não usar a saída de 5V do arduino porque não suporta a corrente), teremos 6x1.8, ora isto excede os 9V que temos, precisamos assim de pelo menos 10,8V na fonte.
Se temos uma fonte de 12V, e 10.8V para os leds, com uma corrente de 20mA, o valor de R será (12-10.8)/0.020A=60R (Valor comercial mais próximo 62Ω)
Sendo assim, supondo que vamos usar um transistor com um HFE(ganho) de 100, RB= (VIN-VBE)/IB,
IB (corrente de base do transistor) = IC/HFE = 20mA/100= 0.020/100=0.0002A.
A RB será RB= (VIN-VBE)/IB = (5V-0.7V)/0.0002A=21500Ω (Valor comercial mais próximo 22K)
Para uma alimentação de 12V, com 6 Leds de 1,8V e 20mA. precisamos de um resistor RB de 22KΩ na base de cada transistor e um Resistor nos leds de 62Ω.