Agriculture Multifunction Robot Report

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 46

Agribot - IoT based Powered Agribot for Irrigation and Farm Monitoring

INTRODUCTION

Agriculture is considered as the basis of life for the human species as it is


the main source of food grains and other raw materials. It plays vital role in the
growth of country’s economy. It also provides large ample employment
opportunities to the people. Growth in agricultural sector is necessary for the
development of economic condition of the country. Unfortunately, many farmers
still use the traditional methods of farming which results in low yielding of crops
and fruits. But wherever automation had been implemented and human beings
had been replaced by automatic machineries, the yield has been improved. Hence
there is need to implement modern science and technology in the agriculture
sector for increasing the yield. Most of the papers signifies the use of wireless
sensor network which collects the data from different types of sensors and then
send it to main server using wireless protocol. The collected data provides the
information about different environmental factors which in turns helps to monitor
the system.

Monitoring environmental factors is not enough and complete solution to


improve the yield of the crops. There are number of other factors that affect the
productivity to great extent. These factors include attack of insects and pests
which can be controlled by spraying the crop with proper insecticide and
pesticides. Secondly, attack of wild animals and birds when the crop grows up.
There is also possibility of thefts when crop is at the stage of harvesting. Even
after harvesting, farmers also face problems in storage of harvested crop. So, in
order to provide solutions to all such problems, it is necessary to develop
integrated system which will take care of all factors affecting the productivity in
every stages like; cultivation, harvesting and post harvesting storage .

This project therefore proposes a system which is useful in monitoring the


field data as well as controlling the field operations which provides the flexibility.
The project aims at making agriculture smart using automation and Wireless
technologies. The highlighting features of this project includes smart bluetooth
remote controlled robot to perform tasks like; weeding, spraying, moisture
sensing, farm monitoring, etc.

In olden days technology was not developed that much. So they were seeding
plowing and plant cutting by hand. But nowadays technology is developed. So now
it’s not necessary to do seeding in sunlight. By using robot technology one can sit in
a cool place and can do seeding by monitoring the robot motion. Today’s agricultural
field demands to find new ways of agricultural operation to improve performance
efficiency. In the field of agriculture various problems are faced by the farmers in
the operations like seed sowing, plowing, and waste planet cutting, weeding. Also
the equipments used to perform the operations are very heavy. Due to migration of
human’s in the cities the labor problem occurs. Now days robotics technology plays
a paramount role in all sections like medical field, industries and various
organizations. In other countries robots are used to perform different operations in
the agricultural field. We can make the use of available technologies and the robotics
technology in the farming system to reduce the efforts of farmers and also to reduce
time, energy and required cost.

LITERATURE SURVEY:
In newer scenario improper usage of water creates scarcity which depletes the
water tables like Rivers, Tanks and concealed water.
To vanquish the above problems, temperature and moisture sensors are used
at suitable locations for monitoring the crops.[1]
[S.R Nandurkar, V.R. Thool R.C Thool, “Design and development of precision
agriculture system using wireless sensor network”, IEEE International
conference on automation, control, energy and systems (ACES), 2014]

Photovoltaic panels can be used as alternatives for powering the systems.


Duplex communication links based on cellular internet interface that allows
data inspection & irrigation scheduling programmed by web page.[2]
[Joaquin Gutierrez, Juan Francisco Villa-Medina, Alejandra Nieto-Garibay, and
Miguel Angel Porta-Gándara, “Automated Irrigation System Using a Wireless
Sensor Network and GPRS Module”, IEEE TRANSACTIONS ON
INSTRUMENTATION AND MEASUREMENT].

By adopting Remote sensing and Control irrigation system using Distributed


wireless sensor networks intended for Variable rate irrigation, Field sensing,
Controlling of linear move irrigation system to maximize the productivity
with minimal use of water.
The whole system was developed using 5 infield sensors stations which
collects data and send it to the base station using global positioning
system(GPS).The system provides a promising low cost wireless solutions as
well as remote controlling for precision irrigation.[4]
[Y. kim, R.Evans & W. Iversen, “Remote sensing and control of an irrigation
system using a distributed wireless sensor Network” , IEEE Transactions on
instrumentation and Measurement, pp 1379-1387, 2008].
Effective communication with relay nodes with sensors placed below the soil
provides very low duty cycle with increase in the lifetime of the soil
monitoring.
The system implemented uses Microcontroller interfaced to UART (Universal
Asynchronous Receiver and Transmitter) and sensors.
The Transmission was done by hourly based sampling and Buffering the data
and there by checking the status message.[5]
[Hayes, J.; Crowley, K.; Diamond, D. Simultaneous web-based real-time
temperature monitoring using multiple wireless sensor networks. Sensors IEEE,
October 30 November 3, 2005].

