Você está na página 1de 47




(Submitted By) YOGESH SHARMA Registration No.: - 10805459 Programme & section:- B-tech(ECE) E28T8B54

(Under the guidance of)

KARAN SHARMA Embedded system & Project head

Department of Electronics And Communication

Lovely School of Engineering Lovely Professional University, Phagwara July-December


I hereby declare that the project work entitled LINE FOLLOWING ROBOT is an authentic record of my own work carried out at CETPA INFOTECH PVT. LTD,ROORKEE as requirements of Major Project for the award of degree of Bachelors Degree In Electronic and communication(ECE), Lovely Professional University, Phagwara, during (July to December,2011).

(Signature of student) YOGESH SHARMA 10805459

Date: 15th December 2011

Certified that the above statement made by the student is correct to the best of our knowledge and belief.

All glory and honour to god all mighty who showered his grace on me to make this endeavor a success. There is always a sense of gratitude which one expresses to others for their helpful and needy services they render during all phases of life. I would like to do it as I really wish to express my gratitude towards all those who have been helpful tome in getting this mighty task of Project Report. This one would not be possible without the support, enthusiasm and help from many individuals.

Thanks, as always, goes to Mohammad Rafakat for his supports , ideas and helping me out with my project. It was nice to have you lean on.

Finally, I would like to thank Karan Sharma for his sincere cooperation, support and encouragement to develop this Major Project.

Last but not least, I would like to thank the entire faculty member of Cetpa Infotech for helping to spur out the real me and appreciating me for my work. I still havent gotten to that beach yet, but when i do, it will be so more sweeter.

1. 2. 3. 4. Organisation overview Project Name and Description Profile of the problem Existing System Introduction Exiting design Whats new in the system to be developed? 5. Problem Analysis Product definition Feasibility Analysis 6. Software requirement Analysis Introduction General Description 7. Design Block Diagram Detailed design Flowchart Program code 8. Testing Functional Testing Structural Testing Testing of the Project 9. Project Legacy Current status of project 10. User Manual 11. Bibliography

ORGANIZATION OVERVIEW:What is CETPA? CETPA Infotech Pvt. Ltd. is an ISO 9001:2008 Certified Multinational Organization which deals in the field of Software Development & Embedded Products Development, Placement Consultancy and Engineers Training Programs. CETPA Infotech has combined unparalleled experience, comprehensive capabilities and extensive research, to become one of the premier Training, Development & Consultancy Organization in India and abroad. CETPA is the mission, which is working for the promotion of latest technologies in India and abroad. To achieve our goal, we have made collaboration with a number of institutions and firms. CETPA deals in three different domains, first is education, second is development and third is consultancy. CETPA Education: CETPA Education mainly deals in Engineers Training Programs in latest technologies for Engineering students, corporate and other professionals. Some of the technologies offered for training are .NET, VHDL, Embedded System, Advance Embedded System, CATIA, MATLAB, J2EE, Verilog HDL, Linux, AutoCAD, PCB & Circuit Designing, and Personality & Entrepreneurship Development. CETPA Consultancy: CETPA Consultancy helps to provide jobs for different fields students and professionals. CETPA consultancy was started to provide jobs to CETPA Certified students, who are made technologically strong by CETPA, are well placed by CETPA Consultancy. Hence the fresher trained by us are well absorbed in companies. CETPA Development: CETPA development deals in software as well as embedded production development. In software domains, CETPA offers customized software products, web development, web hosting, search engine optimization and other related products.


This report will outline the design, construction and testing of our line following robot. It will show detailed sections on the design stage and how each individuals tasks came together to make the robot function. The report will stress the difficulties that I have faced throughout the module as well as the changes that we needed to make to achieve a functional product. Aims The aim of this module was to work as a group to design and construct a robot capable of following a BLACK LINE. We will be aiming to improve our knowledge of robotics as well as electronic circuit design and construction. I along with my faculty staff will be working as a group, and thus should improve my skills of working together to achieve goals.

