You are on page 1of 14

ENGINEERING MINI PROJECT

SIMPLE WALKER ROBOT

GROUP MEMBER : 1.
2.
3.

GROUP NAME : MASTER ELECTRICIANS

SUBJECT CODE : USEG21 (INTRODUCTION TO ENGINEERING AND


PROBLEM SOLVING WITH APPLICATIONS)

LECTURER NAME : MISS TENGKU LINA IZZATI RAJA MAHMOOD

DATE SUBMIT : 28 APRIL

SIGNATURE :

.………………………………….. ….…………………………………….
(MUHAMMAD AFIQ BIN ZAMZURI) (SITI NUR HANNANY BINTI MD SALEHUDDIN)

……………………………………….
(HANNAH AISYA BINTI MOHAMAD)
Table of Content

No PAGE

1.0 OBJECTIVE 2

2.0 PROBLEM STATEMENT 2

3.0 SOLUTIONS 2

4.0 TARGET CUSTOMER 2

5.0 COST 3

6.0 METHOD AND PROCEDURE 3-6

7.0 MATERIALS 6

8.0 MODIFICATION 9-10

9.0 MECHANISM 10-11

10.0 CONCLUSION 12

11.0 REFERENCE 14

1
1.0 Purpose/Objective
To build a simple robot using Arduino Uno.

2.0 Problem Statement


1. To control the robot’s movement using Arduino Uno.
2. To control the robot’s movements when it reaches an obstacle or an edge.
3. To provide power in moving the robot.

3.0 Solution
1. Using coding to control the robot’s movement using Arduino Uno.
2. Using Ultrasonic Motion Sensor to sense obstacles or edges.
3. Using Servo Motor to provide power.

4.0 Target Customer


1. Adults aged 18-25, who have hobbies related to robotics and mechatronics. People who
are interested in making a robot.
2. The beginners who are starting to invent robotic designs.

5.0 Cost

Materials Amount Total Price

Rubber Spatulas 4 RM16.40

6" turnbuckles 2 RM5.00

2" x 48" aluminum ruler 1 RM21.00

4-40 x 1/4" nut and bolt 1 RM2.00

Arduino Uno REV 3 1 RM35.10

Parallax 4-6VDC Standard Servo 2 RM169.60

3x1 male header pins 2 RM2.50

Parallax Ping Sensor 1 RM9.00

Heavy-Duty 9V Snap Connectors 1 RM1.60

2
9-Volt Battery Holder 1 RM1.40

Multipurpose PC Board with 417 1 RM4.77


Holes

Enercell® Alkaline 9 Volt Battery 2 RM7.80

5-1/2" Zip Ties 1 RM2.90

6.0 Methods/Procedures

1. Prepare four rubber spatulas, two turnbuckles with measurement of 6 inches, one
aluminium ruler with measurement of 2 inch by 48 inch, one Arduino Uno REV 3, two
Parallax 4-6VDC Standard Servo, two male header pins with measurement of 3x1, one
Parallax Ping Sensor, one Battery Holder 9-Volt, one Size M Coaxial DC Power Plug,
one Multipurpose PC Board with 417 Holes, one Alkaline 9 Volt Battery and 5-1/2" Zip
Ties.

2. Get a 2" wide aluminum ruler and cut a 10" section off one end using a hacksaw.
3. Clamp the cut section of ruler in a bench vise such that 5" are sticking out. Bend the
aluminum slightly (to about 30 degrees) using a rubber mallet or hammer.
4. Take the turnbuckles and remove all of the eyelets.
5. Widen the second hole from center with a 1/8" drill bit on each arm of the servo horn.
Repeat this for the second servo.
6. Place the turnbuckle on edge. Measure 3" across one of the turnbuckles. Make a mark
at this point. Repeat on the second turnbuckle.
7. Place the servo horn at the 3" center point on the turnbuckle. Position the horn such that
it is making a "V" perpendicular to the length of the turnbuckle. This should, by default,
position two more "V" shapes pointing to each side of the turnbuckle. Make marks in the
valley of each of these "V" shapes. Finally, drill these two marks with a 1/8" drill bit.
Repeat on the second turnbuckle.
8. One inch from the edge of each of the far sides of the ruler, make a centered mark.
9. Drill the two marks that were just made with 3/4" spade bits.

