Professional Documents
Culture Documents
PROJECT Water Level
PROJECT Water Level
PROJECT Water Level
Controller
Submitted by
Munnaluri Leela Bharathi Likhitha
(18KN1A0435)
Bondili Anvitha Nallamopu Deepthi Shaik Baba Khan
(18KN1A0407) (18KN1A0437) (18KN1A0451)
ABSTRACT:
In this project, we are going to design a water level sensor device that is able to detect
and control the level of water in a certain water tank or a similar water storage system. The
system firstly senses the amount of water available in the tank by the level detector sensor
and then adjusts the state of the water pump in accordance to the water level information.
This electronic design achieves automation through a relay-based motor pump driving circuit
are part of this integrated design. The water pump automatically turns on and starts filling the
tank when the water level is empty or level one and turned-off and stop filling the tank when
water level reaches maximum-level five; furthermore, the water pump will remain in its
standstill state from level four down to two when the level is decreasing due to water
consumption.
CHAPTER-1
INTRODUCTION
INTRODUCTION
Existing System:
A water level detector tells the control panel to take necessary actions. This work is to be
done manually. Even though we use buzzer that is just useful for indication. Using of buzzer
does not reduce electric power instead physical work is required to OFF the switch. Whereas
in water level controller just sensors are enough to fulfill all the requirements.
CHAPTER-2
PROPOSED SYSTEM
Block Diagram:
LED-1
Power supply LED-2
LED-3
LED-4
AT89C51 LED-5
AT89C51
Micro Controller
full Relay
3/4
1/2 Overhead
tank Motor
1/4
Sump Tank
Procedure to go about the logic : The level sensor probes for the overhead tank are interfaced
to the port 2 of the microcontroller through transistors. Have a look at the sensor probe
arrangement for the overhead tank in Fig1. A positive voltage supply probe goes to the down bottom
of the tank. The probes for sensing 1/4, 1/2, 3/4 and FULL levels are placed with equal spacing one
by one above the bottom positive probe. Consider the topmost (full level) probe, its other end is
connected to the base of transistor Q4 through resistor R16. Whenever water rises to the full level
current flows into the base of transistor Q4 which makes it ON and so its collector voltage goes low.
The collector of Q4 is connected to P2.4 and a low voltage at P2.4 means the overhead tank is not
FULL. When water level goes below the full level probe, the base of Q2 becomes open making it OFF.
Now its collector voltage goes high and high at P2.4 means the tank is not full. The same applies to
other sensor probes (3/4, 1/2, 1/4) and the microprocessor understands the current level by
scanning the port pins P2.4 ,P2.5, P2.6 and P2.7. All these port pin are high (all sensor probes are
open) means the tank is empty. Port pin P0.5 is used to control the pump. Whenever it is required
start pumping, the controller makes P0.5 low which makes transistor Q6 ON which in turn activates
the relay K1 that switches the pump. Also the LED d6 glows indicating the motor is ON. LED D7 is the
low sump indicator. When the water level in the sump tank goes low, the controller makes P0.7 low
which makes LED D7 to glow. The circuit diagram of the water level controller is shown in the figure
below
Hardware Required:
Power Supply(+5V)
Relay(Dual Pole Double Throw)
Motor(DC)
AT89S52 Micro Controller
Software Required:
Advantages:
Limitation:
Water level controls need to be replaced every 3 years due to formation of rust.
Applications:
MICRO CONTROLLERS
• They have instructions to set and clear individual bits and perform bit operations.
• They have instructions for input/output operations, event timing, enabling and setting priority
levels for interrupts caused by external stimuli.
AT89S52:
Features:
• 3 16-bit Timer/Counters
• Watchdog Timer
• Power-off Flag
Or hardware reset.
VCC
Supply voltage.
GND
Ground.
Port 0
Port 0 is an 8-bit open drain bi-directional I/O port. As an output port, each pin can
sink eight TTL inputs. When 1sare 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 pull-ups. Port 0 also receives the code bytes during Flash programming
and outputs the code bytes during program verification. External pull-ups are required
during program verification
Port 1
Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. 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
pull-ups and can be used as inputs. In addition, P1.0 and P1.1 can be configured to be the
timer/counter 2 external count input
Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output
buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are
pulled high by the internal pull-ups and can be used as inputs. Port 2 emits the high-
order address byte during fetches from external program memory and during accesses
to external data memory that use 16-bit addresses (MOVX @DPTR). In this application,
Port 2 uses strong internal pull-ups when emitting 1s. During accesses to external data
memory that use 8-bit addresses (MOVX @ RI), Port 2emits the contents of the P2
Special Function Register. Port 2 also receives the high-order address bits and some
control signals during Flash programming and verification.
Port 3
Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers can
sink/source four TTL inputs. When 1s are writt 1s are written to Port 3 pins, they are pulled high by
the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled
low will source current (IIL) because of the pull-ups. Port 3 also serves the functions of various
special features of the AT89S52, as shown in the following table.
And verification.
RST
Reset input. A high on this pin for two machine cycles while the oscillator is running
resets the device.
ALE/PROG
Address Latch Enable (ALE) is an output pulse for latching the low byte of the address during
accesses to external memory. This pin is also the program pulse input (PROG) during Flash
programming. In normal operation, ALE is emitted at a constant rate of1/6 the oscillator frequency
and may be used for external timing or clocking purposes. Note, however, that one ALE pulse is
skipped during each access to external data Memory. If desired, ALE operation can be disabled by
setting bit 0 of SFR location
8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise,
the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the micro
controller is in external execution mode.
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. A should be strapped to VCC for internal program executions. This pin also
receives the 12-voltProgramming enables voltage (VPP) during Flash programming.
XTAL1
Input to the inverting oscillator amplifier and input to the internal clock operating
circuit.
XTAL2
Oscillator Characteristics
XTAL1 and XTAL2 are the input and output, respectively, of an inverting
amplifier that can be configured for use as an on-chip oscillator, as shown in Figure 1.
Either a quartz crystal or ceramic resonator may be used. To drive the device from an
External clock source, XTAL2 should be left unconnected while XTAL1 is driven, as
shown in Figure 2.
Figure 1. Oscillator Connections
Special Function Registers (SFR s) are areas of memory that control specific
functionality of the 8051 processor. For example, four SFRs permit access to the 8051’s
32 input/output lines. Another SFR allows the user to set the serial baud rate, control
and access timers, and configure the 8051’s interrupt system.
The “R” registers: The “R” registers are a set of eight registers that are named R0, R1.
Etc up to R7. These registers are used as auxiliary registers in many operations.
The “B” registers: The “B” register is very similar to the accumulator in the sense that
it may hold an 8-bit (1-byte) value. Two only uses the “B” register 8051 instructions:
MUL AB and DIV AB.
The Data Pointer: The Data pointer (DPTR) is the 8051’s only user accessible 16-bit
(2Bytes) register. The accumulator, “R” registers are all 1-Byte values. DPTR, as the
name suggests, is used to point to data. It is used by a number of commands, which
allow the 8051 to access external memory.
The program counter (PC) is a 2-byte address, which tells the 8051 where the next
instruction to execute is found in memory. The stack pointer like all registers except DPTR and PC
may hold an 8-bit (1-Byte) value
ADDRESSING MODES:
An “addressing mode” refers that you are addressing a given memory location. In
summary, the addressing modes are as follows, with an example of each:
Indexed Addressing
Immediate Addressing:
MOV A, #20H:
Direct Addressing:
For example:
MOV A, 30h
This instruction will read the data out of internal RAM address 30(hexadecimal)
and store it in the Accumulator. Direct addressing is generally fast since, although the
value to be loaded isn’t included in the instruction, it is quickly accessible since it is
stored in the 8051’s internal RAM. It is also much more flexible than Immediate
Addressing since the value to be loaded is whatever is found at the given address
which may variable.
Also it is important to note that when using direct addressing any instruction
that refers to an address between 00h and 7Fh is referring to the SFR control registers
that control the 8051 micro controller itself.
Indirect Addressing:
MOV A, @R0:
This instruction causes the 8051 to analyze Special Function Register (SFR)
Memory:
Special Function Registers (SFRs) are areas of memory that control specific
functionality of the 8051 processor. For example, four SFRs permit access to the 8051’s
32 input/output lines. Another SFR allows the user to set the serial baud rate, control
and access timers, and configure the 8051’s interrupt system.
Timer 2 Registers:
Control and status bits are contained in registers T2CON and T2MOD for Timer
2 . The register pair (RCAP2H , RCAP2L) are the Capture / Reload registers for Timer
2 in 16-bit capture mode or 16-bit auto-reload mode .
Interrupt Registers:
The individual interrupt enable bits are in the IE registe . Two priorities can be set
for each of the six interrupt sources in the IP register.
Timer 2
Timer 2 is a 16-bit Timer / Counter that can operate as either a timer or an event
counter. The type of operation is selected by bit C/T2 in
the SFR T2CON . Timer 2 has three operating Modes : capture , auto-reload ( up or
down Counting ) , and baud rate generator . The modes are selected by bits in
T2CON . Timer 2 consists of two 8-bit registers , TH2 and TL2 . In the Timer
function , the TL2 register is incremented every machine cycle . Since a machine
cycle consists
of 12 oscillator periods, the count rate is 1/12 of the oscillator frequency.In the
Counter function , the register is incremented in response to a 1-to-0 transition at its
corresponding external input pin , T2 .When the samples show a high in one cycle
and a low in the next cycle, the count is incremented . Since two machine cycles (24
Oscillator periods ) are required to recognize 1-to-0 transition , the maximum count
rate is 1 / 24 of the oscillator frequency . To ensure that a given level is sampled
at least once before it changes , the level should be held for atleast one full
machine cycle .
Capture Mode
In the capture mode , two options are selected by bit EXEN2 in T2CON . If EXEN2 =
0, Timer 2 is a 16-bit timer or counter which upon overflow sets bit TF2 in T2CON
. This bit can then be used to generate an interrupt . If EXEN2 = 1 , Timer 2 performs
the same operation , but a 1-to-0 transition at external input T2EX also causes the
current value in TH2 and TL2 to be captured into RCAP2H and RCAP2L ,
respectively
Auto-reload (Up or Down Counter)
Timer 2 can be programmed to count up or down when configured in its 16-bit auto-
reload mode. This feature is invoked by the DCEN
(Down Counter Enable) bit located in the SFR T2MOD . Upon reset , the DCEN bit is set to 0
so that timer 2 will default to count up. When DCEN is set , Timer 2
can count up or down , depending on the value of the T2EX pin . In this mode , two options
are selected by bit EXEN2 in T2CON . If EXEN2 = 0 , Timer 2 counts up to 0FFFFH and then
sets the TF2 bit upon overflow . If EXEN2 = 1 , a 16-bit
reload can be triggered either by an overflow or by a 1-to-0 transition at external
input T2EX.
Baud Rate Generator
Timer 2 is selected as the baud rate generator by setting TCLK and/or RCLK in
T2CON . Note that the baud rates for transmit and receive can be different if Timer
2 is used for the receiver or transmitter and Timer 1 is used for the other function
.The baud rates in Modes 1 and 3 aredetermined by Timer 2’s overflow rate according
to the following equation .
Modes 1 and 3 Baud Rates =Timer 2 Overflow Rate
16
The timer operation is different for Timer 2 when it is used as a baud rate generator
.Normally ,as a timer , it increments every machine cycle (at 1/12 the oscillator
frequency).As a baud rate generator , however, it increments every state time ( at 1/2 the
oscillator frequency ) .
Timer 0
Timer 0 functions as either a timer or event counter in four modes of operation . Timer 0 is
controlled by the four lower bits of the TMOD register and bits 0, 1, 4 and 5 of the TCON
register
Mode 0 ( 13-bit Timer)
Mode 0 configures timer 0 as a 13-bit timer which is set up as an 8-bit
timer (TH0 register) with a modulo 32 prescaler implemented with the lower five
bits of the TL0 register . The upper three bits of TL0 register are indeterminate and
should be ignored . Prescaler overflow increments the TH0 register.
Mode 1 ( 16-bit Timer )
Mode 1 is the same as Mode 0, except that the Timer register is being run
with all 16 bits . Mode 1 configures timer 0 as a 16-bit timer with the TH0
and TL0 registers connected in cascade . The selected input increments the TL0
register .
Mode 2 (8-bit Timer with Auto-Reload)
Mode 2 configures timer 0 as an 8-bit timer ( TL0 register ) that automatically
reloads from the TH0 register . TL0 overflow sets TF0 flag in the TCON
register and reloads TL0 with the contents of TH0 , which is preset by software
.
Mode 3 ( Two 8-bit Timers )Mode 3 configures timer 0 so that registers TL0 and
TH0 operate as separate 8-bit timers. This mode is provided for applications
requiring an additional 8-bit timer or counter .
Timer 1
Timer 1 is identical to timer 0 , except for mode 3 , which is a hold-count
mode .
Mode 3 ( Halt )
Placing Timer 1 in mode 3 causes it to halt and hold its count . This can be
used to halt Timer 1 when TR1 run control bit is not available i.e. , when Timer 0
is in mode 3 .
Baud Rates :
The baud rate in Mode 0 is fixed. The baud rate in Mode 2 depends on
the value of bit SMOD in Special Functio Register PCON. If SMOD = 0 (which is
its value on reset), the baud rate is 1/64 the oscillator frequency . If SMOD = 1, the
baud rate is 1/32 the oscillator frequency. In the 89S52 , the baud rates in Modes
1 and 3 are determined by the Timer 1 overflow rate. In case of Timer 2 , these
baud rates can be determined by Timer 1 , or by Timer 2 , or by both (one for
transmit and the other for receive ).
TCON REGISTER :Timer/counter Control Register
TMOD REGISTER: Timer/Counter 0 and 1 Modes
Mini Water Pump
This is a low cost mini submersible type water pump that works on 3-6V DC. It is extremely
simple and easy to use. Just immerse the pump in water, connect a suitable pipe to the outlet
and power the motor with 3-6V to start pumping water. Great for building science projects, fire-
extinguishers, fire fighting robots, fountains, waterfalls, plant watering systems etc.
This motor is small, compact and light. It can be controlled from a micro controller/Arduino using
our DC Motor Drivers or one of our Relay Boards. You may use our 5V SMPS Power Supply
Adapter to run this pump. You may also use our 6V Solar Panel to run the pump with
appropriate a 6V voltage regulator.
Note: Do not run the pump dry (without putting it in water) and do not use it to pump flamable
liquids.
Features
Great for building science projects, fire-extinguishers, fire fighting robots, fountains,
Hydroponic Systems
RELAYS
Introduction:
A relay is an electrical switch that opens and
closes under the control of another electrical circuit. In the
original form, the switch is operated by an electromagnet to
open or close one or many sets of contacts. A relay is able to
control an output circuit of higher power than the input
circuit, it can be considered to be, in a broad sense, a form
of an electrical amplifier.
Relays are usuallly SPDT (single pole double through switch)or DPDT (double pole double
through switch) but they can have many more sets of switch contacts, for example relays with 4 sets
of changeover contacts are readily available.
To perform logic functions. For example, the boolean AND function is realised by connecting
NO relay contacts in series, the OR function by connecting NO contacts in parallel. The
change-over or Form C contacts perform the XOR (exclusive or) function. Similar functions
for NAND and NOR are accomplished using NC contacts. The Ladder programming language
is often used for designing relay logic networks.
o Early computing. Before vacuum tubes and transistors, relays were used as logical
elements in digital computers. See ARRA (computer), Harvard Mark II, Zuse Z2, and
Zuse Z3.
o Safety-critical logic. Because relays are much more resistant than semiconductors to
nuclear radiation, they are widely used in safety-critical logic, such as the control
panels of radioactive waste-handling machinery.
To perform time delay functions. Relays can be modified to delay opening or delay closing a
set of contacts. A very short (a fraction of a second) delay would use a copper disk between
the armature and moving blade assembly. Current flowing in the disk maintains magnetic
field for a short time, lengthening release time. For a slightly longer (up to a minute) delay, a
dashpot is used. A dashpot is a piston filled with fluid that is allowed to escape slowly. The
time period can be varied by increasing or decreasing the flow rate. For longer time periods,
a mechanical clockwork timer is installed
Introduction:
Basic principle:
Like a normal diode, the LED consists of a chip of semi
conducting material impregnated, or doped, with impurities to
create a p-n junction. As in other diodes, current flows
easily from the p-side, or anode, to the n-side, or cathode,
but not in the reverse direction. Charge-carriers electrons
and holes flow into the junction from electrodes with
different voltages. When an electron meets a hole, it falls
into a lower energy level, and releases energy in the form of
a photon.
The wavelength of the light emitted, and therefore its color,
depends on the band gap energy of the materials forming the p-
n junction. In silicon or germanium diodes, the electrons and
holes recombine by a non-radiative transition which produces
no optical emission, because these are indirect band gap
materials. The materials used for the LED have a direct band
gap with energies corresponding to near-infrared, visible or
near-ultraviolet light. LED development began with infrared
and red devices made with gallium arsenide. Advances in
materials science have made possible the production of devices
with ever-shorter wavelengths, producing light in a variety of
colors. LEDs are usually built on an n-type substrate, with
an electrode attached to the p-type layer deposited on its
surface. P-type substrates, while less common, occur as well.
Many commercial LEDs, especially GaN/InGaN, also use sapphire
substrate.
LED Display types:
Bar graph
Seven segment
Star burst
Dot matrix
Miniature LEDs
Different sized LEDs. 8 mm, 5mm and 3 mm
These are mostly single-die LEDs used as indicators, and they
come in various-size packages:
surface mount
2 mm
3 mm (T1)
5 mm (T1³⁄₄)
10 mm
Other sizes are also available, but less common.
High power LEDs from lumileds mounted on a star shaped heat sink High power LEDs (HPLED) can be
driven at more than one ampere of current and give out large amounts of light. Since overheating
destroys any LED the HPLEDs must be highly efficient to minimize excess heat, furthermore they are
often mounted on a heat sink to allow for heat dissipation. If the heat from a HPLED is not removed
the device will burn out in seconds.
Features
2N2222A is a NPN transistor hence the collector and emitter will be left open
(Reverse biased) when the base pin is held at ground and will be closed (Forward
biased) when a signal is provided to base pin. 2N2222A has a gain value of 110 to
800, this value determines the amplification capacity of the transistor. The maximum
amount of current that could flow through the Collector pin is 800mA, hence we
cannot connect loads that consume more than 800mA using this transistor. To bias a
transistor we have to supply current to base pin, this current (I B) should be limited to
5mA.
When this transistor is fully biased, then it can allow a maximum of 800mA to flow
across the collector and emitter. This stage is called Saturation Region and the typical
voltage allowed across the Collector-Emitter (V CE) or Base-Emitter (VBE) could be 200
and 900 mV respectively. When base current is removed the transistor becomes fully
off, this stage is called as the Cut-off Region and the Base Emitter voltage could be
around 660 mV.
Where to use 2N2222A
The 2N2222A transistor is very much similar to the commonly used NPN transistor
BC547. But there are two important features that distinguish both. 2N2222A can
allow collector current upto 800mA and also has power dissipation of 652mW which
can be used to drive larger loads than compared with BC547.
So if you looking for an NPN transistor that could switch loads of higher current,
then 2N2222A might the right choice for your project.
This transistor like all can be used either as a switch or as an amplifier. The Base-
Emitter voltage of this transistor is 6V so you just have to supply this voltage across
the base and emitter of the transistor to induce a base current into the transistor.
This transistor will make it forward biased and thus closes the connection between
collector and emitter. However one important thing to notice is the Base resistor a.k.a
current limiting resistor. As the name suggests this resistor will limit the current
flowing through the transistor to prevent it from damaging. The value for this resistor
can be calculated using the formula
RB = VBE / IB
Applications
Keil Software
The example projects for this book are NOT loaded automatically when you install the Keil
compiler.
These files are stored on the CD in a directory “/Pont”. The files are arranged by chapter: for
example, the project discussed in Chapter 3 is in the directory “/Pont/Ch03_00-Hello”.
Rather than using the projects on the CD (where changes cannot be saved), please copy the
files from CD onto an appropriate directory on your hard disk.
Note: you will need to change the file properties after copying: file transferred from the CD
will be ‘read only’.
Configuring the Simulator
Go to Project – Open Project and browse for Hello in Ch03_00 in Pont and open it.
Having successfully built the target, we are now ready to start the debug session and run the
simulator.
First start a debug session
The flashing LED we will view will be connected to Port 1. We therefore want to observe the
activity on this port
To ensure that the port activity is visible, we need to start the ‘periodic window update’ flag
Go to Debug - Go
While the simulation is running, view the performance analyzer to check the delay
durations.
Go to Debug – Performance Analyzer and click on it
Double click on DELAY_LOOP_Wait in Function Symbols: and click Define button
PROTEUS:
Up to now we have discussed about types of PCB’s and difference between the types. Now
we can discuss about PCB designing software. There are so many PCB designing softwares
available. Some are Express PCB, eagle PCB, PCB Elegance, free PCB, open circuit
design, zenith PCB andProteus etc. Apart from remaining Proteus is different. Proteus is
design suit and PCB layout designing software. In Proteus we can design any circuit and
simulate the circuit and make PCB layout for that circuit.
Introduction to Proteus:
Proteus professional is a software combination of ISIS schematic capture program and ARES
PCB layout program. This is a powerful and integrated development environment. Tools in
this suit are very easy to use and these tools are very useful in education and professional
PCB designing. As professional PCB designing software with integrated space based auto
router, it provides features such as fully featured schematic capture, highly configurable
design rules, interactive SPICE circuit simulator, extensive support for power planes, industry
standard CADCAM & ODB++ output and integrated 3D viewer.
Up to know we have discussed about the basics and software description. Now we are
entering into the designing section. Run the ISIS professional program by clicking the icon
on the desktop, then this splash screen will appear.
Next, a work space with interface buttons for designing circuit will appear as shown in figure
below. Note that there is a blue rectangular line in the workspace; make sure that whole
circuit is designed inside the rectangular space.
Next step is selecting the components to our required circuit. Let us take one example is
designing of 38 kHz frequency generator by using 555 timer IC. The circuit diagram is shown
in below image.
In the above circuit the required components are 555 timer IC, 470? and 22K? resisters, 10K?
variable resister, 0.001µf capacitor and one IR LED. So select the components from library. In
menu bar library > pick device/ symbol. Then one window will open that shown in below.
There is another way to select the components. In work space left side there is a tool bar. In
that tool bar click the component mode button or pick from library.
Select the all components from library, that components are added to devices list. Click on
the device and change the angle of the device by using rotate buttons. Then click in the work
space then the selected component is placed in work space. Place all the devices in work
space and put the curser at the component pin end then draw the connections with that pen
symbol. Connect all the components according to circuit then that designed circuit is show in
below image.
If any modifications want to do to the component place the mouse point and click on right
button then option window will open. That is shown in below figure.
After completion of designing save with some mane and debug it. This is virtual simulation
means without making circuit we can see the result in virtually through this software and we
can design the PCB layout to our required circuit with this software.
CHAPTER-5
RESULT
CHAPTER-6
CONCLUSION
Water is most important basic needs for all the living beings. But unfortunately, a large amount of
water is wasted due to uncontrolled use. Some other automatic water level monitoring systems are
also offered till now but there is some lack of practice in most of the method. We tried to overcome
these problems and implemented an efficient automatic water level monitoring and control system.
Our intention of this research work was to establish a flexible, economical and easy configurable
system that could solve the problem of losing our water. We are using a low cost 8051
microcontroller in this system which is the main point of the ost. We have successfully used the
system in the laboratory and therefore have proposed to control the water level which offers the
flexibility to control this system .
REFFERENCES:
[2] P. Dietz, W. Yerazunis, D. Leigh, Very Low-Cost Sensing and Communication Using Bidirectional
LEDs, UbiComp 2003:Proceedings, vol. 2864, pp. 175-191, 2003.
[3] M. Javanmard, K.A. Abbas and F. Arvin, “A Microcontroller-Based Monitoring System for Batch
Tea Dryer”, CCSE Journal of Agricultural Science, Vol. 1, No. 2, December 2009
[4] Roderick L. Shepherd, William S. Yerazunis and Senior Member, “Low-Cost Surface Mount LED
Gas Sensor”, IEEE King Tong Lau and Dermot Diamond, Sensors-00997, 2005
[5] T. S. Aye, and Z M. Lwin, “Microcontroller Based Electric Expansion Valve Controller for Air
Conditioning System”, World Academy of Science, Engineering and Technology, 2008
[6] L. Byrne, K.T. Lau, and D. Diamond, Monitoring of headspace total volatile basic nitrogen from
selected fish species using reflectance spectroscopic measurements of pH sensitive filmsî, The
Analyst, vol. 127, pp. 1338-1341, 2002.
[7] Milenkovic, A., Milenkovic, M., Jovanov, E., Hite, D., and Raskovic, D.: An environment for
runtime power monitoring of wireless sensor network platforms, Proc. of SSST’ 05, 406–410, 2005.
[8] E.J. Cho and F.V. Bright, Integrated chemical sensor array platform based on light emitting diode,
xerogel-derived sensor elements, and high-speed pin printing, Analytica Chimica Acta, vol. 470, pp.
101-110, 2002.
[9] R.E. Shaffer, S.L. Rose-Pehrsson, R.A. McGill, A comparison study of chemical sensor array pattern
recognition algorithms, Anal. Chim. Acta 384 (1999) 305–317