Introduction: Firefighting Robot

For my project I created a robot with an attached water cannon. My mentor and I built it in a budget of around $300 (not including the necessary equipment), and it functions quite well. For the motors we used drill motors, powered by the 18 volt drill batteries. To control it all we used an arduino microcomputer. 

Step 1: Make Parts List/Gather Materials


It is crucial that before you start a project, you know what you will need and how much it will all cost. For me, this was my parts list:
2 x 18 volt drills (for motors, batteries, and chargers)
Components to create custom cables
ABS piping (With caps for either side – the diameter you choose depends on how much water you want your tank to hold)
1 x Schrader Valve
1 x Solenoid Valve
¼ Thick Wood (or any other material you want to use to make the frame)
1 x Infrared Thermometer
1 x Arduino Board
2 x Skate wheels
1 x Caster
1 x bike pump (to pressurize ABS piping)
3 x 540 MOSFET’s
1 x Servo motor
Assorted Wires (Preferably Stranded Core) – some red, some black
Electrical Tape
1 x Potentiometer
Wood Screws (10’s, 12’s, 14’s)
Power Tools (Drill, Jigsaw, Screwdriver, etc.)
Anderson Power Connectors
Soldering Iron
Solder
Multi meter
Wire strippers
Wood Glue
Custom piece designed in google sketch up and created using shapeways.com
Tap and tapping wrench
Small breadboard
Large breadboard
2 x Wire Knuts
Lots of Anderson Power Connectors (4 Bags)
Jumper Cables (to connect the arduino to the breadboard)
Taps and Tap Wrenches
Wire Cutters/Strippers
Angle Grinder 

Step 2: Creating the Custom Part

In order to create the custom part you will need to screw the skate wheels directly onto the motors, you will need to use Google Sketch-up or whatever CAD program you feel comfortable working with (solidworks, adobe illustrator, etc). These instructions should walk you through our method of doing it:

1. Put the camera in Parallel Projection Mode and Standard View -> Front.
2. Imagine that your part will rotate on the Blue (vertical) axis - draw a cross section of the half that will be to the right of the blue axis... start by drawing a rectangle that begins at the origin, that extends upwards equal to the length of your part and to the right equal to the maximum radius of your part. Then cut away rectangles for the center holes, and parts that have a smaller outer diameter.
3. Change to Standard Views -> Top (your cross section will now look like a thin line on the red axis.
4. Draw a Circle centered on the origin, with a radius that just touches the left edge of your cross-section, but then delete the face of the circle, so only the circle path is left.
5. Change to Standard Views -> ISO
6. Select the Circle path, then choose the Follow Me tool and click on your cross-section.
7. Rotate the part around and delete the little circle path..

Once the part is finished and has the correct dimensions, upload it to http://www.shapeways.com/ and order two of them. When they arrive, use the taps and tap wrench to tap the holes of the part. You should then be prepared to put them through the middle of the skate wheels and screw them onto the motors.

Step 3: Disassemble the Drills Into Three Parts (Motors, Drills, and Charger)

In order to harness the motors from inside of the drill, unscrew the plastic casing surrounding the parts of the drill using either a drill and small drill bit or a screwdriver. Once you take it out, discard the rest of the drill itself and throw it away (unless you find a crazy reason for why you still need it – you might want to keep the trigger to use as a button later to control the water cannon or motor). Then, unscrew the casing around the battery pack and pull it out. Then, check which side is positive and which is negative using a multi meter. Then solder a piece of red stranded core wire to the positive end the battery and connect a red Anderson connector to the other end (to do this, strip off ¼” of insulation off of the other end of the wire, crimp one of the small metal pieces to the stripped wire, and clip the red Anderson connector onto the metal piece – this can be extremely difficult). Repeat this process for the negative end of the battery using black wire and a black Anderson connector. Finally, do this same process for the other battery.

Step 4: Create the Frame

 Using a jigsaw, or another cutting tool, cut strips of wood two inches tall and a foot and a half wide (these will be the sides of the frame). Then, cut out a larger slab of wood to act as the bottom of the robot (1.5’ x 2’). Then, using wood glue, glue all of the pieces together. When this is complete, the frame should be complete.

Step 5: Connect the Wheels to the Frame

To do this, drill a hole big enough to fit the drill (it must be a tight fit), and jam the drill into the slot. The next step is to pop the bearings out of two skate wheels. To do this, apply sufficient force to the small hole in the middle (you could do this by hitting something jammed in there with a hammer). Then, shove the custom part into the wheel. Then, drill a small hole in order to be able to screw in a caster to the back end of the robot. The image below is the custom part screwed onto one of the drill motors. 

Step 6: Prepare and Hook Up MOSFETs

To get the MOSFET’s working, strip and solder a thin wire onto the left pin (see attached image), a red wire onto the middle, and two black wires on the right (one of these will be connected to ground on the breadboard and the other will connect to the battery/motor. Then, strip and connect a red Anderson connector the other end of the red wire and a black Anderson connector to the other end of the black wire. Finally connect the MOSFET to the battery and motor. Plug one of the black wires into ground on the breadboard and connect the black cable with the Anderson connector attached to the battery. Connect the red wire with the Anderson connector attached to the motor (see attached image). Do the same thing for the other MOSFETs.

Step 7: Create Water Cannon

Cut the ABS piping to the size of water cannon you want. Then, using ABS glue cleaner and, put the caps on each end of the ABS piping. Drill two holes in the piping on either end (one for the Schrader valve, and one for the solenoid valve (see attached images)– this is what will emit the water). The Schrader valve will be used to pressurize the tank. To pressurize the tank, connect a bike pump or another device similar to the Schrader valve (we usually pump it to no more than 100 psi to be safe, but if you feel like being more dangerous, go for it).

Step 8: Program and Wire Up the Arduino

Here is the code we used to make the motors and water cannon work when connected to a button/trigger. (see attached image to see how to connect the arduino to the breadboard.)
void setup()
{
  Serial.begin(9600);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(7, INPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  pinMode(8, INPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
}

Code to Make Motors Work with the Button (it is steered using a potentiometer:
void loop()
{
    if (digitalRead(7)== LOW)
 {
   digitalWrite(13, HIGH);
   int x = analogRead(1);
   Serial.print(x);
   Serial.print("\n");
   if (x < 1023/3) {
     // turn left
     digitalWrite(2, LOW);
     digitalWrite(3, HIGH);
   }
   else if (x > 2*1023/3) {
      // turn right
     digitalWrite(2, HIGH);
     digitalWrite(3, LOW);
   }
   else {
     // forward
     digitalWrite(2, HIGH);
     digitalWrite(3, HIGH);
   }
 }
 else
{
digitalWrite(13, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}

Code to make the water cannon work with a button:
if (digitalRead(8) == LOW)
{
//releases valve
digitalWrite (12, HIGH);
}
else
{
digitalWrite (12, LOW);
}

Code to tell which direction the robot will move when the trigger is pressed using a three colored LED light:
int x = analogRead(1);
if (x < 1023/3) {
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
digitalWrite (6, LOW);
}
else if (x > 2*1023/3) {
digitalWrite (6, HIGH);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
}
else {
digitalWrite (5, HIGH);
digitalWrite (4, LOW);
digitalWrite (6, LOW);
}
}

Below is an image of the arduino wired up according to the pins we programmed.
The blue wires connected to the MOSFET’s go into digital pins 2 and 3 to control the motors; the LED is connected to digital pins 4, 5, and 6; the buttons are connected to pins 12 and 13. The potentiometer is connected to analog pin 1.