Proposed system:

Nowadays seed sowing is done either manually or by tractors it’s a very hectic task
to do this Manual method includes broadcasting the seeds by hand. Sometimes
method of dibbling i.e. making holes and dropping seeds by hand is used. Also a pair
of bullocks is used to carry the heavy equipment of leveling and seed dropping to
overcome those problems we have developing a best system.
Methodology:

Block
Diagram

Hardware
testing as per
project

Test Code
preparation for
Peripherals

Logic
Development
as per project

Final Testing of
the project as
per Conditions
Block Diagram:
DESCRIPTON:
Many embedded systems have substantially different designs according to their
functions and utilities. In this project design, structured modular design concept is
adopted and the system is mainly composed of a single microcontroller, LCD, GSM,
robot.
The basic idea in this study is to develop a mechanized devise that helps in on-farm
operations like seeding/seed sowing at pre-designated distances and depths with all
applicable sensors for controlling humidity, temperature. But many problems are
faced by farmer during seed sowing operation, like proper adjustment of distance
between two crops, distance between two rows. Seed sowing’s very basic and
paramount operation in the agricultural field. A ground wheel is attached at the base
of the seed sowing machine. The power transmission system is used to transmit the
motion of the rotation to the metering mechanism. The metering mechanism contains
number of scoops to drop out the seeds from the hopper. The seeds are then
transmitted in the seed distributor pipes. Flexible and compatible pipes can be used
to distribute seeds. With the help of tiller we can make the land smooth for sowing
the seeds.

The microcontroller is brain of this system, which can dedicates the order of
suggestions received to all the networks, and sensible factors processed by their
corresponding embedded programs. We can use GSM module information sending
to Robot machine .An GSM module will be given to communicate with the robot.
User can select options. Here the robot keep moving in a one direction. The seed
sowing is done by using DC Motor. The complete project process will be displayed
on LCD screen. Complete agriculture land will be divided into columns and number
of steps.

Here thingspeak service is created for users, When user feeds in the information, the
message will then be sent to server.
The booster circuit will be responsible maintaining the Battery power.Through the
input from the mobile device the controller operations will be decided.

DEMO POINTS:

 A prototype module will be developed for the project. It includes individual


PCB boards for all interfaces according to the block diagram. Every PCB will
be inter-connected with jumper wires.

 For demo concern, LCD is used to display all ongoing information


 GSM are used for send information to robot machine and According to the
instructions given by the user the robot move in forward, reverse, left and right
direction to drop the seeds at a particular position

 Four wheels are connected at the base for the flexible movement of robot

 Water pump is controlled by the microcontroller through relay on decision


made by user. Every information is stored in the data base for further process

HARDAWARE COMPONETS:

1. ATMEGA 328p Microcontroller


2. Relay
3. L293
4. 4 wheel robot
5. DC Motors
6. Water pump
7. Moisture Sensor
8. DHT Sensor
9. Bluetooth Module(HC-05)

SOFTAWARE USED:

1. Arduino IDE
ARDUINO UNO:

Figure 5.1.1: Arduino UNO

The Arduino Uno is a microcontroller board based on the ATmega328


(datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM
outputs), 6 analog inputs, 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 Uno differs from all
preceding boards in that it does not use the FTDI USB-to-serial driver chip.
Instead, it features the Atmega8U2 programmed as a USB-to-serial converter.
Arduino is selected because it is an open-source platform, inexpensive and
provides sufficient analog/digital I/O pins for customizable applications. It
operates at 5V and is powered with Atmel’s ATmega328 micro-controller with a
clock speed of 16 MHz’s It has a flash memory of 32kB and Static Random
Access Memory (SRAM) of 2kB. It has 6 analog pins and serial ports. One of the
serial ports is connected internally to Universal Serial Bus (USB) port.

Summary:

Microcontroller ATmega328

Operating Voltage 5V

Input Voltage (recommended) 7-9V

Input Voltage (limits) 6-20V

Digital I/O Pins 14 (of which 6 provide PWM output)

Analog Input Pins 6

DC Current per I/O Pin 40 mA


DC Current for 3.3V Pin 50 mA

32 KB (ATmega328) (0.5 KB used


Flash Memory by bootloader)

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz

Table 5.1.1: Summary

5.1.1.2 Power:

