Nothing Special   »   [go: up one dir, main page]

Chapter 1 Introduction To 4

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

CHAPTER 1

INTRODUCTION

Our project aims to provide a robotic vehicle equipped with a


wireless cultivation system for agriculture purposes. This
system is to be useful in cultivating of large area of land. The
vehicle can be controlled remotely by an android device for
easy operation. It uses android application commands to move
in front, back and left right directions. The vehicle consists of
receivers interfaced to an Arduino microcontroller. On
receiving command from the receiver. The Arduino
microcontroller now operates the movement motor through a
driver IC. The robotic vehicle can be easily operated from any
android device. It provides a good user interface for handling
the vehicle. The android device can operate the vehicle at a
good Bluetooth communication range. The Bluetooth receiver
at the vehicle is used to transmit control movement data from
app to vehicle. The equipment mounted on robot allows for
efficient in cultivation of land
The mobile robot is controlled using an Arduino
microcontroller and communicates with the phone Bluetooth
prototype has been developed to illustrate the effectiveness of
the proposed system. Robotics is an emerging field that
merges the concepts of cloud technologies and service robots.

Smart agriculture has emerged as a promising solution to


address the challenges faced by traditional farming methods,
including resource inefficiency, labor intensity, and
environmental concerns. Leveraging advancements in
technology, particularly robotics and automation, smart
agriculture aims to optimize agricultural processes, enhance
productivity, and promote sustainability.
One such innovation in the realm of smart agriculture is the
development of agricultural robots using Arduino and L293D
IC. Arduino, a popular open-source electronics platform,
provides a flexible and cost-effective foundation for building
various automation projects. The L293D IC, a motor driver
integrated circuit, acts as a bridge between the Arduino
microcontroller and the motors, enabling precise control and
efficient operation of robotic systems.
By integrating Arduino and L293D IC into agricultural robots,
farmers can automate a wide range of tasks such as planting,
watering etc. These robots can operate autonomously or be
remotely controlled, offering farmers greater flexibility and
efficiency in managing their crops.
In conclusion, the integration of Arduino and L293D IC into
agricultural robots represents a significant advancement in
smart agriculture technology. By automating various farming
tasks and leveraging data-driven insights, these robots have
the potential to revolutionize the way crops are cultivated,
leading to increased productivity, sustainability, and
profitability in the agricultural sector.
CHAPTER 2

PROPOSED SYSTEM
Our project aims to provide a robotic vehicle equipped with a
wireless cultivating system.

The block diagram of IOT based robot is shown by fig.1,


which consists of plurality of sensors, Arduino uno, dc motor
and Bluetooth module. Power offer could be a regard to
supply of electricity. A device which provides electricity or
different kinds of power to drive an output load or various
number of installed components. The supply is mostly
ordinarily injected to voltage consuming component, less
typically to mechanical parts, and barely other parts. In this
device a 12V DC power is offer to all electronics related
component. For this purpose, there is a requirement to step
down electrical device, rectifier, transformer, and filter circuit
for smoothing generated 12V DC power. In proposed system
we are going to designed a low-cost Microcontroller Based
Android controlled Robot. The robot will move forward,
backward, left and right direction by following the
instructions given from the mobile. If any obstacle detected
robot will stop. This system can be helpful for various
purposes.

The Attention commands are transferred to the electronic


devices. In reverse, the electronic device transfers the stored
messages from the wireless module. The micro controller
checks the bluetooth command and after validating the
command it performs further certain task on the robot or
device. The micro controller used here in this project is
incorporated in an Arduino UNO board.
Fig. Schematic diagram

The ongoing revolution of Internet, together With the growing


robotics in many activities of everyday life. In this method we
use embedded C language for coding and debugging in
arduino by using ISP programmer. Arduino-IDE tool. And for
controlling we use L293D driver IC. Finding this robot is a
reprogrammable, multifunctional manipulator designed to
move or pick and place the materials, Parts and tools. These
robots are not only used for lifting purpose but also for
polishing, sealing, Machine handling and minor surgeries
also. The automatic mode robot is programmed within the
embedded C Programming and it makes the robot to act as
human beings. This version of robot is mainly defined by the
factor named Artificial Intelligence. The fig block diagram
gives an idea of how the robot works. It shows how the
system circuit works and how the current flow goes through
it. The wireless communication used is Bluetooth which helps
in transferring the data and messages

