batteriebetriebener Roboter

Hallo!
Ich will einen kleinen Roboter mit Ultraschallsensor bauen. Der Sensor ist dabei nicht das Problem, sondern die Motoren. Wenn ich meinen Arduino Uno über das USB-Kabel versorge funktioniert alles, wenn ich aber dann eine 9V Batterie anschließe, beginnt der Arduino sich ständig zu reseten.
Ich verwende 4.5V DC Motoren. Für die Ansteuerung verwende ich jeweils einen BD243C + Freilaufdiode(1N4148). (Grund: weil ich gerade keinen speziellen Motortreiber zu Hause hatte.) Meine Frage ist, wie kann ich das ständige reseten vermeiden?
Bin für jede Hilfe dankbar!

mfg
Michael

Eine 9V Batterie ist einfach zu schwach. Sie kann nicht 500mA bringen so wie die USB- Schnittstelle.
Benutze die 9V Batterie für den Arduino und eine 4,5V für den Motor. Einfach Minuspole beider Batterien zusammenschalten und die Motore auf den Pluspol der 4,5V Batterie.

Grüße Uwe

Danke für die schnelle Hilfe!