Midyear Pre
Midyear Pre
Midyear Pre
Second level
● Third level
● Fourth level
● Fifth level
Nyma haqqani
Overview of
Project
To design, construct, and build an autonomous
robot that will navigate through a maze
independent of human control. Autonomous
robot capable of finding its way through is
maze and find multiple destinations.
Our Approach
Try to learn the basics of circuits and
programming
Take things one step at a time
Develop a very basic design and then improve
upon it
To implement a top looking design using DC
motors and a wall hugging software code
which will then be expanded into the maze
flooding algorithm.
Possible Problems
May not have enough time
Schedule problems
Slow progression
Learning
•
Expectations
To successfully create a robot that will find
the center of a maze .
• To gain hands on experience with
implementing theoretical design into a
physically working model.
• To explore different approaches for designing
and logically determining the most efficient
solution.
Goals
To create a basic robot that can run through the
maze
To gain more experience and knowledge in
dealing with circuits and programming
• To be able to make our robot move forward
• To make our robot turn left/right
• To create a program that maps the movement of the robot
• To have a working robot find the center of the maze
Hardware M
overview I
C
R
LEFT O
MOTO
R MOTO C
R O
SENSOR
ELECTRONI SESNS
RIGH DRIVE N CS
ORS
T R T
MOTO R
R O
L
L
E
Basic components of
Robot:
ØSensors
Ø Motors
Ø Microcontroller
Ø Batteries
SENSORS
Click to edit Master text styles
Second level
● Third level
● Fourth level
● Fifth level
SENSOR CIRCUIT
Click to edit Master text styles
Second level
● Third level
● Fourth level
● Fifth level
MOTORS
● Fourth level
● Fifth level
H-BRIDGE CIRCUIT
Click to edit Master text styles
Second level
● Third level
● Fourth level
● Fifth level
MICROCONTROLLER
● Fourth level
● Fifth level
MICROCONTROLLER
CIRCUIT
Click to edit Master text styles
Second level
● Third level
● Fourth level
● Fifth level
CODE
#include <reg51.h>
else if(sensorR==0)
//sensorF==1 & sensorB==1 &
& sensorL==1)
//delay();
//Some delay
{
breaks();
else if(sensorL==0)//(sensorF==1 && sensorB==1
&& sensorR==1 && sensorL==0)
{ breaks();
delay_turn();
left_turn();
delay();
breaks();
//Stop
}
else
breaks();
} //Do this infinitely
}
void left_turn(){
L293D_E = 1; //BOTH MOTORS SHOULD BE
ENABLED
L293D_E1 = 1;
void right_turn(){
L293D_E = 1; //BOTH
MOTORS SHOULD BE
ENABLED
L293D_E1 = 1;
L293D_A = 0;
L293D_B = 1;
L293D_A1 = 1;
L293D_B1 = 0;
}
void rotate_f(){
L293D_A = 1;
//Make positive of motor 1
L293D_B = 0;
//Make negative of motor 0
L293D_E = 1;
//Enable L293D
L293D_A1 = 1;
//Make positive of motor 1
void rotate_b()
{
L293D_A = 0; //Make positive of
motor 0
L293D_B = 1; //Make negative of
motor 1
L293D_E = 1; //Enable L293D
L293D_A1 = 0; //Make positive of
motor 0
L293D_B1 = 1; //Make negative of
motor 1
L293D_E1 = 1; //Enable L293D
}
void breaks()
{
L293D_A = 0; //Make positive of
void delay(){ //Some delay...
unsigned char i,j,k;
for(i=0;i<0x05;i++)
for(j=0;j<255;j++)
for(k=0;k<255;k++);
}
void delay_turn(){
unsigned char i,j,k;
for(i=0;i<0x01;i++)
for(j=0;j<255;j++)
for(k=0;k<255;k++);
}
SIMULATION OF
SOFTWARE
Software
overview
Search Algorithm
ØSimple Depth-First Search
ØRobot scans each cell for walls and constructs
GOAL
ØWe start out at (0,0) –
the “southwest” corner
of the maze
ØLocation of goal is
unknown
Check for a wall – the
Ø
•Debugging programs
?????
Thank you