I'm using a Arduino Uno with a motor driver shield. When the arduino is connected to the PC via the USB cable everything is fine: the motor turns the wheels. When i connect it to a 9V battery, nothing happens, except the status LED blinks for a few times.
I've seen this in the troubleshooting section:
Why doesn't my sketch start when I'm powering the board with an external power supply? (Arduino Diecimila or earlier)
Because the RX pin is unconnected, the bootloader on the board may be seeing garbage data coming in, meaning that it never times out and starts your sketch. Try tying the RX pin to ground with a 10K resistor (or connecting RX directly to the TX pin).
but it didn't help me at all.