3
10. Remove the servo horn from the servo by unscrewing the set screw.
11. Center the servo's shaft in one of the 3/4" holes. Use the servo's mounting holes to
make 4 marks on the ruler. Rotate the servo 180 degrees and repeat on the opposite
side.
12. Drill each of the mounting marks that you have just made with an 1/8" drill bit.
13. Zip tie the servos to the ruler using the mounting holes you just drilled. Trim away the
excess zip tie tails.
14. Turn the servo's motor shaft entirely to the right or left. Put the first servo horn back on
such that all of the "V" shapes are parallel to each of the edges. Fasten it in place with
the mounting screw. Repeat for the second servo motor.
15. Between one of the far edges of the ruler and the servo, place the PCB and make marks
on the ruler through each of its mounting holes. On the other side of the same servo,
place the Arduino board and make marks in each of its mounting hole. Try to fit the
whole thing to one side of the ruler's bend.On the opposite side of the ruler's bend, place
the battery mount and make a mark. Drill all of the marks that have just made with a 1/8"
drill bit.
16. Insert two zip ties into each of the holes drilled in the turnbuckles from the inside out.
17. Place a turnbuckle centered atop a servo horn, and perpendicular to the ruler. Zip tie the
turnbuckle firmly in place, and then trim away any excess zip ties. Repeat this process
for the second turnbuckle.
18. Position the handle of the spatula about halfway up the turnbuckle such turnbuckle
intersect perpendicularly. Next, rotate the spatula slightly outward (about 10 to 25
degrees).
19. Make multiple marks on the spatula handle on all sides of the turnbuckle to indicate
drill holes for zip tying it to the turnbuckle. Drill the marks that have just made with a
1/8" drill bit.
20. Flip the spatula upside down, and place the other spatula on top of it right-side-up.
Align them so they are of matching height.
21. Use the first set of drill holes as guides to drill another set of holes in the other
spatula. This should end up as a mirror image of the first (i.e. inverted, but otherwise
identical).
22. Using the holes you have just drilled, zip tie the spatulas to the turnbuckle closest to the
holes that were drilled to mount the PCB. The spatulas serve as the robot’s front legs.

4
23. Repeat Step 22 for the hind legs. The legs will be shorter than the front legs.
24. Using a paper cutter or pair of scissors, trim the prototyping board down to about 1".
25. Screw apart the M-type plug and slide the casing onto the 9V connector wires, such that
it is able to screw it back together later (after it is soldered). Solder the red wire to the
central terminal and the black wire to the plug's outer terminal. Screw back on the plug's
cover.
26. Place the ground lead of the Ping sensor into one of the long conductive rails that travels
the length of the board, and place the power lead in the other. The signal lead should be
in one of the smaller conductive rails that spans 3 holes.
27. Solder the Ping sensor in place at a slight angle such that if you hold the board parallel
to the ground, it would appear to be rotated about 45 degrees clockwise. This should
counter-balance the fact that the PCB will get mounted to the board at about a 45
degree angle.
28. One the opposite side of the PCB that the Ping was soldered to, install two 3-pin male
headers such that each one has a pin that is soldered to the ground rail, and a pin the is
soldered to the power rail.
29. Solder a 6" red wire to the power rail. Solder a 6" black wire to the ground rail. Solder a
6" green wire to the terminal that the Ping's signal pin is connected to. Solder a 6" green
wire to each of the remaining header pins that are not connected to a power or ground
connection. These two wires will correspond to the signal pins for each of the servos.
30. Enter coding into Arduino Uno using the codes given.
31. Attach the 9V battery holder to its mounting hole using the a 4-40 nut and bolt.
32. Plug the servo female socket into the male header pins on the PCB, making certain that
black is lined up with ground, red with power, and white with the green signal wire.
33. Plug the red wire from the PCB into the Arduino 5V socket, the black wire from the PCB
into the Arduino Ground socket, the green wire from the Ping sensor into the socket for
digital pin 7, the green wire from the front servo into the socket for digital pin 9, the green
wire from the rear servo into the socket for digital pin 10.
34. Connect the battery to Arduino and secure it in the battery holder.
7.0 Materials

Materials Reasons

Rubber Spatulas Used for the robot’s legs

5
6" turnbuckles Main function for legs to operate

2" x 48" aluminum ruler Serve as the body of the robot