This Project Line Following Autonomous Robot is based on a 8051 microcontroller P89V51RD2 made by Philips.This Robot follows the black line which is drawn over the white surface or it follows the white line which is drawn over the black surface. The infrared sensors are used to sense the line. When the infrared signal falls on the white surface, it gets reflected and if it falls on the black surface, it is not reflected this principle is used to scan the Lines for the Robot.All the above systems are controlled by the Microcontroller. In our project we are using the popular microcontroller P89V51RD2. It is a 40 pin Microcontroller.



What is a line follower?

-Line follower is a machine that can follow a path. The path can be visible like a black line on a white surface (or vice-versa) or it can be invisible like a magnetic field.

Why build a line follower?

Sensing a line and maneuvering the robot to stay on course, while constantly correcting wrong moves using feedback mechanism forms a simple yet effective closed loop system. As a programmer you get an opportunity to teach the robot how to follow the line thus giving it a human-like property of responding to stimuli.

Knowledge of basic digital and analog electronics. (A course on Digital Design and Electronic Devices & Circuits would be helpful) Sheer interest, an innovative brain and perseverance!


Fig. 1 shows block diagram of Automated line following robot.It consist mainly of four parts: SENSORS, COMPARATOR, DECISION MAKING DEVICE, TWO MOTOR DRIVERS. The robot is built using a microcontroller P89V51RD2, Motor driver L293D, operational amplifier LM355, IR pair sensors and few discrete components. In the circuit sensors are used to dectect the black strip over the white background. The sensor output is given to the microcontroller which takes decision and gives appropriate command to the motor driver L293D so as to move the motor accordingly.

SENSOR: The sensor senses the light reflected from the surface and feed the output to
the comparator.When the sensor is above the white background the light falling from the source reflects to the sensor, and when the sensor is above the black background light from the source doesnt reflect to it.Sensor senses the reflected light to give an output, which is fed to the comparator.

COMPARATOR: Comparator compares the analogue input from the sensor with a fixed
reference voltage. If this voltage is greater than the reference voltage,comparator outputs a low voltage,and if it smaller the comparator generates a high voltage that act as an input for decision-making device(microcontroller).

MICROCONTROLLER: The micro controller is programmed to make the robot

move forward, turn left or right based on input coming from the comparator. Output of the microcontroller is fed to the motor driver. The Microcontroller P89V51RD2 is used to control the motors. It gets the signals from the infrared sensors and it drives the motors according to the sensor inputs. Two gear motors are used to drive the robot.

MOTOR DRIVER: The current supplied by the microcontroller to drive the motor is
small. Therefore motor driver IC is used.It provides sufficient current to drive the motor. It is clear that the drive train of this robot is differential type, meaning the rear wheels are responsible of moving the robot forward and backward, but are also used to turn the robot in any required direction depending the difference of speed between the right and left wheels. The first thing that need some explanation is the fact that there are only 2 wheels, Well, while not being the best thing to do, a caster wheel can sometimes be replaced with a skid, when the robot weight and size are not important, and when the robot is designed for indoor environment, where the robot can move on relatively smooth surfaces, where friction wont be a serious problem. Obviously the line following robot will need to see the line, therefore we require a light detector of some sort. We also would like it if the line following robot could do this regardless of the ambient conditions (is the room dark or light? is it lit by sunlight or artificial light?). So the robot will also need its own illumination source. The weapon of choice here will be Infra Red (IR) light.

To make this easy for ourselves the light only needs to be constant..if a white line is present then it will reflect a lot of IR from our source. If the line is black then we see the opposite effect. The robot uses IR sensors to sense the line, an array of 8 IR LEDs (Tx) and sensors (Rx), facing the ground has been used in this setup. The output of the sensors is an analog signal which depends on the amount of light reflected back, this analog signal is given to the comparator to produce 0s and 1s which are then fed to the microcontroller.