The Arduino Uno 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 centre-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:

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.
5V. The regulated power supply used to power the microcontroller and
other components on the board. This can come either from VIN via an on-
board regulator, or be supplied by USB or another regulated 5V supply.
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum
current draw is 50 mA.
GND. Ground pins.
5.1.1.2 Input and Output:

Each of the 14 digital pins on the Uno can be used as an input or output,
using pin

Mode (), digital Write (), and digital Read () 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 k Ohms. In addition, some pins
have specialized functions:

Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial
data. These pins are connected to the corresponding pins of the ATmega8U2
USB-to-TTL Serial chip.
External Interrupts: 2 and 3. These pins can be configured to trigger an
interrupt on a low value, a rising or falling edge, or a change in value. See
the attach Interrupt () function for details.
PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analog
Write () function.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI
communication using the SPI library.
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.
The Uno has 6 analog inputs, labeled A0 through A5, 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 the analog Reference () function. Additionally, some
pins have specialized functionality:

I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire
library. There are a couple of other pins on the board:

AREF. Reference voltage for the analog inputs. Used with analog Reference ().

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.

5.1.1.3 Communication:

The Arduino Uno has a number of facilities for communicating with a


computer, another Arduino, or other microcontrollers. The ATmega328 provides
UART TTL (5V) serial communication, which is available on digital pins 0 (RX)
and 1 (TX). An ATmega8U2 on the board channels this serial communication
over USB and appears as a virtual com port to software on the computer. The
'8U2 firmware uses the standard USB COM drivers, and no external driver is
needed. However, on Windows, a .inf file is required. The Arduino software
includes a serial monitor which allows simple textual data to be sent to and from
the Arduino board. The RX and TX LEDs on the board will flash when data is
being transmitted via the USB-to-serial chip and USB connection to the computer
(but not for serial communication on pins 0 and 1). A Software Serial library
allows for serial communication on any of the Uno's digital pins.

The ATmega328 also supports I2C (TWI) and SPI communication. The
Arduino software includes a Wire library to simplify use of the I2C bus; see the
documentation for details. For SPI communication, use the SPI library.

Programming:

The Arduino Uno can be programmed with the Arduino software


(download). Select "Arduino Uno from the Tools > Board menu (according to
the microcontroller on your board). For details, see the reference and tutorials.
The ATmega328 on the Arduino Uno comes pre burned with a boot loader 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 boot loader and program the microcontroller
through the ICSP (In-Circuit Serial Programming) header; see these instructions
for details.

The ATmega8U2 firmware source code is available. The ATmega8U2 is


loaded with a DFU boot loader, which can be activated by connecting the solder
jumper on the back of the board (near the map of Italy) and then resetting the
8U2.
You can then use Atmel's FLIP software (Windows) or the DFU
programmer (Mac OS X and Linux) to load a new firmware. Or you can use the
ISP header with an external programmer (overwriting the DFU boot loader). See
this user-contributed tutorial for more information.

5.1.1.5 Automatic (software) reset:

Rather than requiring a physical press of the reset button before an upload,
the Arduino Uno is designed in a way that allows it to be reset by software
running on a connected computer. One of the hardware flow control lines (DTR)
of the ATmega8U2 is connected to the reset line of the ATmega328 via a 100
nanofarad capacitor. When this line is asserted (taken low), the reset line drops
long enough to reset the chip. The Arduino software uses this capability to allow
you to upload code by simply pressing the upload button in the Arduino
environment. This means that the bootloader can have a shorter timeout, as the
lowering of DTR can be well-coordinated with the start of the upload.

This setup has other implications. When the Uno is connected to either a
computer running Mac OS X or Linux, it resets each time a connection is made
to it from software (via USB). For the following half-second or so, the boot loader
is running on the Uno. While it is programmed to ignore malformed data (i.e.
anything besides an upload of new code), it will intercept the first few bytes of
data sent to the board after a connection is opened. If a sketch running on the
board receives one-time configuration or other data when it first starts, make sure
that the software with which it communicates waits a second after opening the
connection and before sending this data.

The Uno contains a trace that can be cut to disable the auto-reset. The pads
on either side of the trace can be soldered together to re-enable it. It's labeled
"RESET-EN". You may also be able to disable the auto-reset by connecting a
110 ohm resistor from 5V to the reset line; see this forum thread for details.

5.1.1.6 USB Over current Protection:

The Arduino Uno has a resettable polyfuse that protects your computer's
USB ports from shorts and over current. 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.

5.1.1.7 Physical Characteristics:

The maximum length and width of the Uno PCB are 2.7 and 2.1 inches
respectively, with the USB connector and power jack extending beyond the
former dimension. Four 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.

