The transistor should work OK - at 50mA current the spec says it's current-gain will be about 30 so plan on maybe 15. This determines the resistor you must have in series with the base. The UNO's o/p is 5V (see final paragraph in case it is 3V) and the transistor needs 0.7V (approx) at 4mA drive. This means that the 5V o/p gets reduced to 0.7V through the resistor which takes 4mA - the resistor value is therefore 4.3V/4mA = 1kohm to consistently drive the base and get 60mA through the LEDs.
Next you need to limit the current taken by the LEDs to 60mA BUT, be aware that connecting LEDs in parallel with a common current limiting resistor may not be the best bet. Reason: One LED will hog the current so it is best to have a resistor in series with each LED controlling the current to 20mA each. The LEDs need 2.2V and the battery produces 3V so the volts dropped across each resistor is 0.8V. The current is 20mA so the resistance is 40ohms - use a 39 ohms resistor in series with each LED.
Going back to your original question, you specify the UNO can deliver 5V - if the UNO is run from 3V then the base resistor for each transistor needs to be reduced to 2.4V/4mA which sounds to me like a 560R or 680R - my calculator is at work so I'm sure you can do the math.
Your motor that you linked to is a 4.5V 190~250 mA (No Load) motor. At 9v, the current probably increases. You are overdriving it by 200%. And any load/weight will cause it to increase in current requirements as well. Stall current is probably 10x that at least.
You are missing the protection diode across the motor, that can easily kill the transistor.
The Transistor you are using is a 100mA standard, 200mA Absolute Maximum. One of those motors by itself without any load, can easily kill that transistor.
The base resistor is calculated as (Base Voltage - Base-Emmiter Voltage) / Current required
. Base Voltage is the Arduino pin, so 5v, Vbe depends on the collector current which is 200 mA here, so typically 1V. Current required is calculated as Collector Current (200mA) / Hfe (From datasheet, 10~30). On the safe side, lets go with 10, so 200 / 10 = 20mA needed at the base.
(5V - 1V) / 20mA or 4V / 0.02A = 200Ω resistor. A 1kΩ resistor would only allow 4mA at the base, which times the Hfe of 10, would only allow 40mA at the collector, probably no where enough to tun on the motor.
TLDR: You need the protection diode, your 9v power source is too high, and your transistor is too weak for the motor you are using. And you need a bigger resistor at the base because the motor requires more current then you are figuring. A common 2n2222 transistor with a 470Ω resistor would do much better.
Edit: Not making the pin an output also puts a damper on things. Answer, Arduino pins default to input.
Best Answer
First off, you dont need a series resistor with the fan. If its rated for 1.68W at 12V, then as you calculated it, the current through it at 12V will be 140mA. The usual rule of thumb for saturating (turning it fully on/off) a transistor is that the base current should be 1/10 of the collector current.
That means that the base current would have to be around 14mA. That much of the current the arduino is probably capable to supply. But if its possible, I would rather use a MOSFET.
Ok, lets say that you use 2n3904 transistor, this is how you'd calculate the required base resistor. Because the BE junction of a transistor forms a diode, the voltage drop on BE will be around 0.7V. And if the emmiter of the transistor is at ground potential, then the voltage at the base would be around 0.7V. Following from this is a simple ohms law: \$R = \dfrac{U}{I}\$.
So: \$R = \dfrac{(U_{arduino-pin} - 0.7V)}{0.014A}\$
\$U_{arduino-pin}\$ is the maximum voltage arduino can provide on the output (usually 3.3V or 5V), depends on your supply voltage.
And this is how the schematic would look like:
simulate this circuit – Schematic created using CircuitLab
Also note the diode D1, it is there to protect the transistor from the back EMF, genereted by the coil (motor in the fan) when the transistor turns off.