Motors need a lot of energy, especially cheap motors since they're less efficient.
The first important thing to figure out what voltage the motor is going to use. If you're lucky your motor came with some sort of specifications. Some small hobby motors are only intended to run at 1.5V, but its just as common to have 6-12V motors. The motor controllers on this shield are designed to run from 5V to 12V.
MOST 1.5-3V MOTORS WILL NOT WORK
The second thing to figure out is how much current your motor will need. The motor driver chips that come with the kit are designed to provide up to 1.2 A per motor, with 3A peak current. Note that the 'peak' rating is for very brief peaks such as during startup. Peak current levels can only be tolerated for a few milliseconds. If you will be pushing the 1.2A continuous limit you'll probably want to put a heat-sink on the motor driver, otherwise you will get thermal failure, possibly burning out the chip.
You can't run motors off of a 9V battery so don't waste your time/batteries!
Use a big Lead Acid or NiMH battery pack. Its also very much suggested that you set up two power supplies (split supply) one for the Arduino and one for the motors. 99% of 'weird motor problems' are due to noise on the power line from sharing power supplies and/or not having a powerful enough supply! Even small DC motors can draw up to 3 Amps when they stall.
Servos are powered off of the same regulated 5V that the Arduino uses. This is OK for the small hobby servos suggested. Basically, power up your Arduino with the USB port or DC barrel jack and you're good to go. If you want something beefier, cut the trace going to the optional servo power terminal and wire up your own 5-6V supply!
The motors are powered off of a 'high voltage supply' and NOT the regulated 5V. Don't connect the motor power supply to the Arduino's 5V power pin. This is a very very very bad idea unless you are sure you know what you're doing! You could damage your Arduino and/or USB port!
There are two places you can get your motor 'high voltage supply' from.
- One is the DC barrel jack on the Arduino board
- The other is the 2-terminal block on the shield that is labeled DC Motor Power 5-12VDC.
The DC Jack on the Arduino has a protection diode so you won't be able to mess things up too bad if you plug in the wrong kind of power. The terminal block has a protection FET so you will not damage the arduino/shield if you wire up your battery supply backwards, but it wont work either!
Here's how it works:
Say a wall adapter or a single battery pack with 6-12VDC output, simply plug it into the DC jack on the Arduino or the 2-pin power terminal block on the shield. Place the power jumper on the motor shield.
Note that you may have problems with Arduino resets if the battery supply is not able to provide constant power, so it is not a suggested way of powering your motor project. You cannot use a 9V battery for this, it must be 4 to 8 AA batteries or a single/double lead acid battery pack.
Plug in the USB cable. Then connect the motor supply to the power terminal block on the shield. Do not place the jumper on the shield.
This is a suggested method of powering your motor project as it has a split supply, one power supply for logic, and one supply for motors
If you would like to have 2 separate DC power supplies for the Arduino and motors.
Plug in the supply for the Arduino into the DC jack, and connect the motor supply to the power terminal block. Make sure the jumper is removed from the motor shield.
No matter what, if you want to use the DC motor/Stepper system the motor shield LED should be lit indicating good motor power