[...] using 2 bc237 and 2 bc227 transistor. I need [...] peak current around 2A.
Your transistors can't handle that current.
i noticed that i need to put resistor at the base of the transistors. How do i calculate the resistor value? If the resistor value is right, the the motor should turn when A and C is connected to the positive power supply while B and D is connected to the ground. Is that right?
Let's postpone the resistor calculation until you understand the operation of a transistor (Google is your friend
And asking whether it will work when you connect *some symbolic names* is really having too much fate in out guessing abilities
what if my microcontroller provide voltage of 2.7v only? Do i need to amplify the voltage to 5v so the motor turns faster? Since there are 2 type of voltage sources-5v and 2.7v(from microcontroller). Which actually provide the voltage needed by my motor?
Once again, you need to familiarize yourself with how a transistor work (hint: it is
most often used to amplify).
The voltage at the base resistor just need to be from ~0.7V and up, to control what's on the the collector.
I just build a half-h-bridge(somehow i got problem with getting a full h-bridge), since my motor only needed one direction movement, i just test with it first.
If you only need one direction, you have absolutely no use for an H-bridge and will be better off without it (each transistor will "steal" some of the available voltage).
You can't make a half H-bridge, the "H" in the name is only valid when it's complete, since it then looks like an "H", schematics-vise.
What you need is just a single transistor (that can handle the required current).
I get an external 3v source to provide voltage for the base of transistors to test out the effects of different voltage. From my testing, i found out that the voltage depends more on the voltage input to the base. Applying higher voltage to this base would cause the motor to move faster. Is that correct? Btw, currently i am not using any resistor. Will add-on as long as i figure out what value to get for it.
With 3V and no resistor on the base, you're killing your transistor. A transistor set up with the correct base resistor value (for the collector current needed) should be used.
A TIP120 transistor has a DC current gain (h_FE) of...
at least 4500 @ 2.5A collector current and temperatures at or above 25°C
at least 2000 @ 0.5A collector current and temperatures at or above 25°C
That means that going for 1mA base current will give you ample current to supply the motor what it needs.
The base emitter voltage is 2.5V (it is a Darlington transistor).
The max. allowable base current is 120mA.
You have got 2.7V from your controller, which leaves 0.2V to drop over the base resistor, which should then be 0.2V/0.001A = 200 Ohm ~ select 180 Ohm if you haven't got 200 Ohm.
Suppose you run it without a base resistor. Let's say your assembly is so poor that you got the resistance up to 1 Ohm (highly unlikely), then your 0.2V would result in 200 mA.A BjT needs a current limiting resistor to survive!