Arduino Uno REV 3 To control the movement of robot

Parallax 4-6VDC Standard Servo To facilitate the walking movement of robot

3x1 male header pins To connect the necessary components onto


wiring board

Parallax Ping Sensor To measure distance of obstacles around the


robot

Heavy-Duty 9V Snap Connectors To link the battery to servo motors

9-Volt Battery Holder To hold the batteries

Multipurpose PC Board with 417 Holes To link electrical components

Enercell® Alkaline 9 Volt Battery To provide power for the robot

Female-male wire & male-male wire To connect the Arduino, servo motors and
ultrasonic sensor

5-1/2" Zip Ties To tighten the robot itself

8.0 THEORY

Robot is a system that contain sensors, control system, manipulators, power supplies
and software all working together to perform a task. It is a machine that capable of carrying out
a complex series of actions automatically, especially one that programmable by a computer.
Designing, building, programming and testing a robots is a combination of physics, mechanical
engineering, electrical engineering, mathematical and computing. In some cases, biology,
medicine, chemistry might also be involved. There are various type of robot such as industrial
robots, autonomous robots , remote-controlled robots, and virtual robots. But the ones that we
are focusing is the mobile robot. A mobile robot is a machine that have the ability to move. In
our project, we are creating a walking robot that can overcome obstacle. Throughout the
process, we have come to a conclusion that a robot consists of 4 essential characters which will
further explain in the following passage.

6
1. Mechanical structure
In making a robot, the first thing that we have to encounter is the movement of the robot.
The body of the robot is mainly based on the legs where they are able to stabilize when walking.
This is very important as the robot have the capability of interacting with the environment. Not
only that, our main goal is to be able to walk and control the robot’s movement when reached an
obstacle. So that is why the legs are very essential to prove that the project is successfully
achieve our objectives.

Moreover, the movement of the robot also depends on the motor. Basically force uses
electrical energy which required to make the legs turn under command. The variety of electric
motors provide power to robots, making them move with various programmed motions The
efficiency rating of a motor describes how much of electricity consumed is converted to
mechanical energy. There are types of motor such as DC motor, AC motor and stepping motor.
However, in our project we are using servomotor where this servos are simple DC motor with
gearing and a feedback control system. They adjust themselves until they match the signal.
Usually, servos are used in radio control airplanes and cars.

2. Power supply
To make the robot successfully work, the robot needs to be able to power itself. In this
case, power supply is to provide energy to drive the controller of the robot. In fact, the robot
might be solar powered, electrical powered, battery powered In our project, we are using
servomotor as our power supply. This servomotor come force uses electrical energy which
required to make the legs turn under command.

7
3. Sensor.

A device to detect, sense, measure a physical property and records, indicates, and give
useful feedback to the device. In our project, we are using a sensor which is known as
Ultrasonic Distance Sensor.

a) How does Ultrasonic Distance Sensor work?


- This sensor sends out a high-frequency sound pulse and then multiply by how
long it takes for the echo of the sound to reflect back. In front, we can see that it
has two openings. One opening transmits ultrasonic waves (tiny speaker) and the
other receives them.
- The speed of sound is approximately 1100 feet per second in air. The sensor
uses this information to determine the distance to an object. It has a
mathematical equation of Distance = Time x Speed of Sound / 2. Time is when
the ultrasonic wave is transmitted and when it is received while the speed of
sound is divided by two is because the sound wave travels to the object and
back.
b) Uses of Ultrasonic Sensor.
- Measurement of dynamically changing diameters
- Measurement of dynamically changing distances
- Measure of dynamically changing heights
- Measurement of dynamically changing depths
- Counting numbers of units
c) Why use Ultrasonic Sensors?
i. Very accurate, stable and can be used over large ranges.
ii. Ideally suited to accuracy, automatic distance measurement in normal and
difficult environments.
iii. Particularly suitable for environments where optical sensors are unusable such
as smoke, dust and similar.

8
4. Arduino
One of the most important component in building the robot is arduino. Arduino is
an open-source electronics platform based on easy-to-use hardware and software. Arduino
Board are able to read inputs and turn it into an output. In order to program the arduino, we
need special software that will let us connect to the arduino so we can code it. The software that
we use IDE which stands for Integrated Development Environment. With this software, we can
make the robot to move or to command as what we request. This is because, Arduino is
equipped with a memory that allows it to save our program so when unplug the device and turn
it back on it will run program that was last uploaded. Hence, arduino has been the brain of this
project, as it will be running the software that will control all the other parts.