CHAPTER 3

EMBEDDED SYSTEMS

3.1 Embedded Systems:

An embedded system is a computer system designed to


perform one or a few dedicated functions often with real-time
computing constraints. It is embedded as part of a complete
device often including hardware and mechanical parts. By
contrast, a general-purpose computer, such as a personal
computer (PC), is designed to be flexible and to meet a wide
range of end-user needs. Embedded systems control many
devices in common use today.

Embedded systems are controlled by one or more main


processing cores that are typically either microcontrollers or
digital signal processors (DSP). The key characteristic,
however, is being dedicated to handle a particular task, which
may require very powerful processors. For example, air traffic
control systems may usefully be viewed as embedded, even
though they involve mainframe computers and dedicated
regional and national networks between airports and radar
sites. (Each radar probably includes one or more embedded
systems of its own.)

Since the embedded system is dedicated to specific tasks,


design engineers can optimize it to reduce the size and cost of
the product and increase the reliability and performance.
Some embedded systems are mass-produced, benefiting from
economies of scale.

Physically embedded systems range from portable devices


such as digital watches and MP3 players, to large stationary
installations like traffic lights, factory controllers, or the
systems controlling nuclear power plants. Complexity varies
from low, with a single microcontroller chip, to very high with
multiple units, peripherals and networks mounted inside a
large chassis or enclosure.

In general, "embedded system" is not a strictly definable term,


as most systems have some element of extensibility or
programmability. For example, handheld computers share
some elements with embedded systems such as the operating
systems and microprocessors which power them, but they
allow different applications to be loaded and peripherals to be
connected. Moreover, even systems which don't expose
programmability as a primary feature generally need to
support software updates. On a continuum from "general
purpose" to "embedded", large application systems will have
subcomponents at most points even if the system as a whole is
"designed to perform one or a few dedicated functions", and is
thus appropriate to call "embedded". A modern example of
embedded system is shown in fig: 2.1.
Fig 3.1:A modern example of embedded system

Labeled parts include microprocessor (4), RAM (6), flash


memory (7).Embedded systems programming is not like
normal PC programming. In many ways, programming for an
embedded system is like programming PC 15 years ago. The
hardware for the system is usually chosen to make the device
as cheap as possible. Spending an extra dollar a unit in order
to make things easier to program can cost millions. Hiring a
programmer for an extra month is cheap in comparison. This
means the programmer must make do with slow processors
and low memory, while at the same time battling a need for
efficiency not seen in most PC applications. Below is a list of
issues specific to the embedded field.

3.1.1 History:
In the earliest years of computers in the 1930–40s, computers
were sometimes dedicated to a single task, but were far too
large and expensive for most kinds of tasks performed by
embedded computers of today. Over time however, the
concept of programmable controllers evolved from
traditional electromechanical sequencers, via solid state
devices, to the use of computer technology.

One of the first recognizably modern embedded systems was


the Apollo Guidance Computer, developed by Charles Stark
Draper at the MIT Instrumentation Laboratory. At the
project's inception, the Apollo guidance computer was
considered the riskiest item in the Apollo project as it
employed the then newly developed monolithic integrated
circuits to reduce the size and weight. An early mass-
produced embedded system was the Autonetics D-17
guidance computer for the Minuteman missile, released in
1961. It was built from transistor logic and had a hard disk for
main memory. When the Minuteman II went into production
in 1966, the D-17 was replaced with a new computer that was
the first high-volume use of integrated circuits.

3.1.2 Tools:
Embedded development makes up a small fraction of total
programming. There's also a large number of embedded
architectures, unlike the PC world where 1 instruction set
rules, and the Unix world where there's only 3 or 4 major
ones. This means that the tools are more expensive. It also
means that they're lowering featured, and less developed. On a
major embedded project, at some point you will almost
always find a compiler bug of some sort.
Debugging tools are another issue. Since you can't always run
general programs on your embedded processor, you can't
always run a debugger on it. This makes fixing your program
difficult. Special hardware such as JTAG ports can overcome
this issue in part. However, if you stop on a breakpoint when
your system is controlling real world hardware (such as a
motor), permanent equipment damage can occur. As a result,
people doing embedded programming quickly become
masters at using serial IO channels and error message style
debugging.
3.1.3 Resources:

To save costs, embedded systems frequently have the cheapest


processors that can do the job. This means your programs
need to be written as efficiently as possible. When dealing
with large data sets, issues like memory cache misses that
never matter in PC programming can hurt you. Luckily, this
won't happen too often- use reasonably efficient algorithms to
start, and optimize only when necessary. Of course, normal
profilers won't work well, due to the same reason debuggers
don't work well.
Memory is also an issue. For the same cost savings reasons,
embedded systems usually have the least memory they can get
away with. That means their algorithms must be memory
efficient (unlike in PC programs, you will frequently sacrifice
processor time for memory, rather than the reverse). It also
means you can't afford to leak memory. Embedded
applications generally use deterministic memory techniques
and avoid the default "new" and "malloc" functions, so that
leaks can be found and eliminated more easily. Other
resources programmers expect may not even exist. For
example, most embedded processors do not have hardware
FPUs (Floating-Point Processing Unit). These resources either
need to be emulated in software, or avoided altogether.
3.1.4 Real Time Issues:

Embedded systems frequently control hardware, and must be


able to respond to them in real time. Failure to do so could
cause inaccuracy in measurements, or even damage hardware
such as motors. This is made even more difficult by the lack
of resources available. Almost all embedded systems need to
be able to prioritize some tasks over others, and to be able to
put off/skip low priority tasks such as UI in favor of high
priority tasks like hardware control.

3.2 Need For Embedded Systems:

The uses of embedded systems are virtually limitless, because


every day new products are introduced to the market that
utilizes embedded computers in novel ways. In recent years,
hardware such as microprocessors, microcontrollers, and
FPGA chips have become much cheaper. So when
implementing a new form of control, it's wiser to just buy the
generic chip and write your own custom software for it.
Producing a custom-made chip to handle a particular task or
set of tasks costs far more time and money. Many embedded
computers even come with extensive libraries, so that "writing
your own software" becomes a very trivial task indeed. From
an implementation viewpoint, there is a major difference
between a computer and an embedded system. Embedded
systems are often required to provide Real-Time response.
The main elements that make embedded systems unique are
its reliability and ease in debugging.
3.2.1 Debugging:

Embedded debugging may be performed at different levels,


depending on the facilities available. From simplest to most
sophisticate they can be roughly grouped into the following
areas:
 Interactive resident debugging, using the simple shell
provided by the embedded operating system (e.g. Forth
and Basic)
 External debugging using logging or serial port output to
trace operation using either a monitor in flash or using a
debug server like the Remedy Debugger which even
works for heterogeneous multi core systems.
 An in-circuit debugger (ICD), a hardware device that
connects to the microprocessor via a JTAG or Nexus
interface. This allows the operation of the
microprocessor to be controlled externally, but is
typically restricted to specific debugging capabilities in
the processor.
 An in-circuit emulator replaces the microprocessor with
a simulated equivalent, providing full control over all
aspects of the microprocessor.
 A complete emulator provides a simulation of all aspects
of the hardware, allowing all of it to be controlled and
modified and allowing debugging on a normal PC.
 Unless restricted to external debugging, the programmer
can typically load and run software through the tools,
view the code running in the processor, and start or stop
its operation. The view of the code may be as assembly
code or source-code.
Because an embedded system is often composed of a wide
variety of elements, the debugging strategy may vary. For
instance, debugging a software(and microprocessor) centric
embedded system is different from debugging an embedded
system where most of the processing is performed by
peripherals (DSP, FPGA, co-processor). An increasing
number of embedded systems today use more than one single
processor core. A common problem with multi-core
development is the proper synchronization of software
execution. In such a case, the embedded system design may
wish to check the data traffic on the busses between the
processor cores, which requires very low-level debugging, at
signal/bus level, with a logic analyzer, for instance.
3.2.2 Reliability:

Embedded systems often reside in machines that are expected