AT-MEGA 328P MICROCONTROLLER:


Figure 5.1.2.1: AT-MEGA 328P Microcontroller

5.1.2.1 Features:

The ATmega328P is a high-performance Atmel 8-bit AVR RISC-based


microcontroller combines 32KB flash memory with read-while-write
capabilities
It has 1024B EEPROM, 23 general purpose I/O lines, 32 general purpose
working registers.
It has three flexible timer/counters with compare modes, internal and
external interrupts.
It has serial programmable, a byte-oriented 2-wire serial interface, serial
port.
It has 6-channel 10-bit A/D, programmable watchdog timer with internal
oscillator.
It has five software selectable power saving modes.
The device operates between 1.8-5.5 volts. By executing powerful
instructions in a single clock cycle, the device achieves throughputs
approaching 1 MIPS per MHz, balancing power consumption and
processing speed.
Memory: It has 8 Kb of Flash program memory (10,000 Write/Erase
cycles durability), 512 Bytes of EEPROM (100,000 Write/Erase Cycles).
1Kbyte Internal
SRAM

I/O Ports: 23 I/ line can be obtained from three ports; namely Port B, Port
C and Port D
Interrupts: Two External Interrupt source, located at port D. 19 different
interrupt vectors supporting 19 events generated by internal peripherals.
Timer/Counter: Three Internal Timers are available, two 8 bit, one 16 bit,
offering various operating modes and supporting internal or external
clocking.
SPI (Serial Peripheral interface): ATmega8 holds three communication
devices integrated. One of them is Serial Peripheral Interface. Four pins
are assigned to Atmega8 to implement this scheme of communication.
USART: One of the most powerful communication solutions is USART
and ATmega8 supports both synchronous and asynchronous data transfer
schemes. It has three pins assigned for that. In many projects, this module
is extensively used for PC-Micro controller communication.
TWI (Two Wire Interface): Another communication device that is
present in ATmega8 is Two Wire Interface. It allows designers to set up a
commutation between two devices using just two wires along with a
common ground connection, As the TWI output is made by means of open
collector outputs, thus external pull up resistors are required to make the
circuit.
Analog Comparator: A comparator module is integrated in the IC that
provides comparison facility between two voltages connected to the two
inputs of the Analog comparator via External pins attached to the micro
controller.
Analog to Digital Converter: Inbuilt analog to digital converter can
convert an analog input signal into digital data of 10bit resolution. For
most of the low end application this much resolution is enough.
DC MOTORS:
Whenever a robotics hobbyist talk about making a robot, the first thing
comes to his mind is making the robot move on the ground. And there are always
two options in front of the designer whether to use a DC motor or a stepper motor.
When it comes to speed, weight, size, cost... DC motors are always preferred over
stepper motors. There are many things which you can do with your DC motor
when interfaced with a microcontroller. For example you can control the speed
of motor; you can control the direction of rotation. Rather of being cheap, they
only increase the size of the design b ard, which camisole time is not required so
using a small 16 pin IC is preferred for this purpose

In this part of tutorial we will learn to interface and control of a DC motor


with a microcontroller. Usually H‐bridge is preferred way of interfacing a DC
motor. These days many IC manufacturers have H‐bridge motor driver available
in the market like L293D is st used H‐ Bridge driver IC. H‐bridge can also be
made with the help of transistors and MOSFETs etc.

5.1.5.1 DC Motor with Gear:

The DC motors don’t have enough torque to drive a robot directly by


connecting wheels in it.

Gears are used to increase the torque of dc motor on the expense of its speed

Mathematical interpretation:

Rotational power (Pr) is given by:

Pr =Torque (T) * Rotational Speed (ω)


Thus

Note:

In toy car, there a gear box that contains several combinations of


gears.

Geared motor has gears box at its front

Figure 5.1.5.1 DC Motor with Gear


As you can see in the figure above there are four switching elements named
as "High side left", "High side right", "Low side right", "Low side left".

When these switches are turned on in pairs motor changes its direction
accordingly. Like, if we switch on High side left and Low side right then motor
rotate in forward direction, as current flows from P\power supply through the
motor coil goes to ground via switch low side right. This is shown in the figure
below.

Similarly, when you switch on low side left and high side right, the current
flows in pposite direction and motor rotates in backward direction. This is the
basic working of H‐Bridge. We can also make a small truth table according to
the switching of H‐Bridge explained above

5.1.5.2 Truth Table Of DC

Motor:

High Left High Right Low Left Low Right Description

