Line Follower ROBOT 



I designed my Robot, which use two motors control  rear wheels and the single front wheel is
free. It has 4-infrared sensors on the bottom for detect black tracking tape, when the sensors detected black color, output of  comparator, LM324 is low logic and the other the output is high.
Microcontrollor AT89C2051 and H-Bridge driver L293D were used  to control direction and speed of motor. 


Fig 1. Circuit diagram of my Robot.






 
Fig 2. Circuit diagram of Infrared sensors and comparators. 
 
 
 
  
 

Fig 4.  Position of sensors,  left hand side is
side view and right hand side is top view.
 
Program In C-language
 #include d:\mc51\8051io.h  
 #include d:\mc51\8051reg.h  
 extern register unsigned char speedleft,speedright;  
 register unsigned char high,low,flag,time;  
   
 main()  
 {  
 P1=0x40;  
 P3=0xff;  
 high = 80;  
 low = 30;  
 flag = 0;  
 time = 50;  
 Start();  
 while(1) {  
 P3|= 0x0f;  
 Run();  
 }  
 }  
   
 Start()  
 {  
 char exit,key;  
 exit =1;  
 while(exit)  
 {  
 key = P1;  
 if((key & 0x40)==0) exit=0;  
 }  
 }       
   
 Run()  
 {  
 char sensors;  
 sensors = (P3 &=0x0f);  
   
 if((sensors & 0x01)==0) {  
 TurnRight();  
 flag = 1;       }  
   
 else if((sensors & 0x08)==0) {  
 TurnLeft();  
 flag = 2;       }  
 else if(sensors == 0x09)  {  
 Forward(high);  
 flag = 0;       }  
   
 else if(((sensors==0x0b)||(sensors==0x0d))&&(flag==0))  
 Forward(low);  
   
 }  
   
 Forward(char speed)  
 {  
 P1=0x64;  
 speedright = speed+10;  
 speedleft = speed;  
 delay(time);  
 }  
   
 TurnRight()  
 {  
 P1=0x68;  
 speedright = low+5;  
 speedleft = low;  
 delay(time);  
 }  
   
 TurnLeft()  
 {  
 P1=0x54;  
 speedright = low+5;  
 speedleft = low;  
 delay(time);  
 }  
   
 Reverse(char speed)  
 {  
 P1=0x58;  
 speedright = speed;  
 speedleft = speed+5;  
 delay(time);  
 }  

( watch video tutorial )




Welcome to Tech World

Popular Post

- Copyright © New Hobby Projects - Powered by Blogger - Privacy Policy - Contact Us -