I have this schematic for a DC motor in my arduino, now I want to add 9v battery.
But I've seen that people use TIP120 transistor, I have BC548B, can I just put the 9v with that transistor?
There are many circuits using the TIP120 NPN transistor because it is a darlington transistor. This is used because its max voltage is
60V and the max current is
5A, this means you can control a variety of external high current devices with low voltage circuitry because of the darlington arrangement.
You can use the BC548B with your motor(low current) and a 9V battery as it does handle
30V, but it is limited to
100mA, which is fine for tiny low current motors. But these are actually Amplifier transistors, so there main design area is not for inductive loads.
I recommend the TIP120 as this will ensure that you don't trash a transistor with current spikes as you could easily go over the 100mA spec of the BC548.
Firstly, I see no external power supply in your schematic.
Secondly, you certainly CANNOT use a BC548 for controlling a motor.
MOSFETS are the best.