Power supply ? --> Arduino Motor Shield + 2 motors

Hi guys, I'm mounting my project: a little bot car (two motors) and a few sensors (two light sensors + one sonar).

I did everything fine, and all is ok when attach to USB power. My problem is : how do i give my bot power autonomy ?

I plugged a 9V battery to the jack og my arduino Uno and a 12V battery case to the Motor shield. And now, everything is weird: if i plug one motor, it's ok: the motor starts to normal speed, A control diode lights and switches off. If i plus both motors, the shield diodes switch off.

What is the problem according to you ? I tried to lower the shield battery, to unplug the arduino. It's always the same. One motor, ok; two: nothing - except with USB power supply. Do i have to increase the power ? I would not want to burn my shields.

Thank you by advance !

int switchstate = 0; int power; void goForward(int power); void stopMotor();

void setup() {

pinMode(13, OUTPUT); //Initiates Motor Channel A pin pinMode(8, OUTPUT); //Initiates Brake Channel A pin pinMode(12, OUTPUT); //Initiates Motor Channel B pin pinMode(9, OUTPUT); //Initiates Brake Channel B pin }

void loop() { int SensorValue = analogRead(A2); if (SensorValue >600){ goForward(180); } else { stopMotor(); } }

//------ function void goForward(int power) { digitalWrite(13, HIGH); //Establishes forward direction of Channel A digitalWrite(12, HIGH); //Establishes forward direction of Channel B digitalWrite(8, LOW); //Disengage the Brake for Channel A digitalWrite(9, LOW); //Disengage the Brake for Channel B analogWrite(11, power); //Spins the motor on Channel A at 180 (255) speed analogWrite(3, power); //Spins the motor on Channel B at 180 (255) speed }

void stopMotor() { digitalWrite(9, HIGH); //Eengage the Brake for Channel B digitalWrite(8, HIGH); //Eengage the Brake for Channel A } // --------------