También podrias hacerlo con un MOSFET adecuado y una fuente de 3V, es algo simple haciendo variar el ancho de pulso o PWM a una frecuencia fija.
Busca Arduino PWM
Bueno, un 2n7000 sirve y sigue siendo un MOSFET
N-Channel 60 V 200mA (Ta) 400mW
Digo porque su manejo es simple. En lo personal me gustan mas que los TBJ, aunque el 2n2222 lo sigo usando, (será porque debo tener como 300 aún?)