Agriculture Multifunction Robot Report
Agriculture Multifunction Robot Report
Agriculture Multifunction Robot Report
INTRODUCTION
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]
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:
Four wheels are connected at the base for the flexible movement of robot
HARDAWARE COMPONETS:
SOFTAWARE USED:
1. Arduino IDE
ARDUINO UNO:
Summary:
Microcontroller ATmega328
Operating Voltage 5V
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
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.
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 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:
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.
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.
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.
5.1.2.1 Features:
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
Gears are used to increase the torque of dc motor on the expense of its speed
Mathematical interpretation:
Note:
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
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:
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
Features:
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:
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:
5.1.9.1 Characteristics:
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
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.
HARDWARE:
Figure 5.1.11.7 Bluetooth Module Hardwar
New
Open
Save
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