On Off Off On Motor runs clockwise


Off On On Off Motor runs anti‐clockwise

On On Off Off Motor stops or decelerates

Off Off On On Motor stops or decelerates

Table 5.1.5.1: Truth Table of DC Motor

As already said, H‐bridge can be made with the help of transistors as well
as MOSFETs; the only thing is the power handling capacity of the circuit. If
motors are needed to run with high current then lot of dissipation is there. So head
sinks are needed to cool the circuit. Now you might be thinking why I did not
discuss the cases like High side left on and Low side left on or high side right on
and low side right on. Clearly seen in the diagram, you don't want to burn your
power supply by shorting them. So that is why those combinations are not
discussed in the truth table. So we have seen that using simple switching elements
we can make our own H‐Bridge, ther option we have is using an IC based H‐
bridge driver.

MOTOR DRIVER:

Figure 5.1.6.1 Driver Circuit IC L293D

L293D a dual H‐Bridge motor Vision Robot driver, so with one IC we can
interface two DC motors which can be controlled in both clockwise and counter
clockwise direction and if you have motor with fix direction of motion. You can
make use of all the four I/Os to connect up to four DC motors. L293D has output
current of 600mA and peak output current of 1.2A per channel. Moreover for
protection of circuit from back EMF output diodes are included within the IC the
output supply (VCC2) has a wide range from 4.5V to 36V, which has made
L293D a best choice for DC motor driver.

Whenever a robotics hobbyist talk about making a robot, the first thing
comes to his mind is making the robot move on the ground. And there are always
two options in front of the designer whether to use a DC motor or a stepper motor.
When it comes to speed, weight, size, cost...

DC motors are always preferred over stepper motors. There are many
things which you can do with your DC motor when interfaced with a
microcontroller. For example you can control the speed of motor; you can
control the direction of rotation. Rather of being cheap, they only increase the
size of the design b ard, which camisole times not required so using a small 16
pin IC is preferred for this purpose. In this part of tutorial we will learn to
interface and control of a DC m t r with a microcontroller. Usually H‐bridge is
preferred way of interfacing a DC motor. These days many IC manufacturers
have H‐bridge motor driver available in the market like L293D is used H‐ Bridge
driver IC. H‐bridge can also be made with the help of transistors and MOSFETs
etc
5.1.6.1 Pin Description:

Pin

Function Name

No

1 Enable pin for Motor 1; active high Enable 1,2

2 Input 1 for Motor 1 Input 1

3 Output 1 for Motor 1 Output 1

4 Ground (0V) Ground

5 Ground (0V) Ground

6 Output 2 for Motor 1 Output 2


7 Input 2 for Motor 1 Input 2

8 Supply voltage for Motors; 9-12V (up to 36V) Vcc 2

9 Enable pin for Motor 2; active high Enable 3,4

10 Input 1 for Motor 1 Input 3

11 Output 1 for Motor 1 Output 3

12 Ground (0V) Ground

13 Ground (0V) Ground

14 Output 2 for Motor 1 Output 4

15 Input2 for Motor 1 Input 4


16 Supply voltage; 5V (up to 36V) Vcc 1

Table 5.1.6.1: Pin Description

A simple schematic for interfacing a DC motor using L293D is shown below.

Figure 5.1.6.2 Driver Circuit Description


As you can see in the circuit, three pins are needed for interfacing a DC
motor (A, B, Enable). If you want the o/p to be enabled completely then you can
connect Enable to VCC and only 2 pins needed from controller to make the motor
work. As per the truth mentioned in the image above it’s fairly simple to program
the microcontroller. It’s also clear from the truth table of BJT circuit and L293D
the programming will be same for both of them, just keeping in mind the allowed
combinations of A and B.

8 HUMIDITY & TEMPERATURE SENSOR (DHT11):