Sensor Array

Starting from the center, the sensors on the left are named L1, L2, L3, L4 and those on the right are named R1, R2, R3, R4. Let us assume that when a sensor is on the line it reads 0 and when it is off the line it reads 1 The microcontroller decides the next move according to the algorithm given below which tries to position the robot such that L1 and R1 both read 0 and the rest read 1.




Desired State L1=R1=0, and Rest=1

1. L= leftmost sensor which reads 0; R= rightmost sensor which reads 0. If no sensor on Left (or Right) is 0 then L (or R) equals 0;



Right Here L=3 R=0

Left Here L=2 R=4



2. If all sensors read 1 go to step 3, else, If L>R Move Left If L<R Move Right If L=R Move Forward Goto step 4

3. Move Clockwise if line was last seen on Right Move Counter Clockwise if line was last seen on Left Repeat step 3 till line is found. 4. Goto step 1.



$mod51 org 0000H mov p1,#0ffh mov a,p1 anl a,#0fh cjne a,#11111111b,h1 mov p2,#00001001b sjmp h

h1: mov a,p1 anl a,#0fh cjne a,#11111110b,h2 mov p2,#00001010b sjmp h

h2: mov a,p1 anl a,#0fh cjne a,#11111101b,h3 mov p2,#00000110b sjmp h

h3: mov a,p1 anl a,#0fh cjne a,#11111000b,h4 mov p2,#00000001b sjmp h3

h4: mov a,p1 anl a,#0fh cjne a,#11111111b,h5 mov p2,#00000000b sjmp h

h5: mov a,p1 anl a,#0fh cjne a,#00001001b,h6 mov p2,#00001000b sjmp h

h6: mov a,p1 anl a,#0fh

cjne a,#00000001b,h7 mov p2,#00000001b sjmp h

h7: mov a,p1 anl a,#0fh cjne a,#00001110b,h8 mov p2,#00000101b sjmp h

h8: mov a,p1 anl a,#0fh cjne a,#00001110b,h9 mov p2,#00000101b sjmp h

h9: mov a,p1 anl a,#0fh cjne a,#00001110b,h10 mov p2,#00000101b sjmp h

h10: mov a,p1 anl a,#0fh cjne a,#00001110b,h11 mov p2,#00000101b ljmp h

h11: end



REQUIREMENTS: - Works on Windows 2000, XP, Vista and 15Mb of disk space is required. Topview Simulator gives an excellent simulation environment for the Industry's most popular 8 bit microcontroller family, MCS 51. It gives all the required facilities to enable the system designers to start projects right from the scratch and finish them with ease and confidence. Topview Simulator is the total solution giving many states of art features meeting the needs of the designers possessing different levels of expertise. If you are a beginner, then you can easily learn about 8031 based embedded solutions without any hardware. If you are an experienced designer, you may find most of the required facilities built in the simulator that enable you to complete your next project without waiting for the target hardware. The simulator is designed by the active feedback from the demanding designers and when you use this in your next 8031 project, you are assured of definite savings in time and increase in productivity. Device Selection - A wide range of device selection, including generic 8031 devices and Atmel's AT89CXX series 8031 microcontrollers. Program Editing - Powerful editing feature for generating your programs and the facility to call an external assembler to process input programs. Program Execution - A variety of program execution options include Single Stroke full speed execution, Single Step, Step Over and Break Point execution modes give you total control over the target program. Clear View updates all the windows with the correct and latest data and it is a convenient help during your debugging operations. we may find how this Top view Simulator simplifies the most difficult operation of the program development, debugging, into a most simple task.

2.Flash Magic
Flash Magic is the standard tool for programming NXP microcontrollers.Flash Magic is an application developed by Embedded Systems Academy to allow you to easily access the features of a microcontroller device. With this program you can erase individual blocks or the entire Flash memory of the microcontroller.