to run continuously for years without errors and in some cases
recover by themselves if an error occurs. Therefore the
software is usually developed and tested more carefully than
that for personal computers, and unreliable mechanical
moving parts such as disk drives, switches or buttons are
avoided.
Specific reliability issues may include:
 The system cannot safely be shut down for repair, or it is
too inaccessible to repair. Examples include space
systems, undersea cables, navigational beacons, bore-
hole systems, and automobiles.
 The system must be kept running for safety reasons.
"Limp modes" are less tolerable. Often backups are
selected by an operator. Examples include aircraft
navigation, reactor control systems, safety-critical
chemical factory controls, train signals, engines on
single-engine aircraft.
 The system will lose large amounts of money when shut
down: Telephone switches, factory controls, bridge and
elevator controls, funds transfer and market making,
automated sales and service.
A variety of techniques are used, sometimes in combination,
to recover from errors—both software bugs such as memory
leaks, and also soft errors in the hardware:
 Watchdog timer that resets the computer unless the
software periodically notifies the watchdog
 Subsystems with redundant spares that can be switched
over to
 software "limp modes" that provide partial function
 Designing with a Trusted Computing Base (TCB)
architecture[6] ensures a highly secure & reliable system
environment
 An Embedded Hypervisor is able to provide secure
encapsulation for any subsystem component, so that a
compromised software component cannot interfere with
other subsystems, or privileged-level system software.
This encapsulation keeps faults from propagating from
one subsystem to another, improving reliability. This
may also allow a subsystem to be automatically shut
down and restarted on fault detection.
 Immunity Aware Programming
3.3 Explanation of Embedded Systems:

3.3.1 Software Architecture:

There are several different types of software architecture in


common use.

 Simple Control Loop:

In this design, the software simply has a loop. The loop calls
subroutines, each of which manages a part of the hardware or
software.

 Interrupt Controlled System:

Some embedded systems are predominantly interrupting


controlled. This means that tasks performed by the system are
triggered by different kinds of events. An interrupt could be
generated for example by a timer in a predefined frequency, or
by a serial port controller receiving a byte. These kinds of
systems are used if event handlers need low latency and the
event handlers are short and simple.
Usually these kinds of systems run a simple task in a main
loop also, but this task is not very sensitive to unexpected
delays. Sometimes the interrupt handler will add longer tasks
to a queue structure. Later, after the interrupt handler has
finished, these tasks are executed by the main loop. This
method brings the system close to a multitasking kernel with
discrete processes.

 Cooperative Multitasking:

A non-preemptive multitasking system is very similar to the


simple control loop scheme, except that the loop is hidden in
an API. The programmer defines a series of tasks, and each
task gets its own environment to “run” in. When a task is idle,
it calls an idle routine, usually called “pause”, “wait”, “yield”,
“nop” (stands for no operation), etc.The advantages and
disadvantages are very similar to the control loop, except that
adding new software is easier, by simply writing a new task,
or adding to the queue-interpreter.

 Primitive Multitasking:

In this type of system, a low-level piece of code switches


between tasks or threads based on a timer (connected to an
interrupt). This is the level at which the system is generally
considered to have an "operating system" kernel. Depending
on how much functionality is required, it introduces more or
less of the complexities of managing multiple tasks running
conceptually in parallel.

As any code can potentially damage the data of another task


(except in larger systems using an MMU) programs must be
carefully designed and tested, and access to shared data must
be controlled by some synchronization strategy, such as
message queues, semaphores or a non-blocking
synchronization scheme.

Because of these complexities, it is common for organizations


to buy a real-time operating system, allowing the application
programmers to concentrate on device functionality rather
than operating system services, at least for large systems;
smaller systems often cannot afford the overhead associated
with a generic real time system, due to limitations regarding
memory size, performance, and/or battery life.

 Microkernels And Exokernels:

A microkernel is a logical step up from a real-time OS. The


usual arrangement is that the operating system kernel allocates
memory and switches the CPU to different threads of
execution. User mode processes implement major functions
such as file systems, network interfaces, etc.

In general, microkernels succeed when the task switching and


intertask communication is fast, and fail when they are slow.
Exokernels communicate efficiently by normal subroutine
calls. The hardware and all the software in the system are
available to, and extensible by application programmers.
Based on performance, functionality, requirement the
embedded systems are divided into three categories:

