The first thing we need to do before we can connect the motors is power the Arduino. To power the Arduino from the RC car power supply using the wires we soldered earlier, we will use the Arduino's 'Vin' pin which allows it to be powered from an external source without using the power plug.

+

−

+

−

Set the circuit up like the diagram below. We use the breadboard as we will need the raw battery power supply later to power the motors.

+

−

+

−

<table align="center">

+

−

<tr>

+

−

<td>

+

−

[[File:Interceptor_Arduino_Power_Diagram.png|300px]]

+

−

</td>

+

−

<td>&nbsp;</td>

+

−

<td>

+

−

[[File:Gymkhana_Arduino_Power_Diagram.png|300px]]

+

−

</td>

+

−

</tr>

+

−

<tr>

+

−

<td>

+

−

Treat the AAA battery holder as a stand-in for the vehicle's battery pack.

+

−

</td>

+

−

<td>&nbsp;</td>

+

−

<td>

+

−

Treat the 9V battery holder as a stand-in for the vehicle's batteries.

+

−

</td>

+

−

</tr>

+

−

</table>

+

−

+

−

+

−

+

−

Turn the car on and you should see the Arduino power up.

+

−

+

−

+

−

==Connecting the motors==

+

−

===Motor controllers===

+

−

+

−

DC motors cannot be directly controlled by the Arduino - we will need an external motor controller to allow speed regulation as well as forwards/backwards control. These controllers all use the same fundamental concept - the H-bridge. This will use the PWM signal and convert it into useful DC motor commands.

+

−

+

−

Thankfully, VEX robotics has recently released the [http://robomatter.com/Shop-By-Robot/VEX-Robots/Hardware/Electronics/VEX-Motor-Controller-29 Motor Controller 29] - a nifty, compact motor controller to use with their new line of 2-wire motors. Fortunately for us, this is a controller that will work perfectly with our DC motors.

+

−

+

−

[[File:VEX_Motor_Controller_29.jpg|400px]]

+

−

+

−

The VEX motor controller 29.

+

−

+

−

Another option for a motor controller is an Arduino Shield such as the [http://www.sparkfun.com/products/9896 Ardumoto] from Sparkfun. This acts as a shield for the Arduino which lets you control up to 2 DC motors - perfect for our purposes.

+

−

+

−

+

−

[[File:Sparkfun_Ardumoto.jpg|400px]]

+

−

+

−

The Sparkfun Ardumoto.

+

−

+

−

===Wiring===

+

−

+

−

The wiring is pretty simple, nothing fancy. The signal cables should go to digital ports '''9''' and '''10'''. Port '''9''' should be the '''Drive motor''' and port '''10''' should be the '''Steering motor'''. Keep in mind, we are powering the motor controllers straight from the battery and not from the Arduino 5V - the motors draw too much current otherwise.

+

−

+

−

<table align="center">

+

−

<tr>

+

−

<td>

+

−

[[File:Interceptor_Motor_Wiring_Schematic.png|300px]]

+

−

</td>

+

−

<td>&nbsp;</td>

+

−

<td>

+

−

[[File:Gymkhana_Motor_Wiring_Schematic.png|300px]]

+

−

</td>

+

−

</tr>

+

−

<tr>

+

−

<td>

+

−

Interceptor Wiring schematic.

+

−

</td>

+

−

<td>&nbsp;</td>

+

−

<td>

+

−

Gymkhana Wiring schematic.

+

−

</td>

+

−

</tr>

+

−

+

−

<tr>

+

−

<td>

+

−

[[File:Interceptor_Motor_Wiring_Virtual_Breadboard.png|300px]]

+

−

</td>

+

−

<td>&nbsp;</td>

+

−

<td>

+

−

[[File:Gymkhana_Motor_Wiring_Virtual_Breadboard.png|300px]]

+

−

</td>

+

−

</tr>

+

−

<tr>

+

−

<td>

+

−

Interceptor Virtual breadboard diagram.

+

−

</td>

+

−

<td>&nbsp;</td>

+

−

<td>

+

−

Gymkhana Virtual breadboard diagram.

+

−

</td>

+

−

</tr>

+

−

</table>

+

−

+

−

+

−

==Testing==

+

−

+

−

'''NOTE: If you are using the Gymkhana or a similar vehicle with turn regulation, skip this next section.'''

+

−

+

−

To test the motors, we are going to write a simple program for the Arduino. First, configure the motors as Continuous Rotation Servos driveMotor (motor_5) and steerMotor(motor_6). While the motors are not actually servos, the Arduino needs to think they are for the motor controllers to work properly.

+

−

+

−

Let's make the car move forward turning one direction, then backward turning the other. This means the vehicle will end up amusing us by essentially trying to do an infinite-point turn.