This application is very useful for those who work in the electronics field. The main window of the program is composed of five sections where you can find the most common functions in order to program a microcontroller device. Using the Communications section you will be able to choose the way a specific device connects to your computer. Select the COM port to be used and the baud rate. It is recommended that you choose a low baud rate first and increase it afterwards. This way you will determine the highest speed with which your system works. In order to select which parts of the memory to erase, choose from the items in the Erase section. The third section is optional. It offers you the possibility to program a HEX file. In the next section you will be able to find different programming options, such as verify after programming, gen block checksums, execute and others. When youre done, click the Start button that can be found in the Start section. The program will start the device, and you will able to see the progress of the operations at the bottom of the main window. Using Flash Magic, you are able to perform different operations to a microcontroller device, operations like erasing, programming and reading the flash memory, modifying the Boot Vector, performing a blank check on a section of the Flash memory and many others.

REQUIREMENTS:Flash Magic works on Windows 2000, XP, Vista and 7. 10Mb of disk space is required.




The picture above shows the actual circuitary that i designed for my robot. All connections are clearly visible,it has a power supply circuit for power in the circuit a bridge rectifier is being used using 4 diodes. It also has the motor driven I.C known as L293D. RS232 is being used for serial communication through P.C and hence MAX232 is used to make RS232 compatible with 8051 microcontroller as RS232 pins are not compatible with 8051. In this module a Philips microcontroller is preffered instead of Atmel as because it does not require any burner to burn programs and hence decreasing its cost of production and complexity.A crystal oscillator of 11.0592 MHz is used to facilitate serial communication.

Product design

The existing line follower can be modified or improved upon to perform multiple task including obstacle detection,colour sensing etc.

Prototype of the module shown with 4 sensors and a castor wheel.


The P89V51RD2 is a 80C51 microcontroller with 64 kB Flash and 1024 bytes of data RAM. A key feature of the P89V51RD2 is its X2 mode option. The design engineer can choose to run the application with the conventional 80C51 clock rate (12 clocks per machine cycle) or select the X2 mode (6 clocks per machine cycle) to achieve twice the throughput at the same clock frequency. Another way to benefit from this feature is to keep the same performance by reducing the clock frequency by half, thus dramatically reducing the EMI.

The Flash program memory supports both parallel programming and in serial In-System Programming (ISP). Parallel programming mode offers gang-programming at high speed, reducing programming costs and time to market. ISP allows a device to be reprogrammed in the end product under software control. The capability to field/update the application firmware makes a wide range of applications possible.

80C51 Central Processing Unit 5 V Operating voltage from 0 MHz to 40 MHz 64 kB of on-chip Flash user code memory with ISP (In-System Programming) and IAP (InApplication Programming) Supports 12-clock (default) or 6-clock mode selection via software or ISP SPI (Serial Peripheral Interface) and enhanced UART PCA (Programmable Counter Array) with PWM and Capture/Compare functions Four 8-bit I/O ports with three high-current Port 1 pins (16 mA each) Three 16-bit timers/counters Eight interrupt sources with four priority levels TTL- and CMOS-compatible logic levels DIP40 packages



PIN DESCRIPTION Port 0: Port 0 is an 8-bit open drain bi-directional I/O port. Port 0 pins that have 1s written to them oat, and in this state can be used as high-impedance inputs. Port 0 is also the multiplexed low-order address and data bus during accesses to external code and data memory. In this application, it uses strong internalpull-ups when transitioning to 1s. Port 0 also receives the code bytes during the external host mode programming, and outputs the code bytes during the external host mode verication. External pull-ups are required during program verication or as a general purpose I/O port.

Port 1: Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 pins are pulled high by the internal pull-ups when 1s are written to them and can be used as inputs in this state. As inputs, Port 1 pins that are externally pulled LOW will source current (IIL) because of the internal pull-ups. P1.5, P1.6, P1.7 have high current drive of 16 mA. Port 1 also receives the low-order address bytes during the external host mode programming and verication.