9.0 MODIFICATION

During the progression of building the robot, there are a few modification that we did to
overcome the difficulties. As we referring the website (instructable.com) as our guideline in
making the robot, we noticed one small problem: the original Ping sensor had 3 pins, while ours
has a copy version of 4 pins. We had to make a small changes in order to achieve our objective.

First, to make the robot successfully work is to make sure the connection between the
arduino and the PCB board is in the right track. As we stated, we had sensor of 4 pins so the
connection must be renew. After done a thorough research and advice from the expertise, we
solve the problem by connecting the pins in their respective way. As the VCC is connected to
Arduino 5V pin, GND is connected to Arduino GND pin, the Trigg is attached to Arduino Digital
Pin A0 and Echo is attached to Arduino Digital A1 pin. The Trigg pin will be used to send the
signal and the Echo pin will be used to listen for return signal. The outcome will turn out as the
same as using the 3 pins sensor. The difference between this two version is for the three pin
version, measurement triggered and receiving echo pulse are on the same pin. Meanwhile, in
the four pin version tigger and echo are on the separate pins.

9
We also add a new coding in our arduino uno which is “NewPing” . In this context, PING
is a basic internet program that allow a user to verify that a particular IP address exist and can
accept command. Ping is used diagnostically to ensure that a host computer the user is trying to
reach is actually operating. Ping works by sending an internet control message protocol (ICMP)
Echo Request to a specified interface on the network and waiting for a reply. Ping can be used
for troubleshooting to test connectivity and determine response time. In the coding we define the
Trigger_Pin as A0 and Echo_Pin as A1. The meaning of “#define is a useful component that
allows the programmer to gave a name to a constant value before is compiled. In the coding we
also modified the Output pin to be Digital Pin A1, the Input pin to be Digital Pin A0.
As for the movement of the robot, the major component is using the servo motor. We
had two servo motors where one for the front leg and the other is for the back leg. In our coding,
we define with #define, and also the connection between the servo are able to move the legs.

10.0 MECHANISM

The coding to coordinate the robot’s walking movement is firstly inserted into the
Arduino. The coding will coordinate the two servo motors which each of the motor is attached to
a turnbuckle with legs attached at the side. The coding also includes the necessary bare bones
minimum to make the robot walk forward and back away from something that gets too close,
using the measurement obtained by the ultrasonic sensor.

10
11.0 CONCLUSION

After months and months of hard work and the amount of effort we put in, we
accomplished our goal in this project which was to build a simple walker robot. A robot that
simply walks in a straight direction.

However, we stumbled on some flaws upon completing this project. Firstly, the ultrasonic
sensor did not work. So, the robot could not sense any obstacles in front of it. We figured that
the sensor did not work due to some error in the coding. Secondly, the materials we used were
too heavy. This led to the third flaw which was stabilization. Meaning that our robot was not
stable due to heaviness and since it was too heavy, we could not tighten the robot’s body
properly which made it more unstable.

In order to improve the robot the next time we want to invent again, we should use PVC
instead of metal ruler since it is lighter so the robot can move easily. Also, we could use a door
stopper as the legs which can be stuck under the robot’s legs in order to improve its
stabilization.

Overall, we would love to say that we succeeded in making the robot walk. Big thanks to
our classmate, Ikram who helped us with the robot’s movement even though our sensor did not
work since it never avoids any obstacles, we still felt happy because the robot itself can walk.

11
THE FINAL PROJECT

12
10.0 REFERENCE

Unknown. (2017) Retrived on 3rd March 2017on:


http://www.g9toengineering.com/resources/robotics.htm

Sarafan. R. (2015) “Simple Walker Robot” Retrieved from Instructables on 3rd March 2017:
http://www.instructables.com/id/Simple-Walker-Robot/?ALLSTEPS

Nedelkovski. D. (2015) Retrieved on How to Mechatronics on 3rd March 2017:


http://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/

Monk. S. (2015) “Arduino Lessons: Servo Motors” Retrieved from Adafruit.com on 3rd March
2017 on :
https://learn.adafruit.com/adafruit-arduino-lesson-14-servo-motors/overview

13

You might also like