RC car + Arduino help

Hey guys,

I'm a bit new to Arduino and I've been playing with it for a while now. I have a small RC car that I'm using as a base. I also have a Sharp IR proximity sensor for input so that when the sensor detects an object, the car's motor starts rotating. I've managed to get this to work but my problem is it seems that the motor only rotates when the back wheels are not touching the ground.

I'm using a simple and cheap RC car, but it works perfectly when I tested it out of the box before modifying its function.

I'm using this circuit: http://tinypic.com/r/34dkb48/6

The motor has a separate power source (4.5V) and I have a transistor to switch the motor on depending on the reading from the sensor. When the back wheels are in contact with the ground surface, the car either doesn't move at all or moves only a little. It works perfectly when I hold it up.

I'm not exactly sure what the problem is with it. I'm confident that my code is correct. Have any of you ever encountered something like that and possibly know what the problem is?

I look forward to reading your replies. Thanks in advance.

Sounds like your motor isn't getting much current. The 1K resistor in the base of the transistor is limiting the base current to 5 mA. Try something around 200 Ohms to bring the current up to 25 mA. That's still safe for the Arduino and should help make sure the transistor is fully ON.

See this article about using transistors as switches: http://www.electronics-tutorials.ws/transistor/tran_4.html