Port 2: Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. Port 2 pins are pulled HIGH by the internal pull-ups when 1s are written to them and can be used as inputs in this state. As inputs, Port 2 pins that are externally pulled LOW will source current (IIL) because of the internal pull-ups. Port 2 sends the high-order address byte during fetches from external program memory and during accesses to external Data Memory that use 16-bit address (MOVX@DPTR). In this application, it uses strong internal pull-ups when transitioning to 1s. Port 2 also receives some control signals and a partial of high-order address bits duringthe external host mode programming and verication.

Port 3: Port 3 is an 8-bit bidirectional I/O port withinternal pull-ups. Port 3 pins are pulled HIGH by the internal pull-ups when 1s are written to them and can be used as inputs in this state. As inputs, Port 3 pins that are externally pulled LOW will source current (IIL) because of the internal pull-ups. Port 3 also receives some control signals and a partial of high-order address bits during the external host mode programming and verication.

External Access Enable: EA must be connected to VSS in order to enable the device to fetch code from the external program memory. EA must be strapped to VDD for internal program execution. However, Security lock level 4 will disable EA, and program execution is only possible from internal program memory. The EA pin can tolerate a high voltage of 12 V.

Address Latch Enable: ALE is the output signal for latching the low byte of the address during an access to external memory. This pin is also the programmingpulse input (PROG) for ash programming. Normally the ALE is emitted at a constant rate of 16 the crystal frequency and can be used for external timing and clocking. One ALE pulse is skipped during each access to external data memory. However, if AO is set to 1, ALE is disabled.

In-System Programming (ISP) In-System Programming is performed without removing the microcontroller from the system. The In-System Programming facility consists of a series of internal hardware resources coupled with internal rmware to facilitate remote programming of the P89V51RD2 through the serial port. This rmware is provided by Philips and embedded within each P89V51RD2 device. The Philips In-System Programming facility has made in-circuit programming in an embedded application possible with a minimum of additional expense in components and circuit board area. The ISP function uses ve pins (VDD,VSS, TxD, RxD, and RST). Only a small connector needs to be available to interface your application to an external circuit in order to use this feature.


The main frame of the robot, the body which holds the motor, wheels and the batteries. We need to take care of the weight of the robot. In a robot with limited power supply (i.e. battery) the power to weight ratio has to be kept maximum. This can be done by limiting the weight of the chassis. There are many kinds of materials from which the copper plated boards are made. Try to choose a relatively thick one for this chassis, to be able to bear the weight of the motors and the batteries, all concentrated in four points, where the screws are fixed. Chassis can be made out of: 1. Wood (using right angles to attach motors, drilling and attaching the front wheel is easy) 2. Plastic (not easily available, but if found makes a very light chassis). 3. Metal (Most common chassis available, not recommended because the motors can get misaligned very easily resulting in poor turning). 4. Duct tape (alone can be used to attach the motors to each other, makes a fairly sturdy yet light chassis)


LM358 is consists of four independent, high gain, internally frequency compensated operational amplifierswhich were designed specifically to operate from a single power supply over a wide range of voltage.Operation from split power supplies is also possible and the low power supply current drain is independent of the magnitude of the power supply voltage. Application areas include transducer amplifier, DC gain blocks and all the conventional OP amp circuits, which now can be easily implemented in single power supply systems.

FEATURES Internally frequency compensated for unity gain Large DC voltage gain : 100dB Wide power supply range : 3V~32V(or1.5V~16V) Input common-mode voltage range includes ground Large output voltage swing : 0V DC to VCC-1.5V DC Power drain suitable for battery operation



A high quality low cost DC geared motor is being used. It contains Brass gears and steel pinions to ensure longer life and better wear and tear properties. The gears are fixed on hardened steel spindles polished to a mirror finish. These spindles rotate between bronze plates which ensures silent running. The output shaft rotates in a sintered bushing. The whole assembly is covered with a plastic ring. All the bearings are permanently lubricated and therefore require no maintenance. The motor is screwed to the gear box from inside.


