Wanted to make your own robot but couldn't afford the fancy H-Bridge IC's or etch your own PCB? Want a quick and dirty method of making your own wheeled robot? Then you're in luck, but if you want to make your own wheeled robot AND have a quick and dirty wireless controller for anything then you're REALLY in luck.
Required Items:
1 Tyco RC Air Rebound
2 Philips Screw Drivers one smaller than the other one, I don't know the sizes of the ones I used.
1 Arduino Uno
1 Soldering Iron
Plasticard (Not used, but will be used in an update)
Step 1: : Removing Power
Switch the RC Car off and remove the battery by flipping it over (Switch facing down) and rotating the latches, and flipping the cover down. (If the car has already been switched off, or the battery removed, proceed straight to step 2)
Step 2: : Removing the Drive Wheels
Grip one of the two drive wheels with one hand (To keep them from moving) and with your free hand use a Philips head screwdriver to remove the wheel (Repeat for the other wheel)
Step 3: : Removing the Big Wheel
Grab the smaller of the two sides (if you have the battery compartment facing up and towards you, it’ll be on the left) Start unscrewing the front wheel (The green one). Once you’ve unscrewed that side flip it over and unscrew the other side.
Then flip it back over so the smaller of the two sides is facing you.
You should see five screws (Four in a square and one in a deep hole) remove all the screws then gently remove the side bar and the main wheel.
Step 4: : Pulling the Arm Off
If you wish to keep the receiver module in tact please be extremely careful on this step.
Look at the inside of the remaining bar and you should notice eight screws unscrew all of them then gently remove the shock absorbers and the small plastic shield or 'hub cap' to reveal the thin black wire.
Follow the wire gently pulling it free until you can’t pull anymore free then find the three screws holding it to the main body and remove those.
Once all the screws have been removed, gently remove the arm making sure you feed the wire into it so you can pull it free on the other side.
Step 5: : Undressing the Body
Now you have the main body remaining.
There are six screws holding both halves of the body together.
Four of the screws are the size we’ve been unscrewing through the previous steps, but two of the screws are slightly smaller, once all the screws have been removed the body just pops apart (Make sure you’ve unlatched the battery compartment)
Step 6: : Freeing the Brains
You’d of noticed there is two PCB’s, one is a Dual H-Bridge configuration (Controls two motors going backwards and forwards) the other one is the receiver PCB.
If there’s a brown bit of card separating the wires from the PCB gently lift the wires up to slide the card out to expose a screw.
Use your smaller screw driver to remove this screw and you might have to do a little damage here (I had to) the wires are been held down by a strip of plastic, if you’re unable to pull the PCB out of the body you should go a head and break that plastic strip holding the wires down.
Now you should be able to gently wiggle the PCB free.
Be careful of the small ribbon cable joining both PCB’s together.
Step 7: : Desoldering
Take
your soldering iron and de-solder the ribbon cable applying slight
tension until it the cable comes off make sure you save the receiver PCB
for another project.
Step 8: : Soldering
Now
that you've de-soldered the receiver board you'll want to solder in
five wires into the PCB, you'll want the four that control the motors
(two per motor) and ground (In the picture I accidentally soldered a
wire to the VCC line, was fixed later but didn't take a new picture)
Once you've got the wires soldered on, gently bend the wires into a U shape leaving a bit of stress relief (I'd recommend Hot glue the wires after you've bent them for better stress relief, but I didn't, since I don't have a glue gun.)
Then screw the PCB back into place securely.
Once you've got the wires soldered on, gently bend the wires into a U shape leaving a bit of stress relief (I'd recommend Hot glue the wires after you've bent them for better stress relief, but I didn't, since I don't have a glue gun.)
Then screw the PCB back into place securely.
Step 9: : Body Work
Now
once you've done your hot gluing and soldering you need to go ahead and
reattach the drive wheels. (I forgot to take a picture of this step.)
and flip the chassis so the power switch is facing up. Then you need to
bend the wires you soldered on up and over the chassis as we'll be
positioning the arduino and battery soon.
Before we get to that step you should go a head and reattach the big wheel now, otherwise when you go to use your robot it'll go out of control and possibly break your arduino due to less weight holding the chassis in place.
Before we get to that step you should go a head and reattach the big wheel now, otherwise when you go to use your robot it'll go out of control and possibly break your arduino due to less weight holding the chassis in place.
Step 10: : Finishing Up and Arduino Code
I've stuck both my arduino and my v9 battery to the basic chassis of the robot platform until I've finished making a frame for the chassis components (Arduino, Breadboard and power)
Now onto the arduino code, this is only test code, but it should be a good foundation for you to start your own project.
For more detail: Tyco RC Arduino Robot
/*
Arduino Demo Software
Connect via either Arduino Serial Monitor or HyperTerminal
and you can control your robot via the W.A.S.D. keys.
Any other key will stop your robot in it's travels.
This example code is in the public domain.
*/
void setup(void){
Serial.begin(9600);
}
void loop(void){
while (Serial.available() < 1) {} // Wait until a character is received
char val = Serial.read();
switch(val){ // Perform an action depending on the command
case 'w'://Move Forward
forward();
break;
case 's'://Move Backwards
reverse();
break;
case 'a'://Turn Left
left();
break;
case 'd'://Turn Right
right();
break;
default:
halt();
break;
}
}
void forward() {
Serial.println("Forward");
analogWrite(11, 100);
analogWrite(6, 100);
}
void reverse() {
Serial.println("Reverse");
analogWrite(10, 100);
analogWrite(5, 100);
}
void halt() {
Serial.println("Stopped");
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
}
void left() {
Serial.println("Left");
digitalWrite(10, HIGH);
digitalWrite(6, HIGH);
}
void right() {
Serial.println("Right");
digitalWrite(11, HIGH);
digitalWrite(5, HIGH);
}
No comments:
Post a Comment