My friends and I tried to make our own controllable car. We managed to set up the motor with the Arduino in a way which allowed the motor to be driven back and forth.
As is visible in the picture above, to drive the motor forward, we sent a signal from the Arduino to transistor 1 and 2. To drive is backward, we sent a signal to transistor 3 and 4. This however proved to be most ineffective. There is some form of energy loss going on. We haven't quite figured it out. But we do have an idea of what might be happening.
The Arduino and the motor is driven by the same battery. Also, the battery at the top of the diagram above and the bottom is the same one. Perhaps a portion of the voltage is lost due to the current that is entering the wire diagram through the transistors from the Arduino is being lost. In the following manner:
We tried to amend this by putting resistors at the base of the transistors. This did not help however. There is most likely some major mistake with this setup.
To clarify, we wish to be able to run a motor backward and forward without any major energy loss due to faulty wiring. We do not have a motor controller and wished to make one ourselves. Can anyone please help us understand what the mistake is? When we run the motor with the above wiring diagram the motor runs at extremely low speeds.