Total length: 46mm Motor diameter: 36mm Motor length: 25mm DC supply: 4 to 12V RPM: 100 Brush type: Precious metal Torque: 0.25 to 7Kg/cm

Selection of a geared motor:

A geared motor is selected according to the required usable power output.A geared motor must have usable power equal to or greater than the power required to rotate the load. corresponding to the required operating conditions (torque and speed output) is higher than the nominal torque versus speed curve of the geared motor. The required torque output of a geared motor must be within its maximum recommended torque for continuous duty.

DIFFERENCE BETWEEN GEAR MOTOR AND COMMON D.C MOTOR Common DC motor speed generally higher torque less the torque required for smaller occasions. DC gear motor, the gear motor, is based on the common DC motor, coupled with matching gear box. Gearbox's role is to provide a lower speed, the larger the torque. Meanwhile, a different gear ratio gear box can provide different speed and torque. This greatly improves the DC motor in the automation industry usage. By the power supply type: can be divided into DC and AC motor. DC motor according to the structure and working principle can be divided: brushless DC motors and brush DC motors. The brush DC motor can be divided: permanent magnet DC motor and electromagnetic DC motor.

5. L293D

The L293D are quadruple high-current half-H drivers. The L293D is designed to provide bidirectional drive currents of up to 600-mA at voltages from 4.5 V to 36 V. The device is designed to drive inductive loads such as relays, solenoids, dc and bipolar stepping motors, as well as other high-current/high-voltage loads in positive-supply applications. All inputs are TTL compatible. Each output is a complete totem-pole drive circuit, with a Darlington transistor sink and a pseudo-Darlington source. Drivers are enabled in pairs, with drivers 1 and 2 enabled by 1,2EN and drivers 3 and 4 enabled by 3,4EN. When an enable input is high, the associated drivers are enabled and their outputs are active and in phase with their inputs. When the enable input is low, those drivers are disabled and their outputs are off and in the high-impedance state. With the proper data inputs, each pair of drivers forms a full-H (or bridge) reversible drive suitable for solenoid or motor applications. A VCC1 terminal, separate from VCC2, is provided for the logic inputs to minimize device power dissipation. L293D are characterized for operation from 0C to 70C.

Operating L293D:

Using the L293D motor driver, makes controlling a motor as simple as operating a buffer gate IC. It totally isolates the TTL logic inputs from the high current outputs.Putting a logic 1 on the pin In1 will make Out1 pin go to Vpower (36 Volts MAX.), while a logic 0 will make it go to 0V. Each couple of channels can be enabled and disabled using E1 and E2 pins. When disabled a channel provide a very high impedance (resistance) to the motor, exactly as if the motor wasn't connected to the driver IC at all, which makes this feature very useful for PWM speed control.

Photo diode:

A photodiode is a type of photodetector capable of converting light into either current or voltage, depending upon the mode of operation. The common, traditional solar cell used to generate electric solar power is a large Photosensors of all types may be used to respond to incident light, or to a source of light which is part of the the same circuit or system. A photodiode is often combined into a single component with an emitter of light, usually a light-emitting diode (LED), either to detect the presence of a mechanical obstruction to the beam (slotted optical switch), or to couple two digital or analog circuits while maintaining extremely high electrical isolation between them, often for safety (optocoupler).

Photodiodes are often used for accurate measurement of light intensity in science and industry. They generally have a more linear response than photoconductors. Photodiodes are similar to regular semiconductor diodes except that they may be either exposed (to detect vacuum UV or X-rays) or packaged with a window or optical fiber connection to allow light to reach the sensitive part of the device. Many diodes designed for use specifically as a photodiode use a PIN junction rather than a p-n junction, to increase the speed of response. A photodiode is designed to operate in reverse bias.

