Professional Documents
Culture Documents
INTRODUCTION
1.1 INTRODUCTION TO LINE FOLLING ROBOT
A line follower robot is basically a robot designed to follow a line or path already
predetermined by the user. This line or path may be as simple as a physical white line on
the floor or as complex path marking schemes e.g. embedded lines, magnetic markers and
laser guide markers. In order to detect these specific markers or lines, various sensing
schemes can be employed. These schemes may vary from simple low cost line sensing
circuit to expansive vision systems. The choice of these schemes would be dependent
upon the sensing accuracy and flexibility required. From the industrial point of view, line
following robot has been implemented in semi to fully autonomous plants. In this
environment, these robots functions as materials carrier to deliver products from one
manufacturing point to another where rail, conveyor and gantry solutions are not
possible. Apart from line following capabilities, these robots should also have the
capability to navigate junctions and decide on which junction to turn and which junction
ignore. This would require the robot to have 90 degree turn and also junction counting
capabilities. To add on to the complexity of the problem, sensor positioning also plays a
role in optimizing the robots performance for the tasks mentioned earlier.
Line-following robots with pick- and- placement capabilities are commonly used in
manufacturing plants. These move on a specified path to pick the components from
specified locations and place them on desired locations. Basically, a line-following robot
is a self-operating robot that detects and follows a line drawn on the floor. The path to be
taken is indicated by a white line on a black surface. The control system used must sense
the line and man oeuvre the robot to stay on course while constantly correcting the wrong
moves using feedback mechanism, thus forming a simple yet effective closed- loop
system.
ADVANTAGES
Defense applications.
Cost effective.
Simplicity of building.
DISADVANTAGES
Line following robot follows a black line about 1 or 2 inches in width on a white
surface.
Line tracing robots are simple robots with an additional sensors placed on them.
It always needs a path to run either white or black since the IR rays should reflect
APPLICATIONS:
Industrial applications.
Home applications.
Photo Sensor
Array
Crystal
AT89S52
Microcontroller
Reset
circuit
H-Bridge
To all sections
Left
Moto
r
Right
Motor
12 V Lead Acid
Battery
Software
Hardware
ALP
Processor
Peripherals
VB
memory
Etc.,
Software deals with the languages like ALP, C, and VB etc., and Hardware deals with
Processors, Peripherals, and Memory.
Memory: It is used to store data or address.
Peripherals: These are the external devices connected
Processor: It is an IC which is used to perform some task
Applications of embedded systems
Construction industry
Transport
Domestic service
Communications
CHAPTER:2
HARDWARE EXPLANATION
2.1 BASIC HARDWARE
2.1.1 BLOCK DIAGRAM FOR REGULATED POWER SUPPLY
(RPS):
A transformer makes use of Faraday's law and the ferromagnetic properties of an iron
core to efficiently raise or lower AC voltages. It of course cannot increase power so that if
the voltage is raised, the current is proportionally lowered and vice versa.
2.1.2.2Working
A transformer consists of two coils (often called 'windings') linked by an iron core, as
shown in figure below. There is no electrical connection between the coils; instead they
are linked by a magnetic field created in the core.
an induced current flow. The correct term for the induced voltage is 'induced
electromotive force' which is usually abbreviated to induced e.m.f.
The iron core is laminated to prevent 'eddy currents' flowing in the core. These are
currents produced by the alternating magnetic field inducing a small voltage in the core,
just like that induced in the secondary coil. Eddy currents waste power by needlessly
heating up the core but they are reduced to a negligible amount by laminating the iron
because this increases the electrical resistance of the core without affecting its magnetic
properties. Transformers have two great advantages over other methods of changing
voltage:
1. They provide total electrical isolation between the input and output, so they can
be safely used to reduce the high voltage of the mains supply.
2. Almost no power is wasted in a transformer. They have a high efficiency (power
out / power in) of 95% or more.
2.1.2.3 Classification of Transformer
Step-Up Transformer
Step-Down Transformer
2.1.3 Rectifier
The purpose of a rectifier is to convert an AC waveform into a DC waveform
(OR) Rectifier converts AC current or voltages into DC current or voltage. There are two
different rectification circuits, known as 'half-wave' and 'full-wave' rectifiers. Both use
components called diodes to convert AC into DC.
When the AC input is positive, diodes A and B are forward-biased, while diodes C and D
are reverse-biased. When the AC input is negative, the opposite is true - diodes C and D
are forward-biased, while diodes A and B are reverse-biased.
While the full-wave rectifier is an improvement on the half-wave rectifier, its output still
isn't suitable as a power supply for most circuits since the output voltage still varies
between 0V and Vs-1.4V. So, if you put 12V AC in, you will 10.6V DC out.
2.1.4 Capacitor Filter
The capacitor-input filter, also called "Pi" filter due to its shape that looks like the
Greek letter pi, is a type of electronic filter. Filter circuits are used to remove unwanted or
undesired frequencies from a signal.
10
2. The inductor L offers high reactance to the AC component but it offers almost
zero reactance to the DC component. As a result the DC component flows through
the inductor while the AC component is blocked.
3. The capacitor C2 bypasses the AC component which the inductor had failed to
block. As a result only the DC component appears across the load RL.
2.1.5Voltage Regulator
A voltage regulator is an electrical regulator designed to automatically maintain a
constant voltage level. It may use an electromechanical mechanism, or passive or active
electronic components. Depending on the design, it may be used to regulate one or more
AC or DC voltages. There are two types of regulator are they.
Positive Voltage Series (78xx) and
Negative Voltage Series (79xx)
78xx:
78 indicate the positive series and xxindicates the voltage rating. Suppose 7805
produces the maximum 5V.05indicates the regulator output is 5V.
79xx:
78 indicate the negative series and xxindicates the voltage rating. Suppose 7905
produces the maximum -5V.05indicates the regulator output is -5V.
These regulators consists the three pins there are
Pin1: It is used for input pin.
Pin2: This is ground pin for regulator
Pin3: It is used for output pin. Through this pin we get the output.
11
Fig:2.5 Regulator
Vcc
R
P2.0
12
Gnd
Fig:2.6 Interfacing switch with the microcontroller
By reading the pin status, the microcontroller identifies whether the switch is
pressed or not. When the switch is pressed, the corresponding related to this switch press
written in the program will be executed.
8K bytes of Flash,
32 I/O lines,
Watchdog timer,
clock circuitry.
13
In addition, the AT89S52 is designed with static logic for operation down to zero
frequency and supports two software selectable power saving modes.
The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial
port, and interrupt system to continue functioning. The Power-down mode saves the
RAM contents but freezes the oscillator, disabling all other chip functions until the next
interrupt or hardware reset.
14
15
Fig:3.3
16
Supply voltage.
GND
Ground.
Port 0
Port 0 is an 8-bit open drain bidirectional I/O port. As an output port, each pin can sink
eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high
impedance inputs. Port 0 can also be configured to be the multiplexed low order
address/data bus during accesses to external program and data memory. In this mode, P0
has internal pullups. Port 0 also receives the code bytes during Flash programming and
outputs the code bytes during program verification. External pullups are required during
program verification.
Port 1
Port 1 is an 8-bit bidirectional I/O port with internal pullups. The Port 1 output buffers
can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high
by the internal pullups and can be used as inputs. As inputs, Port 1 pins that are externally
being pulled low will source current (IIL) because of the internal pullups. In addition,
P1.0 and P1.1 can be configured to be the timer/counter 2 external count input (P1.0/T2)
and the timer/counter 2 trigger input (P1.1/T2EX), respectively, as shown in the
following table. Port 1 also receives the low-order address bytes during Flash
programming and verification.
17
18
19
PSEN
Program Store Enable (PSEN) is the read strobe to external program memory. When the
AT89S52 is executing code from external program memory, PSEN is activated twice
each machine cycle, except that two PSEN activations are skipped during each access to
external data memory.
EA/VPP
External Access Enable. EA must be strapped to GND in order to enable the device to
fetch code from external program memory locations starting at 0000H up to FFFFH.
Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset.
EA should be strapped to VCC for internal program executions. This pin also receives the
12-volt programming enable voltage (VPP) during Flash programming.
XTAL1
Input to the inverting oscillator amplifier and input to the internal clock operating circuit.
XTAL2
Output from the inverting oscillator amplifier.
20
21
registers occupy addresses 2Fh-7Fh (in total of 80 locations) and does not have any
special purpose or feature.
In case on-chip memory is not enough, it is possible to add two external memory chips
with capacity of 64Kb each. I/O ports P2 and P3 are used for their addressing and data
transmission.
Similar occurs when it is a needed to read some location from external Data Memory.
Addressing is performed in the same way, while reading or writing is performed via
signals which appear on the control outputs RD or WR.
22
23
2.2.4 Addressing
While operating, processor processes data according to the program instructions. Each
instruction consists of two parts. One part describes what should be done and another part
indicates what to use to do it. This later part can be data (binary number) or address
where the data is stored. All 8052 microcontrollers use two ways of addressing depending
on which part of memory should be accessed:
2.2.4.1 Direct Addressing
On direct addressing, a value is obtained from a memory location while the address of
that location is specified in instruction. Only after that, the instruction can process data
(how depends on the type of instruction: addition, subtraction, copy). Obviously, a
number being changed during operating a variable can reside at that specified address.
For example:
Since the address is only one byte in size ( the greatest number is 255), this is how only
the first 255 locations in RAM can be accessed in this case the first half of the basic
RAM is intended to be used freely, while another half is reserved for the SFRs.
2.2.4.2 Indirect Addressing
On indirect addressing, a register which contains address of another register is specified
in the instruction. A value used in operating process resides in that another register. For
example:
Only RAM locations available for use are accessed by indirect addressing (never in the
SFRs). For all latest versions of the microcontrollers with additional memory block
(those 128 locations in Data Memory), this is the only way of accessing them. Simply,
when during operating, the instruction including @ sign is encountered and if the
specified address is higher than 128 (7F hex.), the processor knows that indirect
addressing is used and jumps over memory space reserved for the SFRs.
On indirect addressing, the registers R0, R1 or Stack Pointer are used for specifying 8-bit
addresses. Since only 8 bits are available, it is possible to access only registers of internal
RAM in this way (128 locations in former or 256 locations in latest versions of the
24
25
2.3 IR SECTION:
2.3.1 IR GENERATION
To generate a 36 KHz pulsating infrared is quite easy, more difficult is to receive
and identify this frequency. This is why some companies produce infrared receives, that
contains the filters, decoding circuits and the output shaper, that delivers a square wave,
meaning the existence or not of the 36kHz incoming pulsating infrared.
It means that those 3 dollars small units, have an output pin that goes high (+5V)
when there is a pulsating 36kHz infrared in front of it, and zero volts when there is not
this radiation.
26
27
When the user pushes a button on the hand-held remote, the device is activated and sends
modulated infrared light to transmit the command. The remote separates command data
into packets. Each data packet consists of a 14-bit data word, which is repeated if the user
continues to push the remote button. The data packet structure is as follows:
2 start bits,
1 control bit,
5 address bits,
6 command bits.
The start bits are always logic 1 and intended to calibrate the optical receiver automatic
gain control loop. Next, is the control bit. This bit is inverted each time the user releases
the remote button and is intended to differentiate situations when the user continues to
hold the same button or presses it again. The next 5 bits are the address bits and select the
destination device. A number of devices can use RC5 at the same time. To exclude
possible interference, each must use a different address. The 6 command bits describe the
actual command. As a result, a RC5 transmitter can send the 2048 unique commands. The
transmitter shifts the data word, applies Manchester encoding and passes the created onebit sequence to a control carrier frequency signal amplitude modulator. The amplitude
modulated carrier signal is sent to the optical transmitter, which radiates the infrared
light. In RC5 systems the carrier frequency has been set to 36 kHz. Figure below displays
the RC5 protocol.
The receiver performs the reverse function. The photo detector converts optical
transmission into electric signals, filters it and executes amplitude demodulation. The
receiver output bit stream can be used to decode the RC5 data word. This operation is
done by the microprocessor typically, but complete hardware implementations are present
on the market as well. Single-die optical receivers are being mass produced by a number
of companies such as Siemens, Temic, Sharp, Xiamen Hualian, Japanese Electric and
28
others. Please note that the receiver output is inverted (log. 1 corresponds to illumination
absence).
2.3.2 IR TRANSMITTER:
The IR LED emitting infrared light is put on in the transmitting unit. To generate IR
signal, 555 IC based astable multivibrator is used. Infrared LED is driven through
transistor BC 548.
IC 555 is used to construct an astable multivibrator which has two quasi-stable
states. It generates a square wave of frequency 38 kHz and amplitude 5Volts. It is
required to switch ON the IR LED. The IR transmitter circuit is as shown below:
29
(later acquired by Philips). The original name was the SE555/NE555 and was called
"The IC Time Machine". It is still in wide use, thanks to its ease of use, low price and
good stability. As of 2003, 1 billion units are manufactured every year.
The 555 timer is one of the most popular and versatile integrated circuits ever
produced. It includes 23 transistors, 2 diodes and 16 resistors on a silicon chip installed in
an 8-pin mini dual-in-line package (DIP-8). The 556 is a 14-pin DIP that combines two
555s on a single chip.
30
Output high is about 1.7V less than supply. Output high is capable of sourcing up to
200mA while output low is capable of sinking up to 200mA.
Reset (Pin 4)
This is used to reset the latch and return the output to a low state. The reset is an
overriding function. When not used connect to V+.
Control (Pin 5)
Allows access to the 2/3V+ voltage divider point when the 555 timer is used in voltage
control mode. When not used connect to ground through a 0.01 uF capacitor.
Threshold (Pin 6)
This is an input to the upper comparator.
Discharge (Pin 7)
This is the open collector to Q14.
V+ (Pin 8)
This connects to Vcc and the Philips data book states the ICM7555 CMOS version
operates 3V - 16V DC while the NE555 version is 3V - 16V DC.
Astable mode: Free Running mode: the 555 can operate as an oscillator. Uses
include LED and lamp flashers, pulse generation, logic clocks, tone generation,
security alarms, pulse position modulation, etc.
31
Bistable mode: The 555 can operate as a flip-flop, if the DIS pin is not connected
and no capacitor is used. Uses include bounce free latched switches, etc.
This circuit diagram shows how a 555 timer IC is configured to function as an
32
2.3.3 IR RECEIVER
The TSOP17.. Series are miniaturized receivers for infrared remote control
systems. PIN diode and preamplifier are assembled on lead frame, the epoxy package is
designed as IR filter.
The demodulated output signal can directly be decoded by a microprocessor.
TSOP17.. is the standard IR remote control receiver series, supporting all major
transmission codes.
Features
33
34
35
Fig: 4.4
36
Fig:
4.5(a)
IR
emitter
detector
circuit
fig: 4.5(b) Schematic Diagram for a Single Pair of Infrared Transmitter and
Receiver
37
2.4 LM 324
2.4.1 FEATURES:
2.4.2 DESCRIPTION
These circuits consist of four independent, high gain, internally frequency compensated
operational amplifiers .They operate from a single power supply over a wide range of
voltages. 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.
38
39
40
The geometry of the brushes, commutator contacts, and rotor windings are such that
when power is applied, the polarities of the energized winding and the stator magnet(s)
are misaligned, and the rotor will rotate until it is almost aligned with the stator's field
magnets. As the rotor reaches alignment, the brushes move to the next commutator
contacts, and energize the next winding. Given our example two-pole motor, the rotation
reverses the direction of current through the rotor winding, leading to a "flip" of the
rotor's magnetic field, driving it to continue rotating.
In real life, though, DC motors will always have more than two poles (three is a very
common number). In particular, this avoids "dead spots" in the commutator. You can
imagine how with our example two-pole motor, if the rotor is exactly at the middle of its
rotation (perfectly aligned with the field magnets), it will get "stuck" there. Meanwhile,
with a two-pole motor, there is a moment where the commutator shorts out the power
supply (i.e., both brushes touch both commutator contacts simultaneously). This would
be bad for the power supply, waste energy, and damage motor components as well. Yet
another disadvantage of such a simple motor is that it would exhibit a high amount of
torque "ripple" (the amount of torque it could produce is cyclic with the position of the
rotor).
41
42
But iron core construction also has several disadvantages. The iron armature has a
relatively high inertia which limits motor acceleration. This construction also results in
high winding inductances which limit brush and commutator life.
In small motors, an alternative design is often used which features a 'coreless' armature
winding. This design depends upon the coil wire itself for structural integrity. As a result,
the armature is hollow, and the permanent magnet can be mounted inside the rotor coil.
Coreless DC motors have much lower armature inductance than iron-core motors of
comparable size, extending brush and commutator life.
43
2.6.1 Operation
The H-Bridge arrangement is generally used to reverse the polarity of the motor, but can
also be used to 'brake' the motor, where the motor comes to a sudden stop, as the motors
terminals are shorted, or to let the motor 'free run' to a stop, as the motor is effectively
disconnected from the circuit. The following table summarizes operation.
S1 S2 S3 S4
Result
1 0
0 1
0 0
0 1
Motor brakes
44
Features:
PER CHANNEL
PER CHANNEL
ENABLE FACILITY
OVERTEMPERATURE PROTECTION
DESCRIPTION
The Device is a monolithic integrated high voltage, high current four channel driver
designed to accept standard DTL or TTL logic levels and drive inductive loads (such as
relays solenoides, DC and stepping motors) and switching power transistors. To simplify
use as two bridges each pair of channels is equipped with an enable input. A separate
supply input is provided for the logic, allowing operation at a lower voltage and internal
clamp diodes are included. This device is suitable for use in switching applications at
frequencies up to 5 kHz. The L293D is assembled in a 16 lead plastic package which has
4 center pins connected together and used for heat sinking The L293DD is assembled in a
20 lead surface mount which has 8 center pins connected together and used for heat
sinking.
45
46
CHAPTER:3
WORKING PROCEDURE
3.1 WORKING PROCEDURE
Robotics is an interesting subject to discuss about and in this advanced world Robots are
becoming a part of our life. In this project we are going to discuss about a robot which is
capable of following a line without the help of any external source.
The Embedded Line following robot uses two motors to control rear wheels and the
single front wheel is free. It has 3-infrared sensors on the bottom for detection of black
tracking tape. When the middle sensor detects the black color, this sensor output is given
to the comparator LM324. The output of comparator compares this sensor output with a
reference voltage and gives an output. The output of comparator will be low when it
receives an input from the sensor.
We follow a simple logic to implement this project. As we know that black colour is
capable of absorbing the radiation and white colour or a bright colour reflects the
radiation back. Here we use 3 pairs of IR TX and Rx .The robot uses these IR sensors to
sense the line and the arrangement is made such that sensors face the ground. The output
from the sensors is an analog signal which depends on the amount of light reflected back
and this analog signal is given to the comparator to produce 0s and 1s.
Internally we have an OTP (one time programmable) processor which is used to
control the rotation of the wheels. The rotation of these wheels depends up on the
response from the comparator. Let us assume that when a sensor is on the black line it
reads 0 and when it is on the bright surface it reads 1.
Here we can get three different cases, they are:
1. Straight direction
2. Right curve
3. Left curve
47
Start
48
CHAPTER: 4
SOFTWARE TOOLS
4.1 KEIL SOFTWARE:
Keil compiler is a software used where the machine language code is written and
compiled. After compilation, the machine source code is converted into hex code which
is to be dumped into the microcontroller for further processing. Keil compiler also
supports C language code.
4.2 STEPS TO WRITE AN ASSEMBLY LANGUAGE PROGRAM IN KEIL AND
HOW TO COMPILE IT:
1. Install the Keil Software in the PC in any of the drives.
2. After installation, an icon will be created with the name Keil uVision3. Just
drag this icon onto the desktop so that it becomes easy whenever you try to write
programs in keil.
3. Double click on this icon to start the keil compiler.
4. A page opens with different options in it showing the project workspace at the
leftmost corner side, output window in the bottom and an ash coloured space for
the program to be written.
5. Now to start using the keil, click on the option project.
6. A small window opens showing the options like new project, import project, open
project etc. Click on New project.
7. A small window with the title bar Create new project opens. The window asks
the user to give the project name with which it should be created and the
destination location. The project can be created in any of the drives available. You
can create a new folder and then a new file or can create directly a new file.
49
8. After the file is saved in the given destination location, a window opens where a
list of vendors will be displayed and you have to select the device for the target
you have created.
9. The most widely used vendor is Atmel. So click on Atmel and now the family of
microcontrollers manufactured by Atmel opens. You can select any one of the
microcontrollers according to the requirement.
10. When you click on any one of the microcontrollers, the features of that particular
microcontroller will be displayed on the right side of the page. The most
appropriate microcontroller with which most of the projects can be implemented
is the AT89S52. Click on this microcontroller and have a look at its features. Now
click on OK to select this microcontroller.
11. A small window opens asking whether to copy the startup code into the file you
have created just now. Just click on No to proceed further.
12. Now you can see the TARGET and SOURCE GROUP created in the project
workspace.
13. Now click on File and in that New. A new page opens and you can start
writing program in it.
14. After the program is completed, save it with any name but with the .asm
extension. Save the program in the file you have created earlier.
15. You can notice that after you save the program, the predefined keywords will be
highlighted in bold letters.
16. Now add this file to the target by giving a right click on the source group. A list of
options open and in that select Add files to the source group. Check for this file
where you have saved and add it.
17. Right click on the target and select the first option Options for target. A window
opens with different options like device, target, output etc. First click on target.
18. Since the set frequency of the microcontroller is 11.0592 MHz to interface with
the PC, just enter this frequency value in the Xtal (MHz) text area and put a tick
on the Use on-chip ROM. This is because the program what we write here in the
keil will later be dumped into the microcontroller and will be stored in the inbuilt
ROM in the microcontroller.
50
19. Now click the option Output and give any name to the hex file to be created in
the Name of executable text area and put a tick to the Create HEX file option
present in the same window. The hex file can be created in any of the drives. You
can change the folder by clicking on Select folder for Objects.
20. Now to check whether the program you have written is errorless or not, click on
the icon exactly below the Open file icon which is nothing but Build Target
icon. You can even use the shortcut key F7 to compile the program written.
21. To check for the output, there are several windows like serial window, memory
window, project window etc. Depending on the program you have written, select
the appropriate window to see the output by entering into debug mode.
22. The icon with the letter d indicates the debug mode.
23. Click on this icon and now click on the option View and select the appropriate
window to check for the output.
24. After this is done, click the icon debug again to come out of the debug mode.
25. The hex file created as shown earlier will be dumped into the microcontroller with
the help of another software called Proload.
51
4.3 PROLOAD:
Proload is software which accepts only hex files. Once the machine code is
converted into hex code, that hex code has to be dumped into the microcontroller placed
in the programmer kit and this is done by the Proload. Programmer kit contains a
microcontroller on it other than the one which is to be programmed. This microcontroller
has a program in it written in such a way that it accepts the hex file from the keil
compiler and dumps this hex file into the microcontroller which is to be programmed. As
this programmer kit requires power supply to be operated, this power supply is given
from the power supply circuit designed above. It should be noted that this programmer kit
contains a power supply section in the board itself but in order to switch on that power
supply, a source is required. Thus this is accomplished from the power supply board with
an output of 12volts or from an adapter connected to 230 V AC.
1. Install the Proload Software in the PC.
2. Now connect the Programmer kit to the PC (CPU) through serial cable.
3. Power up the programmer kit from the ac supply through adapter.
4. Now place the microcontroller in the GIF socket provided in the programmer kit.
5. Click on the Proload icon in the PC. A window appears providing the information
like Hardware model, com port, device type, Flash size etc. Click on browse
option to select the hex file to be dumped into the microcontroller and then click
on Auto program to program the microcontroller with that particular hex file.
6. The status of the microcontroller can be seen in the small status window in the
bottom of the page.
7. After this process is completed, remove the microcontroller from the programmer
kit and place it in your system board. Now the system board behaves according to
the program written in the microcontroller.
52
CHAPTER: 5 RESULT
The objective of the line following robot is to follow a line on its given path which is
obtained for which it uses IR sensors which detects the line and sends the information to
LM324 comparator and then to H bridge which controls the working of the wheels.
Microcontroller controls the other operations.
53
CHAPTER :6
CONCLUSION AND FUTURE SCOPE
CONCLUSION:
In this project we have studied and implemented a Line Following Robot using a
Microcontroller for blind people. The programming and interfacing of microcontroller
has been mastered during the implementation.
FUTURE SCOPE:
Smarter versions of line followers are used to deliver mails within office building
and deliver medications in a hospital.
This technology has been suggested for running buses and other mass transit
systems and may end up as a part of autonomous cars navigating the freeway.
REFERENCES:
1. www.howstuffworks.com
2. EMBEDDED SYSTEM BY RAJ KAMAL
3. 8051 MICROCONTROLLER AND EMBEDDED SYSTEMS BY MAZZIDI
4. Magazines-Electronics for you
5. Electrikindia.
6. www.electronic projects.com
54