Figure 5.1.8.1 Humidity & Temperature sensor (DHT11

The DHT11 is a basic, low-cost digital temperature and humidity


sensor. It uses a capacitive humidity sensor and a thermistor to
measure the surrounding air, and spits out a digital signal on the
data pin (no analog input pins needed). It’s fairly simple to use, but
requires careful timing to grab data. The only real downside of this
sensor is you can only get new data from it once every 2 seconds.

This sensor includes a resistive-type humidity measurement component


and an NTC temperature measurement component, and connects to a high-
performance 8-bit microcontroller, offering excellent quality, fast response, anti-
interference ability and cost-effectiveness. Each DHT11 element is strictly
calibrated in the laboratory that is extremely accurate on humidity calibration.
The calibration coefficients are stored as programmers in the OTP memory,
which are used by the sensor’s internal signal detecting process. The single-wire
serial interface makes system integration quick and easy. Its small size, low
power consumption and up-to-20 meter signal transmission making it the best
choice for various applications, including those most demanding ones. The
component is 4-pin single row pin package.

Features:

Full range temperature compensated


Relative humidity and temperature measurement
Calibrated digital signal
Outstanding long-term stability
Extra components not needed
Long transmission distance
Low power consumption
4 pins packaged and fully interchangeable
Communication Interface (Single-Wire Two Way):

The interesting thing in this module is the protocol that uses to transfer
data. All the sensor readings are sent using a single wire bus which reduces the
cost and extends the distance. In order to send data over a bus you have to
describe the way the data will be transferred, so that transmitter and receiver can
understand what says each other. This is what a protocol does. It describes the
way the data are transmitted. On DHT-11 the 1-wire data bus is pulled up with a
resistor to VCC. So if nothing is occurred the voltage on the bus is equal to VCC.

Request: To make the DHT-11 to send you the sensor readings you have
to send it a request. The request is, to pull down the bus for more than
18ms in order to give DHT time to understand it and then pull it up for
40uS.
Response: What comes after the request is the DHT-11 response. This is
an automatic reply from DHT which indicates that DHT received your
request. The response is ~54uS low and 80uS high
Data Reading: What will come after the response is the sensor data. The
data will be packed in a packet of 5 segments of 8-bits each. Totally 5×8
=40bits.
MOISTURE SENSOR:

Figure 5.1.9.1 Moisture Sensor


This Moisture Sensor uses Immersion Gold which protects the nickel from
oxidation. Electroless nickel immersion gold (ENIG) has several advantages
over more conventional (and cheaper) surface plating such as HASL (solder),
including excellent surface planarity (particularly helpful for PCB's with large
BGA packages), good oxidation resistance, and usability for untreated contact
surfaces such as membrane switches and contact points. This Moisture Sensor
can read the amount of moisture present in the soil surrounding it. It's a low
tech sensor, but ideal for monitoring an urban garden, or your pet plant's water
level. This is a must have tool for a connected garden!
This Moisture Sensor can be used to detect the moisture of soil or judge
if there is water around the sensor, let the plants in your garden reach out for
human help. They can be very to use, just insert it into the soil and then read
it. With help of this sensor, it will be realizable to make the plant remind you:
Hey, I am thirsty now, please give me some water. This Moisture Sensor uses
the two probes to pass current through the soil, and then it reads that resistance
to get the moisture level. More water makes the soil conduct electricity more
easily (less resistance), while dry soil conducts electricity poorly (more
resistance).

It will be helpful to remind you to water your indoor plants or to monitor


the soil moisture in your garden. The IO Expansion Shield is the perfect shield to
connect this senor to Arduino. This item has low power consumption, and high
sensitivity, which are the biggest characteristics of this mdoule. This item can be
compatible with Arduino UNO、Arduino mega2560、Arduino ADK etc.

5.1.9.1 Features:

Working voltage: 5V
Working Current: <20ma
Interface: Analog
Depth of detection: 37mm
Working Temperature: 10℃~30℃
Weight: 3g
Size: 63×20×8mm
Arduino compatible interface
Low power consumption
High sensitivity
Output voltage signal: 0~4.2V
2 Pin Definition:

Figure 5.1.9.3 Moisture Sensor Pin Definition

"S" stand for signal input


"+" stand for power supply
"-" stand for GND
5.1.9.2 Connecting Diagram:
Figure 5.1.9.4 Connecting Diagram

5.1.9.1 Characteristics:

Wi-Fi Direct (P2P), soft-AP


Built-in TCP / IP protocol stack
Built-in TR switch, balun, LNA, power amplifier and matching
network
Built-in PLL, voltage regulator and power management components
802.11b mode + 19.5dBm output power
Built-in temperature sensor
Support antenna diversity off leakage current is less than 10uA Built-
in low-power 32-bit CPU: can double as an application processor SDIO
2.0, SPI, UARTSTBC, 1x1 MIMO, 2x1 MIMO A-MPDU, A-MSDU
aggregation and the 0.4 Within wake 2ms, connect and transfer data
packets standby power consumption of less than 1.0mW (DTIM3)

BLUETOOTH MODULE:

Figure 5.1.11.1 Bluetooth Module

HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module,
designed for transparent wireless serial connection setup. Serial port Bluetooth
module is fully qualified Bluetooth V2.0+EDR (Enhanced Data Rate) 3Mbps
Modulation with complete 2.4GHz radio transceiver and baseband. It uses CSR
Bluecore 04-External single chip Bluetooth system with CMOS technology and
with AFH(Adaptive Frequency Hopping Feature). It has the footprint as small as
12.7mmx27mm. Hope it will simplify your overall design/development cycle

5.1.11.1 Specifications:

Hardware features

Typical -80dBm sensitivity


Up to +4dBm RF transmit power
Low Power 1.8V Operation, 1.8 to 3.6V I/O
PIO control
UART interface with programmable baud rate
With integrated antenna
With edge connector
Software features

Default Baud rate: 38400, Data bits:8, Stop bit:1,Parity:No parity, Data
control: has.
Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.
Given a rising pulse in PIO0, device will be disconnected.
Status instruction port PIO1: low-disconnected, high-connected;
PIO10 and PIO11 can be connected to red and blue led separately.
When master and slave are paired, red and blue led blinks 1time/2s in
interval, while disconnected only blue led blinks 2times/s.
Auto-connect to the last device on power as default.

Permit pairing device to connect as defaultAuto-pairing PINCODE:”0000” as


default
Auto-reconnect in 30 min when disconnected as a result of beyond the
range of connection.

HARDWARE:
Figure 5.1.11.7 Bluetooth Module Hardwar

5.2 Software Requirements:


5.2.1 ARDUINO IDE
The Arduino Integrated Development Environment - or Arduino Software
(IDE) - contains a text editor for writing code, a message area, a text console,
a toolbar with buttons for common functions and a series of menus. It connects
to the Arduino and Genuino hardware to upload programs and communicate
with them. The steps involved in ARDUINO software are:
Verify
Checks your code for errors compiling it.
Upload
Compiles your code and uploads it to the configured board. See

uploading below for details.

Note: If you are using an external programmer with your


board, you can hold down the "shift" key on your computer
when using this icon. The text will change to "Upload using
Programmer"

New

Creates a new sketch.

Open

Presents a menu of all the sketches in your sketchbook.


Clicking one will open it within the current window
overwriting its content.
Note: due to a bug in Java, this menu doesn't scroll; if you
need to open a sketch late in the list, use the File | Sketchbook
menu instead.

Save

Saves your sketch.

Serial Monitor

Opens the serial monitor.

5.2.1.1 File:

New
Creates a new instance of the editor, with the bare minimum structure of a
sketch already in place.

Open
Allows loading a sketch file browsing through the computer drives and
folders.

OpenRecent
Provides a short list of the most recent sketches, ready to be opened.

Sketchbook
Shows the current sketches within the sketchbook folder structure; clicking
on any name opens the corresponding sketch in a new editor instance.

Examples
Any example provided by the Arduino Software (IDE) or library shows up
in this menu item. All the examples are structured in a tree that allows easy
access by topic or library.
Close
Closes the instance of the Arduino Software from which it is clicked.

Save
Saves the sketch with the current name. If the file hasn't been named
before, a name will be provided in a "Save as...” window.

Saveas...
Allows saving the current sketch with a different name.

PageSetup
It shows the Page Setup window for printing.

Print
Sends the current sketch to the printer according to the settings defined in
Page Setup.

Preferences
Opens the Preferences window where some settings of the IDE may be
customized, as the language of the IDE interface.

Quit
Closes all IDE windows. The same sketches open when Quit was chosen
will be automatically reopened the next time you start the IDE.

5.2.1.2 Edit

Undo/Redo
Goes back of one or more steps you did while editing; when you go back,
you may go forward with Redo.
Cut
Removes the selected text from the editor and places it into the clipboard.

Copy
Duplicates the selected text in the editor and places it into the clipboard.

CopyforForum
Copies the code of your sketch to the clipboard in a form suitable for
posting to the forum, complete with syntax coloring.

CopyasHTML
Copies the code of your sketch to the clipboard as HTML, suitable for
embedding in web pages.

Paste
Puts the contents of the clipboard at the cursor position, in the editor.

SelectAll
Selects and highlights the whole content of the editor.

Comment/Uncomment
Puts or removes the // comment marker at the beginning of each selected
line.

Increase/DecreaseIndent
Adds or subtracts a space at the beginning of each selected line, moving
the text one space on the right or eliminating a space at the beginning.

Find
Opens the Find and Replace window where you can specify text to search
inside the current sketch according to several options.
FindNext
Highlights the next occurrence - if any - of the string specified as the search
item in the Find window, relative to the cursor position.

FindPrevious
Highlights the previous occurrence - if any - of the string specified as the
search item in the Find window relative to the cursor position.

4.2.1.3 Sketch:

Verify/Compile
Checks your sketch for errors compiling it; it will report memory usage for
code and variables in the console area.

Upload
Compiles and loads the binary file onto the configured board through the
configured Port.

UploadUsingProgrammer
This will overwrite the bootloader on the board; you will need to use Tools
> Burn Boot loader to restore it and be able to Upload to USB serial port
again. However, it allows you to use the full capacity of the Flash memory
for your sketch. Please note that this command will NOT burn the fuses.
To do so a Tools -> Burn Boot loader command must be executed.

ExportCompiledBinary
Saves a .hex file that may be kept as archive or sent to the board using
other tools.

ShowSketchFolder
Opens the current sketch folder.
IncludeLibrary
Adds a library to your sketch by inserting #include statements at the start
of your code. For more details, see libraries below. Additionally, from this
menu item you can access the Library Manager and import new libraries
from .zip files.

AddFile...
Adds a source file to the sketch (it will be copied from its current location).
The new file appears in a new tab in the sketch window. Files can be
removed from the sketch using the tab menu accessible clicking on the
small triangle icon below the serial monitor one on the right side o the
toolbar.

5.2.1.4 Tools:

AutoFormat
This formats your code nicely: i.e. indents it so that opening and closing
curly braces line up, and that the statements inside curly braces are
indented more.

ArchiveSketch
Archives a copy of the current sketch in .zip format. The archive is placed
in the same directory as the sketch.

FixEncoding&Reload
Fixes possible discrepancies between the editor char map encoding and
other operating systems char maps.

SerialMonitor
Opens the serial monitor window and initiates the exchange of data with
any connected board on the currently selected Port. This usually resets the
board, if the board supports Reset over serial port opening.

Board
Select the board that you're using. See below for descriptions of the various
boards.

Port
This menu contains all the serial devices (real or virtual) on your machine.
It should automatically refresh every time you open the top-level tools
menu.
Programmer
For selecting a hardware programmer when programming a board or chip
and not using the onboard USB-serial connection. Normally you won't
need this, but if you're burning a boot loader to a new microcontroller, you
will use this.

BurnBootloader
The items in this menu allow you to burn a boot loader onto the
microcontroller on an Arduino board. This is not required for normal use
of an Arduino or Genuino board but is useful if you purchase a new
ATmega microcontroller (which normally comes without a boot loader).
Ensure that you've selected the correct board from the Boards menu before
burning the boot loader on the target board. This command also set the
right fuses.
APPLICATIONS:

1. The system is beneficial to the farmers for the basic seed sowing operation.
2. This unit can be connected to the trackers to do automation.
3. This system very useful in garden ,road side etc
4. This robot unit also very useful in stadium.

Advantages:
1. The mode of operation of this machine is very simple even to the lay man.
2. Labor problem can be reduced.

DISADAVANTAGES:
 The end product involves mechanical features, which is not implemented in
the prototype unit. Initial investment is more.

Future Scope

For project demo concern, we have developed a prototype module. In future, this
project can be taken to the product level. To make this project as user friendly and
durable, we need to make it compact and cost effective. Going further, most of the
units can be embedded along with the controller on a single board with change in
technology, thereby reducing the size of the system.

CONCLUSION

The project is designed using structured modeling and is able to provide the desired
results. It can be successfully implemented as a Real Time system with certain
modifications. Science is discovering or creating major breakthrough in various
fields, and hence technology keeps changing from time to time. Going further, most
of the units can be fabricated on a single along with microcontroller thus making the
system compact thereby making the existing system more effective. To make the
system applicable for real time purposes components with greater range needs to be
implemented.

REFERENCES:
[1] Gupta, N., 2016. Decline of Cultivators and Growth of Agricultural Labourers in
India from 2001 to 2011. International Journal of Rural Management, 12(2),
pp.179-198.
[2] Zhang, C. and Kovacs, J.M., 2012. The application of small unmanned aerial
systems for precision agriculture: a review. Precision agriculture, 13(6), pp.693-
712.
[3] Kapoor, K., Pandey, K.K., Jain, A.K. and Nandan, A., 2014. Evolution of solar
energy in India: A review. Renewable and Sustainable Energy Reviews, 40,
pp.475-487.
[4] Kumar, A., Kamal, K., Arshad, M.O., Mathavan, S. and Vadamala, T., 2014,
October. Smart irrigation using low-cost moisture sensors and XBee-based
communication. In Global Humanitarian Technology Conference (GHTC), 2014

You might also like