The voltage regulator regulates the supply if the line voltage increases or decreases. The series 78xx regulators provide fixed regulated voltages from 5 to 24 volts. An unregulated input voltage is applied at the IC Input pin i.e. pin 1 which is filtered by capacitor. The out terminal of the IC i.e. pin 3 provides a regular output. The third terminal is connected to ground. While the input voltage may vary over some permissible voltage range, and the output voltage remains constant within specified voltage variation limit. The 78xx ICs are positive voltage regulators whereas 79xx ICs are negative voltage regulators. These voltage regulators are integrated circuits designed as fixed voltage regulators for a

wide variety of applications. These regulators employ current limiting, thermal shutdown and safe area compensation. With adequate heat sinking they can deliver output currents in excess of 1 A. These regulators have internal thermal overload protection. It uses output transistor safe area compensation and the output voltage offered is in 2% and 4% tolerance.


An IR LED is a special purpose LED when it is forward bias then electron and hole recombination take place and energy is radiated in the form of photons. Made of gallium arsenide or aluminium gallium arsenide. An IR LED, also known as IR transmitter, is a special purpose LED that transmits infrared rays in the range of 760 nm wavelength. They, along with IR receivers, are commonly used as sensors. The appearance is same as a common LED. Since the human eye cannot see the infrared radiations, it is not possible for a person to identify whether the IR LED is working or not, unlike a common LED. To overcome this problem, the camera on a cellphone can be used. The camera can show us the IR rays being emanated from the IR LED in a circuit.

Object Detection using IR light:

The basic idea is to send infra red light through IR-LEDs, which is then reflected by any object in front of the sensor. We use an IR emitter LED which emits infrared radiations. The radiations are reflected by any object or obstacle in its path. IR has a property that it is reflected by the white line and absorbed by the black surface. Using this principle we construct a white line follower robot. A white line is drawn on a black surface. The emitted IR is thus reflected back when sensor comes over a white surface; however no IR is reflected back in case of black surface. The reflected IR is detected by an IR receiver photodiode. This is an electrical property of receiver photodiode which is the fact that a photodiode produce a voltage difference across its leads when it is subjected to light. When the IR is reflected by white surface the voltage drop across the cathode of the receiver LED decreases. We are going to use a very original technique: we are going to use another IR-LED, to detect the IR light that was emitted from another LED of the exact same type! As if it was a photocell, but with much lower output current. In other words, the voltage generated by the LED's can't be - in any way - used to generate electrical power from light, it can barely be detected. Thats why as you will notice in the schematic, we are going to use an Op-Amp (operational Amplifier) to accurately detect very small voltage changes.


FUNCTIONAL TESTING:One thing Ive learned about electronics and programming is that you never want to put anything totally together without finding ways to test and make sure everything is going well throughout the process. So, I decided to set up one sensor and verify that everything works as expected before .My first task is to wire up one sensor on this board to test the circuit parameters. Next i took a piece of white paper and filled in a inch black line to act as my reflector. I then held the sensor pointing down and slowly passed it back and forth across the black line to see the voltage change.

With the sensor held more than an inch above the paper, I recorded a fairly constant voltage around 4.2 volts. This confirmed that the switch was open or that the phototransistor was not getting any light (except perhaps some ambient light in the room), confirming the high voltage reading for no reflection. With the sensor held about inch above the paper, the change was dramatic. Over the white paper I got consistent readings of about 0.12 volts, confirming that the phototransistor was at saturation and conducting at a maximum. As the sensor was moved slowly over the black line, the voltage jumped nicely to about 4.12 volts, confirming that the black line was not reflecting much light back to the phototransistor, exactly as expected.

I experimented with several heights and found that the sensors worked best (shifting from about 0.12v to 4.1v and back because of the reflectivity of the paper and the line) between inch and inch from the ground/paper. Since there could also be variations depending on the light conditions in other rooms,

