Ip Based Robot Final
-
Upload
yo-gain-draw -
Category
Documents
-
view
86 -
download
2
description
Transcript of Ip Based Robot Final
1
1.0 Introduction
1.1 Background With the beginning of human civilization and rapid development in the
communication sector, we were able in developing human like creation that would
assist him/herin different as well as difficult tasks. In the early part of the first
millennium, human invented some sharp and pointed weapons for their daily tasks.
These objects were like their machines that would help them for their security and
hunting as well. With evolution human discovered different techniques that help in
creating complex mechanisms which would perform different repetitive tasks in a
simple and easy way.
Robot is an electronic and mechanical machine. It interacts with the physical
objects with given electronic programming and perform a specific task without any
difficulties. It has the ability to perceive and absorb data on physical environment,
process it and respond to various stimuli. The tasks are completed through purely
mechanical process and motion. Usuallly they contain sensor section to understand the
pysical environement. They also possess some parts like motors for their locomotion.
They may be either automatic, manual or hybrid. In automatic robot, the robot can
freely move according to situation of physical envoroment. Manual robots are
controlled by humans. An IP Based Robot is a mechanical and electronic manual
machine which is controlled by the user through a private IP. The robot is controlled
within an LAN.
The project we have undertaken is “IP BASED ROBOT”. It includes the
concept of networking, measuring conditions of physical environment and
Communication through IP. It provides the real time data of temperature data and real
time video streaming.
In this project, a robot is assigned with an IP address. It is connected to some
Local Area Network. Any device connected to this LAN can control the robot with
suitalble authority.A web application with GUI is developed in the project to
effectively control the robot.
1.2 Statements of problem
We want our robot to be controlled by authenticated user only. The motor at
robot should be controlled via WLAN. The authenticated user should be within the
coverage area. Robot must transmit temperature information and real time video
information to the user.
2
Cost of Wi-Fi module and IP camera is very high and are rarely available in the market.
It is difficult to place different mechanical and electronics equipment within single base
of the robot. There is also unavailability of simulation software for testing the project
based on IP and Wi-Fi. The Freeduino contains in built USB to TTL converter that can’t
tolerate large voltage spikes.
ENC28J60 Ethernet module is standard Ethernet to serial converter it has RJ45 jack for
Ethernet interface and ports for serial communication. A wireless router along with
ENC28J60 Ethernet module can function as single Wi-Fi module.
There is a software named “IP webcam” distributed from ip-webcam.appspot.com
that can turn the android device into “IP webcam”. Using this software and its services
we can view real time video. A software virtual bread board available from
virtualbreadboard.org can simulate small Arduino program.
1.3 Objective
Our project Wi-Fi based robot will certainly fulfill following objectives:
1.3.1Specific Objectives
1. To control robot in four direction.
2. To monitor temperature continuously.
3. To view visual information i.e. gathering information about environment.
4. To provide control to authorized user only.
1.3.2 General Objectives
1. This project can give information about environment conditions.
2. Different devices can be controlled through IP.
3. Visual and images information can be achieved.
1.4 Methodology
As our proposal was accepted, soon then we started doing our project in defined and
planned way. During the way of converting the theories into the practical we face many
problems, but we never panic as we had the alternative solutions to if the direct way was not
accurate. This can be seen in our project.
ENC28J60 module is used to convert Ethernet signal to serial signal as microcontroller
only accepts the serial data. Two motors are used which are controlled by L293D motor driver
IC. Two digital I/O pins are used for controlling driver IC.
3
Temperature sensor LM35 is used for temperature measurement and it is connected to
analog pin of Freeduino board.
For GUI, html code was written and Freeduino was made as web- host.
As commercial wired IP camera was unavailable and only wireless camera was easily
available but costs high. So, as alternate we replace IP camera using android phone. “IP
webcam” can convert android phone to IP webcam.
4
2.0 Literature review
2.1 IP Based Communication and History
IP is a protocol that is responsible for delivering packets from source to
destination host based on IP Address. IP Address is in the packet headers of each
packet.
The history of networking started long back from the invention of electronic
computers around 1950’s. Lots of packet switched networks were developed around
1960’s. ARPANET, Mark I, CYCLADES are some packet switched networks of that
time. ARPANET was leading network and it supported the internetworking between
the networks.
In 1982, TCP/IP was standardized and in January 1, 1982 it was approved for
ARPANET. That day is also known as Flag Day.(History of Internet, n.d.)
Internet was commercialized around 1995 and since then there is flood of
development in IP communication. E-mail, instant messaging, online shopping, social
networking, VoIP, video conferencing and other communication techniques based on
IP were developed at fast rate.(Internet Protocol, n.d.)
2.2 IP Based Projects and Researches
A project named “IP based weather station: MAUSAM PARISUCHAK” was
successfully conducted by ICIMOD, Godavari, Kathmandu. This project mainly
focuses on measuring environmental conditions of the remote environment. There are
temperature and humidity sensors mounted on the surface of the body. The conditions
of temperature and humidity are continuously updated in the web page. They have
used the microcontroller unit as web server. Interested user can get the information by
surfing the IP of the microcontroller.
Another project “Wi-Fi Robot” was also successfully completed by GDG
Kathmandu. This project used Arduino and Wi-Fi Module. The performance of Wi-Fi
Module is very good but it costs high. This project was done just for controlling the
robot in Wi-Fi range. They have also used ultrasound sensor for detecting the obstacle.
But this sensor does not provide any information to the user. They have used inbuilt
Wi-Fi library of the Arduino IDE. The movement of the robot was controlled using
simple Web Based GUI.(wi fi robot, n.d.)
There are many researches going ahead regarding IP based communication.
Internet of Thing (IoT) is the term that is expanding a lot. IoT refers to making
internet-like structure for identifying individual objects so that they can be easily
maintained by the computer or embedded systems. It is sure that internet and wireless
5
technologies will connect everything such as mobile phones, sensors, cars, TV etc. In
tighter manner in near future.(Internet of Things, internetofthings.fi).
2.3 IP Based Robot
IP based Robots are the electronic machines which are controlled within an
LAN networks. The robot is controlled by the authorized user with the private IP and
control over the movement of the robot is achieved. The user can view the temperature
of the space where the robot is forwarding. In this way the robot can be used to
monitor the temperature and humidity with real-time video transmission.
There are different projects developed based on IP Robots. However, taking those
information we have developed our project based on IP.
Block diagram:
Web Application to Access the Robot
Figure 2.3.1:- Block Diagram of Control Section
A web application is displayed in the computer to give the location of robot
with visual signals through IP camera. The authenticate user will be able to log in to
the web page. It will display the value of temperature in the web page. There will be
buttons in the form to control the direction of movement of the robot. The block
diagram shows the connections of various parts.
Wi-Fi
Modem
User
Input
6
Figure2.3.2:- Block Diagram of Robot Section
Android mobile is used as an IP camera to stream the online video in the
web page. It is a real time processing. The video signals captured from the android mobile is
transferred to the computers web page through android IP software system. The analog output
from the temperature sensor converted to the temperature in degree Celsius. The signals is
transmitted to the router after converting it in temperature. The analog output from the
temperature sensor is input to the Freeduino, after certain processing, by the Ethernet to serial
converter it is converted to digital signal and send it to the router. Through the LAN the wi-fi
signals are transferred to the web page and it is displayed in degree Celsius.
Android
mobile
Ethernet to Serial
Converter
Freeduino
Wireless Router
WI-Fi Signals
Temperature Sensor
Motors
7
Flow chart:
Figure:- 2.3.3 Flow Chart of The Project
Calculate Temperature
Display website
Is User
Authenticated
?
Display Control Panel and
Temperature
Update Temperature
Forward
Pressed?
Left
Pressed?
Right
Pressed?
Down
Pressed?
Motor1: Clockwise
Motor2: Clockwise
Motor1: Clockwise
Motor2: Stop
Motor1: Stop
Motor2: Clockwise
Motor1: Anticlockwise
Motor2: Anticlockwise
Stop
Pressed?
Motor1: Stop
Motor2: Stop
8
3.0 System design
3.1 Hardware design
3.1.1 Freeduino
Figure 3.1.1.1:- Freeduino View
Figure 3.1.1.1:- Freeduino View
Arduino is an open source embedded development platform consisting of a simple
development board and an easy to use development environment for writing, programming
and uploading codes. Freeduino is an Arduino compatible board and it is designed to be a cost
effective alternative to the official Arduino Board. It is compatible with Arduino compatible
shields, tools and the Arduino IDE. (freeduino, n.d.)
Arduino is an open source development platform, which means all the designs files are
available for free. Users may use these freely available design files, which include the board
schematics, PCB Files, codes, etc. in their projects making suitable modifications as their
application may require. A large Arduino user base ensures that you will get an excellent
technical help and assistance, which will greatly reduce your development time and increase
your learning experience.
Another great feature of the Arduino is its modularity approach. There is a wide range
of add on boards, called Shields, which plug onto an Arduino and help you achieve a specific
purpose, greatly simplifying the whole development process. For example, an Arduino motor
shield can plug onto an Arduino and help you control motors directly through the main board.
There are a wide range of such shields including GSM/GPS shields, Robotics shields, Ethernet
9
Shields, Bluetooth shields and even prototyping shields. Freeduino is completely compatible
with all Arduino compatible shields
Freeduino can be programmed directly through a USB connection to a PC through the
Arduino IDE, which is a simple and easy to use program development environment for
writing, compiling and uploading codes. Our Freeduino comes with Atmega328P
microcontroller.
Features
The board is built on a high quality FR-4(1.6 mm) double sided PCB with a green
solder mask and a clear and legible legend.
Great platform to learn embedded programming.
Compatible with all Arduino compatible shields and the Arduino IDE.
Comes with an Atmega328 with a pre-burnt Arduino boot loader.
Has a standard 6x1 AVR ISP Header.
All I/O pins connected by a female header, perfect for prototyping.
Completely open source, which means all circuits, board files, software, code, etc. are
available for free.
3.1.2 ENC 28J60 Ethernet Module
It is Ethernet module used to interface the internet data to the Arduino. Ethernet
module uses the new microchip ENC 28J60 Stand –Alone Ethernet Controller IC featuring a
host of features to handle most of the network protocol requirements. The board connects
directly to the microcontrollers with a standard SPI Interface with a transfer speed of up to
20MHZ.
Figure3.1.2.1: ENC 28J60 module
ENC 28J60 meets all the specification for IEEE 802.3.It incorporates a number of packet
filtering schemes to limit incoming packets. Communication with the arduino is implemented
via the SPI with data rates with the 10 Mb/s.(interfacing ENC28j60 Ethernet Module, n.d.)
10
Pin Configuration Features:
The features are listed as follows:
1. It consists of LAN connector with build in transformer.
2. It is a 2 status LEDs on LAN connector.
3. SPI takes place only few pins to add interface to our project. SPI interface with
clock speed 20 MHz is supported.
4. Space between the pin rows is 20 mm (0.8”).
5. It supports full and half duplex communications.
6. It uses a single supply 3.3V/5V.
7. It uses 25 MHz crystal.
Pin No. Name Description
1. SCK(Serial Clock) Clock pulse for synchronizing data
transmission
2. SI Data in for SPI interface
3. SO Data out for SPI interface
4. WOL(Wake On
LAN)
N/C
5. INT(Interrupt) INT out pin, active low(N/C)
6. CLK OUT(Clock
Out)
N/C
7. CS (Chip Select) For Selecting the chip
8. RST(Reset) Reset Signal for the Module(N/C)
9. GND(Ground) To provide the ground
10. VCC To supply power for the module
Table 3.1.2.1:- Pin configuration of ENC28j60 Ethernet Module
11
3.1.3 L293D Motor Driver:
L293D is a dual H-bridge motor driver integrated circuit (IC). Motor drivers act as
current amplifiers since they take a low-current control signal and provide a higher-current
signal. This higher current signal is used to drive the motors.
Figure 3.1.3.1:-L293D motor driver IC
It is an integrated circuit motor driver that can be used for simultaneous, bi-directional
control of two small motors. The L293 is limited to 600 mA, but in reality can only handle
much small currents unless it is done some serious heat sinking to keep the case temperature
down.The "D" version of it is built in with fly back diodes to minimize inductive voltage
spikes.
Pin Diagram:
The pin diagram is shown in the following diagram. L293D contains two inbuilt H-
bridge driver circuits. In its common mode of operation, two DC motors can be driven
simultaneously, both in forward and reverse direction. The motor operations of two motors
can be controlled by input logic at pins 2 & 7 and 10 & 15. Input logic 00 or 11 will stop the
corresponding motor. Logic 01 and 10 will rotate it in clockwise and anticlockwise directions,
respectively.
Enable pins 1 and 9 (corresponding to the two motors) must be high for motors to start
operating. When an enable input is high, the associated driver gets enabled. As a result, the
outputs become active and work in phase with their inputs. Similarly, when the enable input is
low, that driver is disabled, and their outputs are off and in the high-impedance state.
12
Figure 3.1.3.2:- Pin configuration of L293D
Pin Number Function Name
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 2
15 Input2 for Motor 1 Input 2
16 Supply voltage; 5V (up to 36V) Vcc
Table 3.1.3.1:- Pin Configuration of L293D
13
3.1.4 Temperature sensor LM35
LM35 is an integrated circuit sensor which can be used to measure temperature with an
electrical output proportional to temperature (in degree Celsius).
We choose LM35 to measure temperature because:
1. We can measure temperature more accurately than a using a thermistor.
2. The sensor circuitry is sealed and it is not subject to oxidation.
3. The LM35 generates a higher output voltage than thermocouples and it may not
require that output voltage be amplified.
Figure 3.1.4.1:- LM35 temperature sensor
14
Pin Description:-
Pin Number Pin Name Function
1. VCC Supply Voltage 5V (+35V to -2 V)
2 Output Gives output in the range +6V to -
1V
3 Ground Ground
Table 3.1.4.1:- pin configuration of LM35
LM35 has an output voltage that is proportional to the Celsius temperature. The scale factor is
.01V/oC. It does not require any external calibration or trimming and maintains an accuracy of
+/-0.4 oC at room temperature and +/- 0.8 oC over a range of 0 oC to +100 oC. Another
important characteristic of the LM35DZ is that it draws only 60 micro amps from its supply
and possesses a low self-heating capability. The sensor self-heating causes less than 0.1 oC
temperature rise in still air.
Working Principle:
The internal circuit diagram of LM35 is as shown below:-
Figure 3.1.4.2:- Internal circuit diagram of LM35
15
There are two transistors in the center of the drawing. One has ten
times the emitter area of the other. This means it has one tenth of the current density, since
the same current is going through both transistors. This causes a voltage across the resistor
R1 that is proportional to the absolute temperature, and is almost linear across the range. The
"almost" part is taken care of by a special circuit that straightens out the slightly curved graph
of voltage versus temperature.
The amplifier at the top ensures that the voltage at the base of the left transistor (Q1) is
proportional to absolute temperature (PTAT) by comparing the output of the two transistors.
The amplifier at the right converts absolute temperature (measured in Kelvin) into either
Fahrenheit or Celsius, depending on the part (LM35). The little circle with the "i" in it is a
constant current source circuit.
The two resistors are calibrated in the factory to produce a highly accurate temperature
sensor.The integrated circuit has many transistors in it, two in the middle, some in each
amplifier, some in the constant current source, and some in the curvature compensation
circuit. All of that is fit into the tiny package with three leads.
3.1.5 DC MOTORS:
Figure 3.1.5.1:- DC Motor
16
A DC motor is a widely used device that translates electrical pulses into the
mechanical movement. There are 2 leads in the DC motor:
1: Positive (+) Leads
2: Negative (-) Leads
If we connect the DC source, it moves the motor in a direction. Obviously changing
the polarity of the connection makes the DC motor to move in reverse direction. DC motors
have a rotating armature winding (winding in which a voltage is induced) but non-rotating
armature magnetic field and a static field winding. The speed of the motor can be controlled
by changing the voltage applied to the armature circuit.
3.1.6 Other Hardwares
3.1.6.1 Wireless Router
Figure 3.1.6.1:- Digicom Wireless Router
17
Supporting the latest ADSL standard, the DAPR 540b/g provides higher performance
(up to 24Mbps downstream and 3.5Mbps upstream) and longer reach from the central office of
your ISP(Internet Service Provider), which gives you smooth media streaming, so you can
watch TV, listen to music, broadcast over the Internet, and experience clear Internet phone
calls. Wireless G technology allows you to connect to 802.11g wireless devices at up to
54Mbps, so you can make full use of your Broadband connection.
54Mbps Wireless G Router DAPR 540b/g integrates full-duplex 10/100Mbps switch,
NAT-router and Wireless AP, which is dedicated to Small Office / Home Office (SOHO)
allowing you to create a wired or wireless network, and let your computer to share a high-
speed DSL network connection. Also, DAPR 540b/g supports WDS wireless bridge offering
seamless bridging to expand your network coverage, making it convenient for you to pick up
the signal during different rooms or offices. When it comes to the installation, Easy Setup
Assistant could lead you through the setup process step-by-step, and even helps with wireless
network settings and security configurations, especially for novice users. Wireless Router
DAPR 540b/g complies IEEE 802.11g standard with transmission rates up to 54Mbps, is
designed to establish a better wireless connection than ever, sharing Internet Access, files-
downloading and so on. Even among rooms with 1-2 walls, DAPR 540b/g can also keep a
useable signal and link rate after passing through the wall.
Features
1WAN port, 4Lan ports, reset/power button, 2 antennas
Support UPnP, DDNS, SIP, static routing、 ; TR069(BCM5354)
Support DMZ hosting, Port Triggering for special applications
Support Logging: Dropped packet, security event, Syslog
Support Filtering: Port, IP packet, URL Keyword, MAC address
Support WMM (Wi-Fi multimedia), Device discovery, DHCP server
Compliance Certificates:CE, FCC, ROHS
Applications
Home and SOHO wireless gateway
The sma enterprise Applications
TV over IP (IPTV)
Voice over IP (VoIP)
Higher data rate broadband sharing
Shared broadband internet access
Audio and video streaming and transfer
PC fie and application sharing
Network and online gaming
18
Router is a device used for forwarding data packets between computer networks with
an overlay internet work. It is connected to two or more data lines from different networks. A
data packet coming in one of the lines address information is read by the router to determine
the ultimate destination. Routing table or routing policy is used to direct the packet to next
network. Router performs traffic directing functions on the internet.
Router is considered as layer 3 device as its primary forwarding decision is based on
the information in layer 3 IP packet. This process is known as routing. After each router
receiving a packet searches its routing table to find the best match between the destination IP
address of the packet and one of the network address in routing table. After the packet is
encapsulated in layer 2 data link frame for outgoing interface once the match is found.
Forwarding a packet cause the router to lose its historical information about the package. But
forwarding action can be collected into statistical data if so configured.
Another function of router is to decide which packet should be processed first when
multiple queues exist which is managed through quality of service.
Last but not the least a router performs a policy based routing where special rules are
constructed to override the rules derived from the routing table when a packet forwarding
decision is made.(Adminstrator, n.d.)
3.1.6.2 LM 317:It is a voltage regulator invented by Robert C. Dobkin and Robert J. Wildar in
1970.It is a linear variable voltage regulator used in dc to dc conversion. Linear regulators
inherently draw as much current as they supply. Significant power is wasted as heat when the
current difference is multiplied by the voltage difference between the input and output.
Figure3.6.2.1: LM -317
19
SPECIFICATIONS:
Attribute Value
Vout range 1.25 V – 37 V
Vin – Vout difference 3 V – 40 V
Operation ambient temperature 0℃ – 125℃
Output Imax less than 1.5 A (assuming factory-suggested heat sinking)
Minimum Load Currentmax 10 mA
Table 3.6.2.1:- Pin description of LM317
In our project, we are using the voltage regulator LM 317 to generate the 3.3 V to provide the
power supply to ENC 28J60 for its proper working with safety.
3.1.6.3 LM 7805
It is voltage regulator integrated circuit. It is the member of 78XX series of fixed linear
voltage regulator ICs. The voltage source in the circuit may have fluctuations and will not give
the constant voltage output. This voltage regulator produces the constant 5V output voltage.
Figure3.1.6.3.1: LM 7805 Voltage regulator
20
Pin Configuration:
Pin No Function Name
1 Input voltage (5V-18V) Input
2 Ground (0V) Ground
3 Regulated output; 5V (4.8V-5.2V) Output
Table 3.1.6.3.1:- Pin Configuration of LM7805
Various other circuit elements are used such as resistor to match the resistance, capacitors to
reduce the interference etc. are used according to the requirement in the circuit.
3.2 Hardware Connection
3.2.1 Interfacing ENC28j60 With Freeduino
` To interface ENC28j60 Ethernet module with Freeduino Kit we must
set up the connection as:
SN Ethernet Module Freeduino DI/O
1. CS 10 - SS
2. SI 11 - MOSI
3. SO 12 - MISO
4. SCK 13 - SCK
5. GND GND
6. VCC 3.3V
Table 3.2.1.1:- Connection Overview of ENC28j60 Ethernet Module and Freeduino
21
Figure 3.2.1.1:- Interfacing ENC28j60 with Freeduino
ENC28j60 Module is interfaced with Freeduino. Arduino Library, ‘ENC28J60’ from
http://downloads.simplelabs.co.in is used to program the Freeduino. Freeduino is made Web
Server where simple html page is written and stored. We can access the page by entering the
IP address of the Freeduino. (interfacing ENC28j60 Ethernet Module, n.d.)
Figure 3.2.1.2:- Final Page stored in Freeduino
22
3.2.2 Interfacing L293D with DC motors
The following schematic shows how to connect (interface) the L293D to the motor and
the Freeduino. Each motor takes 3 Freeduino pins.
Using H-bridge we can rotate the motors in both the directions. From the four
terminals of H Bridge we can control a DC motor in forward and reverse direction.
Figure 3.2.2.1:- interfacing L293D with DC motors Circuit Diagram
Figure 3.2.2.2:- H bridge
23
It works by having 4 elements in the circuit commonly known as corners: high side
left, high side right, low side right, and low side left. By using combinations of these you are
able to start, stop and reverse the current. When left high and right low are connected with left
low and right high are open the direction is clockwise while the reverse is anticlockwise.
By using one L293D we can drive a maximum of two DC motor and one stepper motor. It is
shown in above figure where two motors A and B are controlled. The decision table will look
like
IN1 IN2 Motor 1
0 1 Rotates in one direction
1 0 Rotates in other direction
Table 3.2.3.1:- Decision table
Similar is true for another motor connected to Out3 and Out4 of L293d and can be controlled
through IN3 and IN4.(Motor Control, 2011)
To control the speed of DC motor one can use a Pulse Width Modulated signal on Enable1
and Enable2 pins of L293d, this will result in controlled power input on motor and speed is
controlled.
Figure 3.2.2.3:- Interfacing L293D with dc motor
24
Coding for controlling motor
Figure 3.2.2.4:- code for controlling dc motor
L293D
25
3.2.3 Interfacing LM35
Figure 3.2.3.1:- Interfacing LM35 with Freeduino
The Freeduino board is connected to the LM35 temperature sensor. The figure is
shown above in which the wires are connected to the temperature sensor. We have used on
board power source (5V and GND) to power the LM35 and analog pin 0(zero) to read the
analog output from the sensor.
Figure3.2.3.2:-Program for interfacing LM35 with Freeduino
26
3.3 Software Development
The project is done using different software environment. A final program is written with
many tests and verifications. We have used following softwares:
3.3.1 Arduino 1.04 IDE
Figure3.3.1.1:- Arduino IDE
To program the Freeduino boards we can use Arduino IDE. This software is
released by arduino.cc and is available on its website. This software gives us easy and concise
view to program the boards
Figure 3.3.1.2: - Simple View of Arduino IDE
27
This software contains inbuilt libraries for development of different prototype. We can
also import different third party libraries for interfacing different equipment with Arduino or
its Clones. This IDE provides its own text-editing view along with compile and verification
options. There is also facility for choosing the required board for the operation.
For programming the Freeduino, we must know some properties. First we should know
which type of board we are going to program. Secondly we must provide appropriate COM
port.
This IDE also provides Serial Monitor function. This function
allows us to view the existing communication. This functionality plays very important role
while interfacing sensors.
There are different menus in the menu bar
File: This menu allows user to open, close, save the files. It also show examples
Edit: This menu is used for copying, pasting, selecting purposes
Sketch: This menu is used for importing libraries. It also shows the location of current
sketch
Tools: This menu is used for selecting board and programmer
Help: This menu gives information about the Arduino IDE and online resources
3.3.2 Virtual Bread Board
Virtual Bread Board is a software development and emulating embedded devices. It can be
taken as Arduino Simulator as it can run the Arduino Programs in virtual environment. This
software can be used for making circuit diagrams and for testing purposes. This software is
available free at www.virtualbreadboard.com.
There are wide varieties of tools for making the software realistic.
Drag and Drop facility provides easy environment for the user.
28
Figure 3.3.2.1: virtual bread board
3.3.3 XAMPP Server
`XAMPP server is used popularly by web programmer for development of web pages.
XAMPP stands for Cross- Platform, APACHE, MySQL, PHP and PERL. We start the control
panel of XAMPP and each entity are started individually. This allows us to load PHP files and
we can run the PHP codes.
In our project we have used some PHP codes for authenticating the user. This is done
by making a local server with the help of XAMPP and little PHP codes.
29
Figure 3.3.3.1:- View of XAMPP Control Panel
30
4.0 TESTING AND VERIFICATION:
Testing includes checking of each component with the real working environment
following with the verification of each component. Similarly in our project we too have had
performed some tests.
We initially run the some programs from Arduino IDE in our Freeduino board to test
the functionality of the Freeduino Board. Testing with many Arduino IDE releases, we came
to find that Arduino IDE 1.04 was best for us.
Temperature sensor was tested with Freeduino Board. There is Serial monitor function
in Arduino IDE that helps us finding values of different sensors. We tested different
algorithms for calculating the temperature. Finally we found the best algorithm that worked
properly.
ENC28J60 Testing was toughest part of the project. We found many circuits in the
web but none of them supported. Finally we got some connection diagram and worked well.
When uploading the program, we saw that programs having size greater than 6.6KB didn’t
work well. So we made reduced the code as far as possible for the proper functioning of the
project.
The “IP Webcam” software was tested with the project. We tried very much on
integrating with our project. We finally managed to obtain visual information of the project
31
5.0 Scope
5.1.1 Present scope
Potential enhancements leads to multipurpose scope as:
1. Surveillance purpose
2. Industrial purpose
3. Military purpose as spy robot
5.1.2 Future scope
Easily available of commercial Wi-Fi networks leads to the more advantage to our projects.
1. Worldwide coverage by giving public IP to system.
2. Development of robot limits.
3. Image processing.
4. Motion according to working environment.
5. High processing and multiple sensor.
6. Additional of sensors such as humidity and ultrasound will lead the project to the
higher level.
7. Further can be implemented as advanced remote data logger.
8. Other sensor can be added to make it more advance.
32
6.0 Budgeting
Various components are used in this project. Different components and their prices are as
follows:
SN Component Quantity Cost
1. Arduino Board 1 3,000|-
2. ENC28j60 Ethernet to Serial
Converter
1 2,000|-
3. 12V Motors with wheels 3 1,500|-
4. Temperature Sensor 1 2,00|-
5. Bread Board 2 500|-
6. Router 1 3,000|-
7. Hard Cover Project Report
Printing(Documentation)
8 5,000|-
8. 12V Battery (Power Supply) 1 1,300|-
9. Miscellaneous` 2,000|-
TOTAL 18,500|-
Table 6.1:- Budgeting
33
7.0 Schedule
To complete the above project, we have divided the project into several subtasks and made a
time-table to finish each tasks in different time.
S
N
Name of the task 24th
Feb
14th
Mar
4th
Apr
24th
May
14nd
Jun
4th Jul 24th
Jul.
9th
Aug
1. Mechanical construction of
body of robot.
2. Motor interfacing and its
installation in robot.
3. Ethernet to serial converter
module interfacing with
microcontroller
4. Web Application preparation
5. Sensors interfacing
6. Visual information management
and its coding
7. Testing and Debugging
8. Documentation
Table 7.1:-Scheduling
34
8.0 Conclusion and Recommendation
By applying the theories form different sources and our project’s team effort we finally
were able to reach the destination. The path to reach the success were not so easy we thought.
The credit goes to team members whom gave their valuable time and their effort in building
this project.
The outcome of our project is simple and forward, majority can predict the outcome,
phone as camera is mounted on the top of the moving robot. Initially we planned to set up IP
camera but due to the economic availability of this element we came to use android phone as
its alternate. We also concluded that none of the work is difficult if we gave all our mind in
that project.
Finally we achieved output, we were able to interface motor driver IC named
ENC28J60 with Freeduino. This Freeduino is controlled via LAN. Spinning of the motor in
clockwise, anticlockwise and in four direction helps the robot to move. Arduino is controlled
with private IP i.e. only the team member can have the access to the movement of the motor.
This seems to be the drawback of our project but we can enhance our project by making it
control through the public IP. Then all user can have the access to the robot one at a time.
Also advanced form of our project could be the installation of different kind of extra
wanted sensors.
Talking about any kind of element that could be installed, we came to conclusion that
if we could had add RF-module it could have been better. But realizing the complexity of
project we were not able to do that.
35
9.0 References
1. Adminstrator. (n.d.). Wireless Router. Retrieved from digicom.org:
http://www.digicom.com.hk/index.php?section=products&action=details&id=83#.Uh3V8H9yi
.
2. datasheet for ENC28j60. (n.d.). Retrieved from aldatasheed.com:
http://html.alldatasheet.com/html-pdf/102687/MICROCHIP/ENC28J60/980/2/ENC28J60.html
3. freeduino. (n.d.). Retrieved from freeduino.org: freeduino.org/freeduino_introduction
4. History of Internet. (n.d.). Retrieved from wikipedia:
http://en.wikipedia.org/wiki/History_of_the_Internet
5. interfacing ENC28j60 Ethernet Module. (n.d.). Retrieved from induino.blogspot.com:
http://induino.blogspot.com/2012/07/induinox-user-guide-interfacing-with_5270.html
6. Internet of Things. (n.d.). Retrieved from wikipedial:
http://en.wikipedia.org/wiki/Internet_of_Things
7. Internet of Things. (internetofthings.fi). Retrieved from http://www.internetofthings.fi
8. Internet Protocol. (n.d.). Retrieved from wikipedia: http://en.wikipedia.org/wiki/Internet_Protocol
9. LM317. (n.d.). Retrieved from wikipedia: http://en.wikipedia.org/wiki/LM317
10. LM35 Interfacing. (n.d.). Retrieved from pscmpf.blogspot.com:
http://pscmpf.blogspot.com/2008/12/arduino-lm35-sensor.html
11. Motor Control. (2011). In M. A. Mazidi, J. G. Mazidi, & R. D. McKinlay, The 8051 Microcontroller
and Embedded Systems. Pearson.
12. References. (n.d.). Retrieved from arduino.cc: arduino.cc/references
13. RFC791. (n.d.). Retrieved from ietf.org: http://tools.ietf.org/html/rfc791
14. voltage regulator circuits. (n.d.). Retrieved from circuitstoday.com:
http://www.circuitstoday.com/few-lm317-voltage-regulator-circuits
15. wi fi robot. (n.d.). Retrieved from gdgkathmandu.blogspot.com: gdgkathmandu.blogspot.com/wi-
fi_robot