3.3.2 Stand Alone Embedded System:

These systems takes the input in the form of electrical signals


from transducers or commands from human beings such as
pressing of a button etc.., process them and produces desired
output. This entire process of taking input, processing it and
giving output is done in standalone mode. Such embedded
systems comes under stand alone embedded systems

Eg: microwave oven, air conditioner etc..

3.3.3 Real-time embedded systems:

Embedded systems which are used to perform a specific task


or operation in a specific time period those systems are called
as real-time embedded systems. There are two types of real-
time embedded systems.

 Hard Real-time embedded systems:

These embedded systems follow an absolute dead line time


period i.e.., if the tasking is not done in a particular time
period then there is a cause of damage to the entire equipment.

Eg: consider a system in which we have to open a valve


within 30 milliseconds. If this valve is not opened in 30 ms
this may cause damage to the entire equipment. So in such
cases we use embedded systems for doing automatic
operations.

 Soft Real Time embedded systems:

These embedded systems follow a relative dead line time


period i.e.., if the task is not done in a particular time that will
not cause damage to the equipment.

Eg: Consider a TV remote control system , if the remote


control takes a few milliseconds delay it will not cause
damage either to the TV or to the remote control. These
systems which will not cause damage when they are not
operated at considerable time period those systems comes
under soft real-time embedded systems.
3.3.4 Network communication embedded systems:

A wide range network interfacing communication is provided


by using embedded systems.

Eg:

 Consider a web camera that is connected to the


computer with internet can be used to spread
communication like sending pictures, images, videos
etc.., to another computer with internet connection
throughout anywhere in the world.

 Consider a web camera that is connected at the door


lock.

Whenever a person comes near the door, it captures the image


of a person and sends to the desktop of your computer which
is connected to internet. This gives an alerting message with
image on to the desktop of your computer, and then you can
open the door lock just by clicking the mouse. Fig: 2.2 show
the network communications in embedded systems.
Fig 3.2: Network communication embedded systems

3.3.5 Different types of processing units:

The central processing unit (c.p.u) can be any one of the


following microprocessor, microcontroller, digital signal
processing.

 Among these Microcontroller is of low cost processor


and one of the main advantage of microcontrollers is, the
components such as memory, serial communication
interfaces, analog to digital converters etc.., all these are
built on a single chip. The numbers of external
components that are connected to it are very less
according to the application.

 Microprocessors are more powerful than


microcontrollers. They are used in major applications
with a number of tasking requirements. But the
microprocessor requires many external components like
memory, serial communication, hard disk, input output
ports etc.., so the power consumption is also very high
when compared to microcontrollers.

 Digital signal processing is used mainly for the


applications that particularly involved with processing of
signals

3.4 APPLICATIONS OF EMBEDDED SYSTEMS:


3.4.1 Consumer applications:
At home we use a number of embedded systems which
include microwave oven, remote control, vcd players, dvd
players, camera etc….

Fig3.3: Automatic coffee makes equipment


3.4.2 Office automation:
We use systems like fax machine, modem, printer etc…
Fig3.4: Fax machine Fig3.5:
Printing machine

3.4.3. Industrial automation:

Today a lot of industries are using embedded systems for


process control. In industries we design the embedded
systems to perform a specific operation like monitoring
temperature, pressure, humidity ,voltage, current etc.., and
basing on these monitored levels we do control other devices,
we can send information to a centralized monitoring station.
Fig3.6: Robot
In critical industries where human presence is avoided there
we can use robots which are programmed to do a specific
operation.

3.4.5 Computer networking:

Embedded systems are used as bridges routers etc..

Fig3.7: Computer networking


3.4.6 Tele communications:

Cell phones, web cameras etc.

Fig3.8: Cell Phone Fig3.9: Web camera


CHAPTER 4

BLOCK DIAGRAM

LCD DISPLAY
POWERSUPPLY (16*2LINES)
12VOLTS DC
BLUETOOTH
MODULE
Arduino MICRO
CONTROLLER
CULTIVATOR BOARD
SYSTEM L293D
MOTOR

SOILLEVELING
DCMOTOR DCMOTOR

RELAY RELAY
DRIVER

SUBMERSIBLE
PUMP MOTOR

You might also like