I decided to make sure I can mount the array in such a way that I could use spacers or otherwise adjust the height of the array from in to inch and maybe a little more. I wanted the maximum number of sensors I could get. In my Google travels, Id often seen 6 or 7

sensors used, so that would be my minimum. Lastly, the ports on most microcontrollers have a practical limit of eight, since many ports are numbered something like D0 through D7. Although Ive fooled with 10 bit DACs and other odd combinations of bits from 9 to 15, it was clear to me that more than eight of any inputs would require an increased level of complexity. So until I determine that much more complexity is warranted, I decided on 8 sensors. Since 8 sensors also fit conveniently on the standard small perf boards like I was using, that clinched it.

The motors were and probably will be a big challenge for me. My Internet research had shown that David Cook had won contests and achieved fame by breaking the one meter per second barrier in robot line following speed. So the motor part seemed simple. Find a motor that will do better than one meter per second and install it. The more I learned, the more confused I got. I downloaded about 15 articles discussing motors, torque, stall torque and all the rest. Good theory, but not one piece of advice I could convert into What motor do I purchase? I did discover that I probably wanted a gearbox motor.

Structural Testing:1. The very first step of functional testing was to see that the ground pins and properly connected. 2. Secondly check for the loose connections if any. 3. Structural testing involves testing the module that whether the robot detects follows the line that is drawn on the floor correctly. and the vcc is

4. We should also ensure and check the speed of the motor, otherwise if the speed is more there may be probabilities that our Robot would be distracted out of line. 5. While testing it should also be kept in mind that the room in which the test is to be performed is well isolated from external light sources.

If we implement a robotic arm along with the line follower then it can be used to pick and place the objects in its way and can be very useful in our day to day life.

In todays world line follower find a wide range of applications such as Industrial automated equipments carriers. Automated cars. Tour guides in museums and other similar applications. It can act as maze solver. Basically it follows a line, therefore it can be used in mining where the robots are used to find the way out of the mine. Apparatus to control the automatic placing of material along a junction between surfaces with reference to the form and position of the junction including a tool controllably movable to deposit material progressivelyalong the junction in response to a control signal. An imager linked to the movement of the tool to produce an image of the surfaces. By modifying the position of the sensors, same principle can be used in obstacle avoidance and edge detection.

Choice of line is made in the hardware abstraction and cannot be changed by software. Calibaration is difficult, and is not easy to set a perfect value. Steering mechanism is not easily implemented in huge vehicles,and is impossible for non-electric vehicles(petrol powered). Few curves are not made efficiently,and must be avoided. Lack of four wheel drive, makes it not suitable for rough terrain. Lack of speed control makes the robot unstable at times.

Possible Improvements
Software control of the line type(Dark or Light),to make automatic detection possible. Obstacle detecting sensors to avoid physical obstacles and continue on the line. Distance sensing and position logging and transmission. Use of hysteresis in sensor circuit using LM335. Use of ADC so that the exact position of the line can be interpolated. USE of wheel chair or three wheel drive to reduce traction. General improvements like using a low dropout voltage regulator,lighter chassis etc. This can reduce power consumption to a much lower level. SONAR can be incorporated into the circuit to calculate distance from obstacle in its path. The overall efficiency of the Robot can be enhanced by increasing the number of sensors.

This is the first step of making intelligent robots capable of making their own decisions on the situations provided. The design, implementation and testing of a working project proved to be very challenging. The primary objective of detecting and following a specific coloured line proved to be a great learning experience, as we did not have prior hands-on experience in Embedded Systems. The difficulties in project management as well as those brought to light during experimentation provided an opportunity to work on problem-solving abilities. Despite many problems encountered, I found this experience a rewarding and educational one. This project can have many uses in practical fields, from teenagers toy cars to robots working in industries and even in wars. It can be further improved to have more decision taking capabilities by employing varied types of sensors and thus could be used in big industries for different applications.