DogBot
Intro: DogBot
Hi
This instructable is about how to make a fourlegged robot dog, which I call dogBot.
This robot is powered by eight geared motors of 20 rotations per minute.
This robot is controlled with Bluetooth via an android phone.
Each of the leg of the robot has 2 motors one for the leg and one for the
knee joint. The motors are controlled by Motor driver L239D.
STEP 1: Parts
- Arduino uno -1
- L239D motor drivers- 2
- dc geared motors not more than three volts because above that it will start straining the ic
- bread board
- bread board wires
- jumper wires
-Bluetooth module HC05
- android phone with blueterm app
Hardware
-PVC casing about a meter
- MDF board 4 mm thickness
- anything suitable for making the head and tail of the robot
- Screws or a adhesive
- small wooden blocks 5*1*1 cm - four of them
STEP 2: Making the Body
Drill holes in the wooden blocks as shown in the picture
Now paste them to a board in each corner as shown in the pictures
After pasting let it to dry and then screw the motors
Drill holes in each corners of the both the boards of MDF, this is to cover the electronics
This is the main body.
STEP 3: Legs and Knees
-Open it
-Take deeper end and drill holes according to your motor dimensions
-Now screw the motor
- on the upper end with a motor connector fix the leg to the motors of the body
- repeat this 3 more times to make four legs
Making knees
-Cut pvc casing 6 cm
- make a hole on the upper side and fix it to the motor of the leg
- for more support a piece of MDF can attached on the base of the foot
Repeat this 3 more times
STEP 4: Connecting L239d's
- 1,8,16,9 to positive terminal of battery
- 4,5,12,13 to ground
- 2 to pin 3 Arduino
- 7 to pin 4 Arduino
-15 to pin 8 Arduino
- 10 to pin 9 Arduino
- 3,6,11, 14 to four motors
Connecting second l239d (all leg joints)
- 1,8,16,9 to positive terminal of battery
- 4,5,12,13 to ground
- 2 to pin 6 Arduino
- 7 to pin 7 Arduino
-15 to pin 10 Arduino
- 10 to pin 11 Arduino
- 3,6,11, 14 to four motors
STEP 5: Connecting Bluetooth Module
- Rx of Bluetooth to Tx of Arduino
- 5v to 3v3 Arduino
- ground to ground Arduino
NOTE: connect Tx to Rx and Rx to Tx
and remove the pins before uploading the code.
STEP 6: Coding Arduino
int legs1=3;
int legs2=4;
int knees1=6;
int knees2=7;
int legs3=8;
int legs4=9;
int knees3=10;
int knees4=11;
int state;
int flag=0;
void setup() {
pinMode(legs1, OUTPUT); //leg 1 3
pinMode(legs2, OUTPUT); // leg 13
pinMode(knees1, OUTPUT); //knee 1 3
pinMode(knees2, OUTPUT);// knee 1 3
pinMode(legs3, OUTPUT);// leg 2 4
pinMode(legs4, OUTPUT);// leg 2 4
pinMode(knees3,OUTPUT);// knee 2 4
pinMode(knees4,OUTPUT);// knee 2 4
Serial.begin(9600);
}
void loop() {
if(Serial.available() > 0){
state = Serial.read();
flag=0;
}
if (state == '0') { // motor off
digitalWrite(legs1, LOW);
digitalWrite(legs2, LOW);
digitalWrite(knees1,LOW);
digitalWrite(knees2,LOW);
digitalWrite(legs3,LOW);
digitalWrite(legs4,LOW);
digitalWrite(knees3,LOW);
digitalWrite(knees4,LOW);
if(flag == 0){
Serial.println("Motor: off");
flag=1;
}
}
// if the state is '1' the motor will turn right
else if (state == '1') {
digitalWrite(knees1,HIGH);
digitalWrite(knees2,LOW);
delay(100);
digitalWrite(knees1,LOW);
digitalWrite(knees2,LOW);
delay(400);
digitalWrite(legs1, LOW);
digitalWrite(legs2, HIGH);
delay(300);
digitalWrite(legs1, LOW);
digitalWrite(legs2, LOW);
delay(400);
digitalWrite(knees1,LOW);
digitalWrite(knees2,HIGH);
delay(100);
digitalWrite(knees1,LOW);
digitalWrite(knees2,LOW);
delay(400);
digitalWrite(legs1, HIGH);
digitalWrite(legs2, LOW);
delay(300);
digitalWrite(legs1, LOW);
digitalWrite(legs2, LOW);
delay(400);
digitalWrite(knees3,HIGH);
digitalWrite(knees4,LOW);
delay(100);
digitalWrite(knees3,LOW);
digitalWrite(knees4,LOW);
delay(400);
digitalWrite(legs3,LOW);
digitalWrite(legs4,HIGH);
delay(300);
digitalWrite(legs3,LOW);
digitalWrite(legs4,LOW);
delay(400);
digitalWrite(knees3,LOW);
digitalWrite(knees4,HIGH);
delay(100);
digitalWrite(knees3,LOW);
digitalWrite(knees4,LOW);
delay(400);
digitalWrite(legs3,HIGH);
digitalWrite(legs4,LOW);
delay(300);
digitalWrite(legs3,LOW);
digitalWrite(legs4,LOW);
delay(400);
if(flag == 0){
Serial.println("Motor: forward");
flag=1;
}
}
}
STEP 7: Controlling
I have used Galaxy ace but I think any will work
Press '0' to stop
And '1' to start
21 Comments
dgómez24 5 years ago
Gursimran Singh 425 8 years ago
Great!! But servos instead of using dc motors would make this more compact and boost the torque!!
superguy911 8 years ago
Great Robot! In the process of making a quadruped myself using servos (nothing compared to yours!, yours is awesome!) right now im waiting for the custom parts i made in solid works wich basically make up the whole body, will post a instructables once im done making it.
PJ2000 8 years ago
thank you and looking forward to for your quadruped
superguy911 8 years ago
ill show you my proyect when i'm done, but still this robot is amazing
JaydenLawson 8 years ago
DARPA will be calling you soon :D
eric dirgahayu 8 years ago
Amazing robot with using dc motor gearbox...are you have a video when he move?
PJ2000 8 years ago
thank you for your comment. I tried to upload a video put could not upload. I will again try
eric dirgahayu 8 years ago
PJ2000 8 years ago
wow you're s is much better than mine, but I'm just 15.
And I will soon post a video
eric dirgahayu 8 years ago
Amazing...in 15 you start think making robot with different way, Most people would prefer motor servo for actuator robot because it is easier , and you choose the way a little difficult is using dc motor gearbox . good job.
PJ2000 8 years ago
thank you and congrats on a laser cutter
eric dirgahayu 8 years ago
I really interesting to see he move, because i has made the robodog too with using motor dc gearbox in 2013. The video my robodog :)
CaptainLlamas 8 years ago
Do you know what would be even more awesome than it already is? Giving this an outer cover that looks like an AT-AT from Star Wars!
PJ2000 8 years ago
thanks and I will try making an outer cover for it
AgentMess 8 years ago
PJ2000 8 years ago
thanks
robotbotbot 8 years ago
I am complete beginner. Does the type of motor driver matter? I'm having trouble finding the L239D one.
PJ2000 8 years ago
hi robotbotbot
The type of motor driver does not matter but I think you will then have to make changes in the wiring and code
DIY Hacks and How Tos 8 years ago
Cute dog robot.