2. ACKNOWLEDGMENT
We wish to express our deep sense of gratitude from the bottom of our heart to our
guide Dr. N. Sai Bhaskar Reddy, Coordinator, ClimaAdapt Project, WALAMTARI for his
motivating discussions, overwhelming suggestions, ingenious encouragement and advice,
invaluable supervision, exemplary guidance throughout this project work at WALAMTARI.
We would like to extend our heartfelt thanks to Sri L.NarayanaReddy Garu, Director
General, WALAMTARI & Engineer-in-Chief, I & CAD Dept., for giving us this great
opportunity of taking internship at WALAMTARI.
We are immensely grateful to our Vice Chancellor Prof. R V Raja Kumar Garu for his
encouragement and supporting in undertaking internship in I & CAD Department.
We are also thankful to Miss.A. Sravanthi Garu,Water ManagerandMr. Pranith Garu,
Office Assistant, WALAMTARI for their constant backing in all aspects of this project.
We are also grateful to M/S ROLAND ELECTRONICS, Hyderabad for their timely help
in getting the required components within the right time at reasonable price.
We express our sincere thanks to all of our friends and our parents who have patiently
extended all sorts of help for accomplishing this undertaking without whom it could not have
been achieved.
3. ABSTRACT
Achieving effective and efficient management of water as the key to human survival
and development has emerged as an urgent global concern. The realization of the limited
availability of water in space and time under conditions of ever-increasing pressures has
caused designing of ‘Modern’ Water Management initiatives that are globally manufactured
but implementable in local communities.
As ‘Water’ is a precious resource on the planet earth, proper Water Management is
necessary. For effective management of the water monitoring should be done properly. Rapid
advancement in the electronic technologies will opens door for this purpose. The designed
system broadly consists of three blocks. In first part, we use sensor to detect the desired
parameter, next we process the signal obtained from the sensor by Arduino, an electronic
prototype platform, then required command will be sent to gsm module to send the
appropriate message to the concerned mobile number at regular intervals of time. Project
mainly focuses on measuring water depth, measuring the soil moisture and measuring the
Humidity & Temperature.The total system will be installed in the given field and results will be
tabulated,
4. GLOSSARY
Table of Contents
1. Introduction
2. Sensors
2.1. Sensors
2.2. Types of sensors
2.2.1 Contact sensors
2.2.1(a)Soil moisture sensor
2.2.1(b)Temperature and humidity sensor
2.2.2 Non contact sensors
2.2.2.(a) Ultrasonic sensor
3. Processing Platforms
3.1. Microcontrollers
3.2. Arduino Mega 2560
3.3. Why Arduino over Microcontrollers
4. Transferring Mechanisms
4.1. GSM-SIM 900
4.2. LCD display
5. Water depth measurement system by using ultrasonic sensor
5.1. Interfacing ultrasonic sensor with Arduino
5.2. Ultrasonic sensor with LCD
5.2.1.Circuit diagram
5.2.2.Arduino program
5.3.Ultrasonic sensor with GSM-SIM 900
5.3.1.Circuit diagram
5.3.2.Arduino Program
5.4.Outputs of the system
6. Soil moisture measurement by using contact sensor XXXX
6.1.Interfacing soil moisture sensor with Arduino
6.2.Soil moisture sensor with LCD
6.2.1.Circuit diagram
6.2.2.Arduino Program
6.3.Soil moisture sensor with GSM-SIM 900
6.3.1.Circuit diagram
6.3.2.Arduino program
6.4.Soil moisture sensor with LED’s
6.4.1.Interfacing leds with Arduino
6.4.2.Circuit diagram
6.4.3.Arduino program
6.5.Outputs of the system
7.Temperature and humidity of air measurement by using DHT11 sensor
7.1. Interfacing temperature and humidity sensor with Arduino
7.2. DHT11 sensor with LCD
7.2.1.Circuit diagram
5. 7.2.2.Arduino program
7.3.DHT11 sensor with GSM-SIM 900
7.3.1.Circuit diagram
7.3.2.Arduino program
7.4.Outputs of the System
8.Visual
9. Installation / Implementation
10. Conclusions and Future work
11. Bibliography
12. Appendix
6. 1. INTRODUCTION
Water is an essential resource for all life on the planet Water is the key to
development and sustenance of all communities. Under conditions of increasing stress on this
essential renewable but scarce natural resource, effective and efficient management of water
is emerging as an urgent contemporary issue. The realization of its limited availability in space
and time has necessitated the designing of new globally viable water management regimes
aiming at striking a balance between the use of water as a basis for livelihood and its
protection to help ensure its sustainability through present to future generations.
If water is a basic resource necessary for sustaining all human activities, its provision in
the desired quantity and quality and at the right time and place through a workable local
water management system must be regarded as an omnipresent phenomenon.
Much effort in water resource management is directed at optimizing the use of water
and in minimizing the environmental impact of water use on the natural environment.
Successful management of any resources requires accurate knowledge of the resource
available, the uses to which it may be put, the competing demands for the resource, measures
to and processes to evaluate the significance and worth of competing demands and
mechanisms to translate policy decisions into actions on the ground.
Purpose of monitoring
Monitoring has several possible uses:
As a system of early warning;
To inform decision, focus and orient political and policy reforms, and to channel
financial resources in the most effective way;
To track progress toward given objectives.
2. SENSORS
2.1. What is a sensor?
A sensor is a converter that measures a physical quantity and converts it into a signal
which can be read by an observer or by an (today mostly electronic) instrument.
7. A sensor is a device, which responds to an input quantity by generating a functionally
related output usually in the form of an electrical or optical signal. A sensor's sensitivity
indicates how much the sensor's output changes when the measured quantity changes.
Sensors are used in everyday objects such as touch-sensitive elevator buttons (tactile
sensor) and lamps which dim or brighten by touching the base. There are also innumerable
applications for sensors of which most people are never aware. Applications include cars,
machines, aerospace,agriculture, medicine, manufacturing and robotics.
Technological progress allows more and more sensors to be manufactured on a
microscopic scale as microsensors using MEMS technology. In most cases, a microsensor
reaches a significantly higher speed and sensitivity compared with macroscopic approaches.
2.2. Types of sensors:
Water monitoring sensors can be divided into 2 types. They are Contact sensors, Non
contact sensors.
2.2.1. Contact sensors:
Contact sensors are electromechanical devices that detect change through direct
physical contact with the target object. Contact sensors,
Typically do not require power;
Can handle more current and better tolerate power line disturbances;
Are generally easier to understand and diagnose.
Examples are Pressure sensor, Capacitance sensor, Shaft Encoders, Bubbler
2.2.1(a). Soil moisture sensor:
Working Principle
Soil moisture sensors measure the water content in soil. All plants need water to grow
and survive. Soil moisture sensors used to determine how much water are needed to irrigate
the plants.
Types of soil moisture sensors
8. There are two types of soil moisture sensor.One is frequency domain sensor, which has
an oscillating circuit. It measures the soil water content by measuring the soil's dielectric
constant, which determines the velocity of an electromagnetic wave or pulse through the soil.
When the soil's water content increases, the dielectric also increases, which can be used to
estimate how much water the soil holds.The other one is neutron moisture gauge, which utilise
the moderator properties of water for neutrons. The principle is that fast neutrons are emitted
from a decaying radioactive source, and when they collide with particles having the same mass
as a neutron (i.e., protons, H+), they slow down dramatically. Because the main source of
hydrogen in soils is water, measuring the density of slowed-down neutrons around the probe
can estimate the volume fraction of water content the soil holds.
Soil moisture sensor and pin description
Pin Definition
Vcc 5V
GND GND
D0 Digital output interface (0 and 1)
A0 Analog output interface
LM393 Driver
LM393 device consist of two independent low voltage comparators designed
specifically to operate from a single supply over a wide range of voltages. Operation from split
power supplies is also possible.These comparators also have a unique characteristic in that the
9. input common-mode voltage range includes ground even though operated from a single
power supply voltage.
Features of LM393
Wide single-supply voltage range or dual supplies: +2 V to +36 V or ±1 V to ±18 V;
Very low supply current (0.45 mA) independent of supply voltage (1 mW/comparator
at +5 V);
Low input bias current: 20 nA typ;
Low input offset current: ±3 nA typ;
Low input offset voltage: ±1 mV typ;
Input common-mode voltage range includes ground;
Low output saturation voltage: 80 mV typ. (Isink= 4 mA);
Differential input voltage range equal to the supply voltage;
TTL, DTL, ECL, MOS, CMOS compatible outputs;
Available in DIP8, SO-8, TSSOP8, MiniSO-8, and DFN8 2 x 2 mm packages.
2.2.1(b) Humidity and Temperature Sensor(DHT11)
Humidity is the amount of water vapor in the air. Water vapor is the gaseous state of
water and is invisible. Humidity indicates the likelihood of precipitation, dew, or fog.
DHT11 digital temperature and humidity sensor is a composite Sensor contains a
calibrated digital signal output of the temperature and humidity. Application of a dedicated
digital modules collection technology and the temperature and humidity sensing technology,
to ensure that the product has high reliability and excellent long-term stability. The sensor
includes a resistive sense of wet components and an NTC temperature measurement devices,
and connected with a high-performance 8-bit microcontroller.
DHT11 sensor and pin description
10. Features
Low cost, long-term stability, relative humidity and temperature measurement,
excellent quality, fast response, strong anti-interference ability, long distance signal
transmission, digital signal output, and precise calibration.
Product parameters
Relative Humidity
Resolution 16 Bit
Repeatability ±1% RH
Accuracy At 25°C ±5% RH
Interchangeability Fully interchangeability
Response time 1 / e (63%) of 25°C 6s 1m / s air 6s
Hysteresis <± 0.3% RH
Long-term stability <± 0.5% RH / yr in
Temperature
Resolution 16 Bit
Repeatability ±1% RH
Range At 25°C ±2°C
Response time 1 / e (63%) 10S
Electrical Characteristics
Power supply DC 3.5~5.5V
11. Supply Current measurement 0.3mA standby 60μA
Sampling period more than 2 seconds
Applications
HVAC, dehumidifier, testing and inspection equipment, consumer goods, automotive,
automatic control, data loggers, weather stations, home appliances, humidity regulator,
medical and other humidity measurement and control.
2.2.2. Non Contact sensors
Non-contact sensors are solid-state electronic devices that create an energy field or
beam and react to a disturbance in that field. Some characteristics of non-contact sensors:
No physical contact is required;
No moving parts to jam, wear, or break (therefore less maintenance);
Generally operate faster;
Greater application flexibility.
Examples are Ultrasonic sensor,Radar sensor, XXXXX
2.2.2(a). Ultrasonic sensor
Because of the advantages of directional ultrasonic transmitter, direction, strength and
easy to control, and no touch with the object being measured etc., it is widely used in liquid
level measurement. In the measurement, ultrasonic pulse from the sensor (transducer) to issue,
reflected by the surface acoustic wave sensor to receive the same after the conversion into
electrical signals, then, through the time of transmitting and receiving sound waves to
calculate the distance from the sensor to the measured object.
12. The principles of ultrasonic liquid Level measurement
Ultrasonic level meter works by ultrasonic pulse from the sensor (transducer) is
reflected by the surface acoustic wave sensor to receive the same after the conversion into
electrical signals, then, through the time of transmitting and receiving sound waves to
calculate the distance from the sensor to the measured object. The relationship between the
distance up to the object. L and the reflecting time T is expressed by the following formula :
L=C x T/2
Where,
C is the velocity of sound;
L is the measured distance;
T is the time of transmitting and receiving soundwaves.
Ultrasonic Sensor
13. Specifications:
Working voltage 5V DC
Working current max 15 ma
Working frequency 40HZ
Temperature 0º to 60º Ambient room temperature
Output signal 0-5V (Output high when obstacle in range)
Sentry Angle max 15 degree
Sentry Distance 2 cm - 500 cm
High-accuracy 0.3cm
Input trigger signal 10us TTL impulse
Echo signal output TTL PWL signal
Size 45*20*15 mm
Weight
Applications
Distance measurement.
Distance Ranging.
Robotics for mapping.
Colored Line sensing
Object/obstacle detection
Module Working Principle:
1) Supply IO trigger through supplying at least 10us sequence of high level signal to start
the ranging;
2) The module automatically send eight 40khz square wave and automatically detect
whether receive the returning pulse signal;
3) If there is signals returning, echo pin will raise to certain duration which is equal to the
time taken by wave to reach the object and to coming back.
14. Test distance = {High level time x Sound Velocity (340M/S)} / 2
Note:-
The module is not suggested to connect directly to live supply, if connected, the GND
terminal should be connected to the module first, otherwise, it will affect the normal
work of the module;
When testing objects, the range of area should not be less than 0.5 square meters
and the surface plane as smooth as possible, otherwise, it will affect the results of
measuring.
3. PROCESSING PLATFORMS
3.1 MicroControllers
A microcontroller (sometimes abbreviated µC, uC or MCU) is a small computer on a
single integrated circuit containing a processor core, memory, and programmable
input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often
included on chip, as well as a typically small amount of RAM. Microcontrollers are designed for
embedded applications, in contrast to the microprocessors used in personal computers or
other general purpose applications.
15. Microcontrollers are used in automatically controlled products and devices, such as
automobile engine control systems, implantable medical devices, remote controls, office
machines, appliances, power tools, toys and other embedded systems. By reducing the size and
cost compared to a design that uses a separate microprocessor, memory, and input/output
devices, microcontrollers make it economical to digitally control even more devices and
processes. Mixed signal microcontrollers are common, integrating analog components needed
to control non-digital electronic systems.
3.2. Arduino Mega 2560
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-
use hardware and software. It’s intended for engineers, artists, designers, hobbyists and
anyone interested in creating interactive objects or environments.
What Arduino can do ?
Arduino can sense the environment by receiving input from a variety of sensors and can
affect its surroundings by controlling lights, motors, and other actuators. The microcontroller
on the board is programmed using the Arduino programming language (based on Wiring) and
the Arduino development environment (based on Processing). Arduino projects can be stand-
alone or they can communicate with software running on a computer (e.g. Flash,
Processing,MaxMSP).
The boards can be built by hand or purchased pre assembled; the software can be
downloaded for free. The hardware reference designs (CAD files) are available under an open-
source license, you are free to adapt them to your needs.
Arduino received an Honorary Mention in the Digital Communities section of the 2006
Ars Electronica Prix.
The Arduino founders are: Massimo Banzi, David Cuartielles,Tom Igoe, Gianluca
Martino, and David Mellis.
Arduino Mega 2560 Circuit:
16. Overview
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 (datasheet). It
has 54 digital input/output pins (of which 15 can be used as PWM outputs), 16 analog inputs, 4
UARTs (hardware serial ports), a 16 MHz crystal
Oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It
contains everything needed to support the microcontroller; simply connect it to a computer
with a USB cable or power it with a AC-to-DC adapter or battery to get started. The Mega is
compatible with most shields designed for the Arduino Duemilanove or Diecimila.
The Mega 2560 is an update to the Arduino Mega, which it replaces.
The Mega2560 differs from all preceding boards in that it does not use the FTDI USB-
to-serial driver chip. Instead, it features the ATmega16U2 (ATmega8U2 in the revision 1 and
revision 2 boards) programmed as a USB-to-serial converter.
Revision 2 of the Mega 2560 board has a resistor pulling the 8U2 HWB line to ground,
making it easier to put into DFU mode.
Revision 3 of the board has the following new features:
1) Pinout: added SDA and SCL pins that are near to the AREF pin and two other new pins
placed near to the RESET pin, the IOREF that allow the shields to adapt to the voltage
provided from the board. In future, shields will be compatible both with the board that
use the AVR, which operate with 5V and with the Arduino Due that operate with 3.3V.
The second one is a not connected pin, that is reserved for future purposes.
2) Stronger RESET circuit.
3) Atmega 16U2 replace the 8U2.
Summary
Microcontroller ATmega2560
Operating Voltage 5V
Input Voltage (recommended) 7-12V
17. Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 15 provide PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB of which 8 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz
Power
The Arduino Mega can be powered via the USB connection or with an external power
supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or
battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the
board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the
POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than
7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using
more than 12V, the voltage regulator may overheat and damage the board. The recommended
range is 7 to 12 volts.
The power pins are as follows:
1) VIN: The input voltage to the Arduino board when it's using an external power source
(as opposed to 5 volts from the USB connection or other regulated power source). You
can supply voltage through this pin, or, if supplying voltage via the power jack, access it
through this pin.
2) 5V: This pin outputs a regulated 5V from the regulator on the board. The board can be
supplied with power either from the DC power jack (7 - 12V), the USB connector (5V),
or the VIN pin of the board (7-12V). Supplying voltage via the 5V or 3.3V pins bypasses
the regulator, and can damage your board. We don't advise it.
18. 3) 3.3V: A 3.3 volt supply generated by the on-board regulator. Maximum current draw is
50 mA.
4) GND: Ground pins.
5) IOREF: This pin on the Arduino board provides the voltage reference with which the
microcontroller operates. A properly configured shield can read the IOREF pin voltage
and select the appropriate power source or enable voltage translators on the outputs
for working with the 5V or 3.3V.
Memory:
The ATmega2560 has 256 KB of flash memory for storing code (of which 8 KB is used
for the bootloader), 8 KB of SRAM and 4 KB of EEPROM (which can be read and written with
the EEPROM library).
Input and Output:
Each of the 54 digital pins on the Mega can be used as an input or output, using
pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can
provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by
default) of 20-50 kOhms. In addition, some pins have specialized functions:
Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX); Serial 3: 15
(RX) and 14 (TX). Used to receive (RX) and transmit (TX) TTL serial data. Pins 0 and 1 are also
connected to the corresponding pins of the ATmega16U2 USB-to-TTL Serial chip.
External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20
(interrupt 3), and 21 (interrupt 2). These pins can be configured to trigger an interrupt on a
low value, a rising or falling edge, or a change in value.
PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the analogWrite() function.
SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication using the
SPI library. The SPI pins are also broken out on the ICSP header, which is physically compatible
with the Uno, Duemilanove and Diecimila.
LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the
LED is on, when the pin is LOW, it's off.
TWI: 20 (SDA) and 21 (SCL). Support TWI communication using the Wire library.
19. Analog Inputs:
The Mega2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e.
1024 different values). By default they measure from ground to 5 volts, though is it possible to
change the upper end of their range using the AREF pin and analogReference() function.
There are a couple of other pins on the board:
1) AREF: Reference voltage for the analog inputs. Used with analogReference().
2) Reset: Bring this line LOW to reset the microcontroller. Typically used to add a reset
button to shields which block the one on the board.
Communication
The Arduino Mega2560 has a number of facilities for communicating with a computer,
another Arduino, or other microcontrollers. The ATmega2560 provides four hardware UARTs
for TTL (5V) serial communication. An ATmega16U2(ATmega 8U2 on the revision 1 and
revision 2 boards) on the board channels one of these over USB and provides a virtual com port
to software on the computer (Windows machines will need a .inf file, but OSX and Linux
machines will recognize the board as a COM port automatically. The Arduino software
includes a serial monitor which allows simple textual data to be sent to and from the board.
The RX and TX LEDs on the board will flash when data is being transmitted via the
ATmega8U2/ATmega16U2 chip and USB connection to the computer (but not for serial
communication on pins 0 and 1).
A SoftwareSerial library allows for serial communication on any of the Mega2560's
digital pins.
The ATmega2560 also supports TWI and SPI communication. The Arduino software
includes a Wire library to simplify use of the TWI bus; see the documentation for details. For
SPI communication, use the SPI library.
Programming:
The Arduino Mega can be programmed with the Arduino software (download). For
details, see the reference and tutorials.
20. The ATmega2560 on the Arduino Mega comes pre burned with a bootloader that
allows you to upload new code to it without the use of an external hardware programmer. It
communicates using the original STK500 protocol (reference, C header files).
You can also bypass the bootloader and program the microcontroller through the ICSP
(In-Circuit Serial Programming) header; see these instructions for details.
USB Overcurrent Protection
The Arduino Mega2560 has a resettable polyfuse that protects your computer's USB
ports from shorts and overcurrent. Although most computers provide their own internal
protection, the fuse provides an extra layer of protection. If more than 500 mA is applied to
the USB port, the fuse will automatically break the connection until the short or overload is
removed.
Physical Characteristics and Shield Compatibility
The maximum length and width of the Mega2560 PCB are 4 and 2.1 inches
respectively, with the USB connector and power jack extending beyond the former dimension.
Three screw holes allow the board to be attached to a surface or case. Note that the distance
between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of
the other pins.
The Mega2560 is designed to be compatible with most shields designed for the Uno,
Diecimila or Duemilanove.
3.3. Why Arduino over Microcontrollers?
There are many other microcontrollers and microcontroller platforms available for
physical computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and
many others offer similar functionality. All of these tools take the messy details of
microcontroller programming and wrap it up in an easy-to-use package. Arduino also
simplifies the process of working with microcontrollers, but it offers some advantage for
teachers, students, engineers and interested amateurs over other systems:
1) Inexpensive - Arduino boards are relatively inexpensive compared to other
microcontroller platforms. The least expensive version of the Arduino module can be
assembled by hand, and even the pre-assembled Arduino modules cost less than $50;
21. 2) Cross-platform - The Arduino software runs on Windows, Macintosh OSX, and Linux
operating systems. Most microcontroller systems are limited to Windows;
3) Simple, clear programming environment - The Arduino programming environment is
easy-to-use for beginners, yet flexible enough for advanced users to take advantage of
as well. For teachers, it's conveniently based on the Processing programming
environment, so students learning to program in that environment will be familiar with
the look and feel of Arduino.
4) Open source and extensible software- The Arduino software is published as open
source tools, available for extension by experienced programmers. The language can
be expanded through C++ libraries, and people wanting to understand the technical
details can make the leap from Arduino to the AVR C programming language on which
it's based. Similarly, you can add AVR-C code directly into your Arduino programs if
you want to.
5) Open source and extensible hardware - The Arduino is based on Atmel's ATMEGA8 and
ATMEGA168 microcontrollers. The plans for the modules are published under a
Creative Commons license, so experienced circuit designers can make their own
version of the module, extending it and improving it. Even relatively inexperienced
users can build the breadboard version of the module in order to understand how it
works and save money.
22. 4. TRANSFERRING MECHANISMS
4.1. GSM-SIM 900
GSM stands for Global System for Mobile Communication.The SIM900 is a complete
Quad-band GSM/GPRS solution in a SMT module which can be embedded in the customer
applications.Featuring an industry-standard interface, the SIM900 delivers GSM/GPRS
850/900/1800/1900MHz performance for voice, SMS, Data, and Fax in a small form factor
and with low power consumption. With a tiny configuration of 24mm x 24mm x 3 mm, SIM900
can fit almost all the space requirements in your M2M application, especially for slim and
compact demand of desig
GSM (Global System for Mobile) / GPRS (General Packet Radio Service) TTL –Modem
is SIM900 Quad-band GSM / GPRS device, works on frequencies 850 MHZ, 900 MHZ, 1800
MHZ and 1900 MHZ. It is very compact in size and easy to use as plug in GSM Modem. The
Modem is designed with 3V3 and 5V DC TTL interfacing circuitry, which allows User to directly
interface with 5V Microcontrollers (PIC, AVR, Arduino, 8051, etc.) as well as 3V3
Microcontrollers (ARM, ARM Cortex XX, etc.). The baud rate can be configurable from 9600-
115200 bps through AT (Attention) commands. This GSM/GPRS TTL Modem has internal
TCP/IP stack to enable User to connect with internet through GPRS feature. It is suitable for
SMS as well as DATA transfer application in mobile phone to mobile phone interface.
SIM900 key features :
Feature Implementation
Power supply Single supply voltage 3.4V – 4.5V
Power saving Typical power consumption in SLEEP mode is 1.5mA ( BS-PA-
MFRMS=5 )
Frequency Bands SIM900 quad-band: GSM 850,EGSM 900, DCS 1800, PCS 1900.
The SIM900 can search the 4 frequency bands automatically. The
frequency bands also can be set by AT command.
Temperature range Normal operation: -30°C to +80°C
Restricted operation: -40°C to -30°C and +80 °C to +85°C(1)
Storage temperature -45°C to +90°C
SMS MT, MO, CB, Text and PDU mode
SMS storage: SIM card
SIM interface Support SIM card: 1.8V, 3V
Timer function Programmable via AT command
23. Physical characteristics Size: 24mm x 24mm x 3mm
Weight: 3.4g
SIM900 Functional Diagram
(To be updated ****)
SIM900 Pin Description:
Serial/Power port pins:
PIN NAME I/O DESCRIPTION DC
CHARACTERISTICS
COMMENT
VBAT I The power supply of
SIM900 has to be a single
voltage source of VBAT=
3.4V...4.5V. It must be able
to provide sufficient current
in a transmit burst which
typically rises to 2A
Vmax= 4.5V
Vmin=3.4V
Vnorm=4.0V
GND Ground
RXD I Receive data
TXD O Transmit data
RTS I Request to send
CTS O Clear to send
DSR O
DTR I
Operating modes:
Mode Function
Normal operation GSM/GPRS
SLEEP
Module will automatically go into SLEEP
mode if DTR is set to high level
and there is no on air and no hardware
24. interrupt (such as GPIO interrupt or
data on serial port).
In this case, the current consumption of
module will reduce to the minimal
level.
In SLEEP mode, the module can still receive
paging message and SMS
from the system normally.
GSM IDLE Software is active. Module has registered to
the GSM network, and the module is ready
to send and receive.
GSM TALK Connection between two subscribers is in
progress. In this case, the power
consumption depends on network settings
such as DTX off/on,
FR/EFR/HR, hopping sequences, antenna.
POWER
DOWN
Normal shutdown by sending the
“AT+CPOWD=1” command or using the
PWRKEY. The
power management ASIC disconnects the
power supply from the baseband part of the
module, and only the power supply for the
RTC is remained. Software is not active. The
serial port is not accessible. Operating
voltage (connected to VBAT) remains
applied.
Antenna Interface:
SIM900 provides RF antenna interface. And customer’s antenna should be located in
the customer’s main board and connect to module’s antenna pad through microstrip line or
other type RF trace which impedance must be controlled in 50Ω. To help you to ground the
antenna, SIM900 comes with a grounding plane located close to the antenna pad. The Pin 60
is the RF antenna pad.
SIM900 material properties:
SIM900 PCB Material: FR4
Antenna pad: Gold plated pad
Interfacing GSM-SIM 900 with Arduino
GSM-SIM 900 pin Arduino pin
25. 5V 5V
Gnd Gnd
RxD Tx0
TxD Rx0
4.2. LCD display
LCD stands for liquid crystal display. They come in many sizes 8x1 , 8x2 , 10x2 , 16x1 ,
16x2 , 16x4 , 20x2 , 20x4 ,24x2 , 30x2 , 32x2 , 40x2 etc.
26. ALL LCDs will have :
Eight(8) Data pins
VCC (Apply 5v here)
GND (Ground this pin)
RS (Register select)
RW (read - write)
EN (Enable)
VEE (Set Lcd contrast)
The 8 data pins takes 8-bit data or command from an external unit such as
microcontroller or Arduino.
V0 (Set Lcd contrast)
The best way to Set LCD contrast is to use potentiometer. The output of the
potentiometer is connected to this pin. Rotate the potentiometer knob forward and backward
to adjust the lcd contrast.
RS(Register select)
There are two registers in every lcd.
1. Command Register
27. 2. Data Register
Command Register
When we send commands to lcd these commands go to Command register and are
processed there.
Data Register
When we send Data to lcd it goes to data register and is processed there.
When RS=1 Data Register is selected.
When RS=0 Command Register is Selected.
RW(Read / Write)
When RW=1 We want to read data from lcd.
When RW=0 We want to write to lcd.
EN(Enable signal)
When you select the register(Command and Data) and set RW(read - write) now its
time to execute the instruction. By instruction the 8-bit data or 8-bit command present on
Data lines of lcd.This requires an extra voltage push to execute the instruction and EN (enable)
signal is used for this purpose. Usually we make it en=0 and when we want to execute the
instruction we make it high en=1 for some milliseconds. After this we again make it ground
en=0.
The data which wesend to our lcd can be anyalphabet(small or big) , digit or ASCII
character.
Interfacing LCD with Arduino
LCD pin Arduino pin
1 Gnd
28. 2 5V
3 10kΩ
4 12
5 gnd
6 11
7 NC
8 NC
9 NC
10 NC
11 2
12 3
13 4
14 5
15 5V
16 Gnd
NOTE:
1. We can not send an integer,float,long,double type data to lcd because lcd is designed
to display a character only.
2. The 8 data pins on lcd carries only ASCII 8-bit code of the character to lcd.
29. 3. How ever we can convert our data in character type array and send one by one our
data to lcd.
4. Data can be sent using lcd in 8-bit 0r 4-bit mode. If 4-bit mode is used, two nibbles of
data (First high four bits and then low four bits) are sent to complete a full eight-bit
transfer. 8-bit mode is best used when speed is required in an application and at least
ten I/O pins are available. 4-bit mode requires a minimum of seven bits. In 4-bit mode,
only the top 4 data pins (4-7) are used.
5. WATER DEPTH MEASUREMENT BY ULTRASONIC SENSOR
5.1.Interfacing ultrasonic sensor with Arduino
Vcc pin of the Ultrasonic Sensor is connected to the 5V pin of Arduino, GND
pin is connected to the GND pin, Trig pin is connected to digital pin 8 of Arduino and Echo pin
is connected to digital pin 7 of Arduino.
Ultrasonic sensor Arduino
Vcc 5V
Gnd Gnd
Trig pin 7
Echo pin 8
5.2. Ultrasonic sensor with LCD
5.2.1 Circuit diagram:
31. delayMicroseconds(10);
digitalWrite(trig,LOW);
pinMode(echo, INPUT);
timeDuration = pulseIn(echo, HIGH);
cm= microTocms(timeDuration); //conversion of microseconds to centimeters
Serial.print(cm);
Serial.print("cm");
Serial.println();
lcd.print(cm);
lcd.print(" cm");
delay(1000);
}
long microTocms(long microseconds)
{
// The speed of sound is 340 m/s or 29 microseconds per centimeter.
// The ping travels out and back, so to find the distance of the
// object we take half of the distance travelled.
return microseconds / (29 * 2);
}
5.3. Ultrasonic sensor with GSM
Following system will use ultrasonic sensor to measure the water depth, then measured
distance will be sent to given mobile number.
5.3.1.Circuit diagram:
5.3.2.Arduino Program:
const int trig=7 ;
const int echo=8;
void setup()
{
Serial.begin(9600);
32. Serial1.begin(9600); //Baud rate of the GSM/GPRS Module
Serial1.print("r");
}
void loop()
{
long timeDuration,cm;
pinMode(trig,OUTPUT);
digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
pinMode(echo, INPUT);
timeDuration = pulseIn(echo, HIGH);
cm= microTocms(timeDuration);
Serial.print(cm);
Serial.print("cm");
Serial.println();
// delay(2000);
Serial1.print("AT+CMGF=1r");
delay(1000);
Serial1.print("AT+CMGS="+919542081456"r"); //Number to which you
delay(1000);
Serial1.print(cm); //The text of the message to be sent
Serial1.print("cm");
delay(1000);
Serial1.write(0x1A);
delay(20000);
}
long microTocms(long microseconds)
{
return microseconds / (29 * 2);
}
5.4.Outputs of the system
33. 6. SOIL MOISTURE MEASUREMENT SYSTEM
6.1. Interfacing soil moisture sensor with Arduino
In order to receive the sensed data from the soil moisture sensor to arduino, power
supply of 5V is provided from arduino by connecting Vcc of sensor to 5V of arduino and GND
of sensor to GND of arduino.Readings are retrieved at analog pin of arduino by connecting A0
of soil moisture sensor to any analog pin of arduino.Those retrieved values are displayed via
LCD display or sent as SMS using GSM-SIM 900.
Soil moisture sensor Arduino
Vcc 5V
Gnd Gnd
A0 A0
D0 NC
34. 6.2. Soil moisture sensor with LCD
6.2.1.Circuit diagram:
6.2.2.Arduino program:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 2, 3, 4, 5);
int soil=0;
// the setup routine runs once when you press reset:
void setup()
{
35. // initialize serial communication at 9600 bits per second:
Serial.begin(9600);
lcd.begin(16,2);
}
// the loop routine runs over and over again forever:
void loop() {
lcd.clear();
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
sensorValue = constrain(sensorValue, 485, 1023);
// print out the value you read:
//Serial.println(sensorValue);
//map the value to a percentage
soil = map(sensorValue, 485, 1023, 100, 0);
// print out the soil water percentage you calculated:
Serial.print(soil);
Serial.println("%");
lcd.print("Soil Moisture");
lcd.setCursor(0, 1);
lcd.print(soil);
lcd.print(" %");
delay(1000); // delay in between reads for stability
}
6.3.Soil moisture sensor with GSM-SIM 900
6.3.1.Circuit diagram:
37. // initialize serial communication at 9600 bits per second:
Serial.begin(9600);
Serial1.begin(9600); //Baud rate of the GSM/GPRS Module
Serial1.print("r");
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
sensorValue = constrain(sensorValue, 485, 1023);
// print out the value you read:
//Serial.println(sensorValue);
//map the value to a percentage
soil = map(sensorValue, 485, 1023, 100, 0);
// print out the soil water percentage you calculated:
Serial.print(soil);
Serial.println("%");
delay(1000); // delay in between reads for stability
Serial1.print("AT+CMGF=1r");
delay(1000);
Serial1.print("AT+CMGS="+919542081456"r"); //Number to which you
delay(1000);
Serial1.print(soil); //The text of the message to be sent
Serial1.print("%");
delay(1000);
Serial1.write(0x1A);
delay(20000);
}
6.4.Soil moisture sensor with LEDs
6.4.1.Interfacing LEDs with Arduino:
LED’s are connected to the digital pins of the Arduino.To avoid the damage of LED’s
resistors are connected in between the digital pins and LED’s.Positive terminal of LED is
connected to the resistor and negative terminal is connected to the Gnd of Arduino.
6.4.2.Circuit diagram:
38. 6.4.3.Arduino Program:
int soil=0;
int led1=11;
int led2=12;
int led3=13;
void setup()
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
Serial.begin(9600);
}
void loop()
{
int sensorvalue=analogRead(A0);
sensorvalue=constrain(sensorvalue,485,1023);
soil=map(sensorvalue,485,1023,100,0);
Serial.print(soil);
Serial.println("%");
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
39. if(soil<33)
{
digitalWrite(led1,HIGH);
}
else if(soil>=33 && soil<=66)
{
digitalWrite(led2,HIGH);
}
else if(soil>66)
{
digitalWrite(led1,HIGH);
}
delay(1000);
}
7. TEMPERATURE AND HUMIDITY MEASUREMENT BY DHT11 SENSOR
7.1. Interfacing Temperature and humidity sensor with Arduino
Vcc pin of DHT11 sensor is connected to 5V pin of Arduino,DATA pin of sensor is
connected to A0 of Arduino and Gnd pin of DHT11 is connected to Gnd pin of Arduino.
DHT11 Sensor Arduino
Vcc 5V
DATA A0
Gnd Gnd
7.2.DHT11 sensor with LCD
7.2.1.Circuit:
42. {
DHT.read11(dht_dpin);
Serial.print("AT+CMGF=1r");
delay(1000);
Serial.print("AT+CMGS="+918500659564"r"); //Number to which you
delay(1000);
Serial.print("Temperature: ");
Serial.print(DHT.temperature); //The text of the message to be sent
Serial.print(" C ");
Serial.print("Humidity: ");
Serial.print(DHT.humidity);
Serial.print(" %");
delay(1000);
Serial.write(0x1A);
delay(1000);
}
7.4.Outputs of the system
10. Observations & Conclusions
Robust covering should be provided.
Lining should be given around the device for heat proof and shockproof.
Ultrasonic sensor should not be installed near the bank, as the water near to the bank
may not be stable all the time.
43. Graphical data transmission such as MMS is not possible with Arduino, Arduino
compatible cameras are not adequately available in the market.
In the areas where the signal strength is less, power consumption by the system is more,
to overcome this one should go for other networks, which are having high signal
strength.
Power analysis:
9V 12V
Ultrasonic+A+gsm
+ display
Continuous 1 hr, Continuous 6
hrs.
30min/ sms
Ultrasonic + A+
display
TWEET 1.0
TWEET 2.0
CLICK 1.0
CLICK 2.0
CLICK 3.0
Limitations:
Range of the ultrasonic sensor used is 3mtrs only.
Ultrasonic sensor can not be used, if it is to be implemented in the stilling well because
of the reason that Sentry angle is 15 degrees only.
While using the ultrasonic sensor make sure that, the range area should not be less
than 0.5 sq. mtrs and surface plane should be as smooth as possible.
Canal depth may not be uniform. *****
If flow is not smooth, (laminar flow), measurement may not be accurate.
11. Future Work
As device is going to install in the field, It is better to go for solar energy instead of
depending on the batteries, So that device will work without interruption.
44. Use advanced sensors to increase the range of the device to install it for reservoirs.
To find alternative for jumper wires.
Make the system to be idle in normal times, activate only when the measurement is
needed, Thus reducing the power consumption.
To compute the volume of the water in the canal, considering the cross section of the
canal and moving the sensor in deterministic way.
Automation of the gates if device installed at the reservoirs, Automation of the motors
if the device installed in the farming fields.
Incorporate the exhaust fan in the device as heat sink, to protect the device from heat.
Replace ultrasonic sensor with pressure sensor if device to be installed in the stilling
well.
Miscellaneous:
1. camera + arduino ---- not compatible so go for raspberry pi.
BIBLIOGRAPHY
1. Programming http://arduino.cc/en/Reference/HomePage
2. mega 2560 pin mapping diagram - (img1)
http://arduino.cc/en/Hacking/PinMapping2560
3. (arduino-mega2560_R3-sch.pdf)- schematic diagram
http://arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf
4. lcd display image http://www.engineersgarage.com/electronic-components/16x2-lcd-
module-datasheet