Project Report B.E. ENTC
Project Report B.E. ENTC
Project Report B.E. ENTC
CHAPTER: 1
INTRODUCTION OF PROJECT
1
Smart Intelligent Robot
1.1 Introduction
Wi-Fi (Short for Wireless Fidelity) is a wireless technology that uses radio
frequency to transmit data through the air. Wi-Fi has initial speeds of 1mbps to
2mbps. Wi-Fi transmits data in the frequency band of 2.4 GHz. It implements the
concept of frequency division multiplexing technology. Range of Wi-Fi
technology is 40-300 feet.
2
Smart Intelligent Robot
1.2 Features:
1. Wi-Fi technology.
2. Interfacing Wi-Fi module to Microcontroller.
3. DC motor working and need for motor driver.
4. Embedded C programming.
5. PCB designing.
3
Smart Intelligent Robot
CHAPTER: 2
HISTORY
4
Smart Intelligent Robot
It’s often said industrial robots have made their biggest mark in the
automotive world but it took many decades of refinement for them to get there.
How long has it been since robots got their start? The most basic ideas originate in
Leonardo's time!
The modern idea for the robot made its first appearance in a play in 1921. In this
production, robots were mechanical workers who helped humans – but they
eventually revolted and took over the world.
5
Smart Intelligent Robot
CHAPTER: 3
PROJECT DESCRIPTION
6
Smart Intelligent Robot
PROJECT DESCRIPTION
The motors used are generated DC motors with rated speed of 200 RPM,
It works on 12V power supply given through the motor drive module. The rear
wheels are made of virgin plastic of 680 mm diameter. The coaster wheel is
mounted on the chassis using nut and screws. All the boards fir on the chassis
and are attached using screws.
Components Required :
Arduino UNO
L293D Motor Driver IC
ESP8266 – WiFi Module
OV 7670 Camera Module
12v DC Motor
AC Adaptor
Rear wheels
Coaster wheel
Chasis
7
Smart Intelligent Robot
Circuit Explanation:
A L293D Motor Driver IC is used for driving DC motors. Input pins of motor
driver IC is directly connected to pin 8, 9, 10 and 11 of Arduino. And DC
motors are connected at its output pins. Here we have used 9 Volt battery for
driving the Circuit and DC motors.
8
Smart Intelligent Robot
Working Explanation
Mert Arduino App sends values from Two Axis Joystick to Arduino, through
Wi-Fi medium. Arduino receive the values, compare them with predefined
values and move the Robot accordingly in that direction.
9
Smart Intelligent Robot
Fig.3.4 Components
10
Smart Intelligent Robot
11
Smart Intelligent Robot
The esp8266 boards don't come installed in the arduino IDE. To install follow
these instructions :
2. Enter
"http://arduino.esp8266.com/stable/package_esp8266com_index.jsoninto" into
Additional Board Manager URLs field
3. Open Boards Manager from Tools > Board menu and find esp8266 platform
4. Select the latest version from a drop-down box and click the install button
5. Don't forget to select your ESP8266 board from Tools > Board menu after
installation
12
Smart Intelligent Robot
2. Find where it says "YOUR SSID" and erase it and write your wifi's SSID
(Between the inverted commas) which is the name of your wifi network.
2. Below it, it will say "YOUR PASSWORD" erase it and write the password of
your wifi network (Between the inverted commas)
3. After you have made the changes upload the code to your ESP8266 Board
5. Open the serial monitor and set the baud rate to 115200 and choose "Both NL
and CR". It will say "wifi connected" and will also show the IP address. Note
down the IP address because we will need it later.
13
Smart Intelligent Robot
Step 4: Programming
14
Smart Intelligent Robot
This robot is controlled through an app, download the ESP8266_robot.apk file and
install it on your smartphone.
15
Smart Intelligent Robot
Open the app and write the IP address of your ESP8266 Board and now you will
be able to control it !!!
#Troubleshooting#
If the motors are spinning in the wrong direction then just interchange their
connections to the L293D or interchange the control pins. The ESP8266 connects
to wifi through DHCP, meaning that almost every time you connect it will have a
different IP address, so you will need to check the IP address every time.
16
Smart Intelligent Robot
CHAPTER: 4
INTRODUCTION OF HARDWARE
17
Smart Intelligent Robot
List of Hardware
1. Arduino UNO
2. L293D Motor Driver IC
3. ESP8266 – Wi Fi Module
4. OV 7670 Camera Module
5. 12v DC Motor
6. AC Adaptor
7. Rear wheels
8. Coaster wheel
9. Chassis
18
Smart Intelligent Robot
1] Arduino Uno
Overview
The 14 digital input/output pins can be used as input or output pins by using
pinMode(), digitalRead() and digitalWrite() functions in arduino programming.
Each pin operate at 5V and can provide or receive a maximum of 40mA current,
and has an internal pull-up resistor of 20-50 KOhms which are disconnected by
default. Out of these 14 pins, some pins have specific functions as listed below:
Serial Pins 0 (Rx) and 1 (Tx): Rx and Tx pins are used to receive and
transmit TTL serial data. They are connected with the corresponding
ATmega328P USB to TTL serial chip.
External Interrupt Pins 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.
PWM Pins 3, 5, 6, 9 and 11: These pins provide an 8-bit PWM output by
using analogWrite() function.
SPI Pins 10 (SS), 11 (MOSI), 12 (MISO) and 13 (SCK): These pins are
used for SPI communication.
In-built LED Pin 13: This pin is connected with an built-in LED, when
pin 13 is HIGH – LED is on and when pin 13 is LOW, its off.
Along with 14 Digital pins, there are 6 analog input pins, each of which provide
10 bits of resolution, i.e. 1024 different values. They measure from 0 to 5 volts but
this limit can be increased by using AREF pin with analog Reference() function.
19
Smart Intelligent Robot
Analog pin 4 (SDA) and pin 5 (SCA) also used for TWI communication
using Wire library.
When ATmega328 chip is used in place of Arduino Uno, or vice versa, the image
below shows the pin mapping between the two.
Software
20
Smart Intelligent Robot
Programming Arduino
Once arduino IDE is installed on the computer, connect the board with computer
using USB cable. Now open the arduino IDE and choose the correct board by
selecting Tools>Boards>Arduino/Genuino Uno, and choose the correct Port by
selecting Tools>Port. Arduino Uno is programmed using Arduino programming
language based on Wiring. To get it started with Arduino Uno board and blink the
built-in LED, load the example code by selecting Files>Examples>Basics>Blink.
Once the example code (also shown below) is loaded into your IDE, click on the
‘upload’ button given on the top bar. Once the upload is finished, you should see the
Arduino’s built-in LED blinking. Below is the example code for blinking:
// the setup function runs once when you press reset or power the board
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
void loop() {
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
21
Smart Intelligent Robot
Applications
Features:
1. MEMORY:
The Arduino Uno has 32 KB memory. It comes with 2 KB of SRAM and
also 1 KB of EEPROM (EEPROM library is required to read or write into
this).
2. CLOCK SPEED:
The performance of this controller is based on its clock speed. The Clock
speed of the Arduino is 16 Mhz so it can perform a particular task faster
than the other processor or controller
3. USB INTERFACE:
Most important feature of Arduino Uno is USB connectivity. It means if
we want to operate Arduino with PC, then we can do that and data
communication between PC and Arduino become easy.
22
Smart Intelligent Robot
Pin
Pin Name Description
Number
1 Enable 1,2 This pin enables the input pin Input 1(2) and Input 2(7)
8 Vcc2 (Vs) Connected to Voltage pin for running motors (4.5V to 36V)
9 Enable 3,4 This pin enables the input pin Input 3(10) and Input 4(15)
Features
The L293D is a famous 16-Pin Motor Driver IC. As the name suggests it is mainly
used to drive motors. A single L293D IC is capable of running two DC motors at the
same time; also the direction of these two motors can be controlled independently. So
if you have motors which has operating voltage less than 36V and operating current
less than 600mA, which are to be controlled by digital circuits like Op-Amp, 555
timers, digital gates or even Micron rollers like Arduino, PIC, ARM etc.. this IC will
be the right choice for you.
Using this L293D motor driver IC is very simple. The IC works on the principle
of Half H-Bridge, let us not go too deep into what H-Bridge means, but for now just
know that H bridge is a set up which is used to run motors both in clock wise and anti
clockwise direction. As said earlier this IC is capable of running two motors at the
any direction at the same time, the circuit to achieve the same is shown below.
24
Smart Intelligent Robot
All the Ground pins should be grounded. There are two power pins for this IC, one is
the Vss(Vcc1) which provides the voltage for the IC to work, this must be connected
to +5V. The other is Vs(Vcc2) which provides voltage for the motors to run, based on
the specification of your motor you can connect this pin to anywhere between 4.5V to
36V, here I have connected to +12V.
The Enable pins (Enable 1,2 and Enable 3,4) are used to Enable Input pins for Motor
1 and Motor 2 respectively. Since in most cases we will be using both the motors both
the pins are held high by default by connecting to +5V supply. The input pins Input
1,2 are used to control the motor 1 and Input pins 3,4 are used to control the Motor 2.
The input pins are connected to the any Digital circuit or microcontroller to control
the speed and direction of the motor. You can toggle the input pins based on the
following table to control your motor.
25
Smart Intelligent Robot
Applications
26
Smart Intelligent Robot
ESP8266-01 Features
27
Smart Intelligent Robot
Can act as a
Connected to Rx pin of General purpose
2 TX GPIO – 1 programmer/uC to upload Input/output pin
program when not used as
TX
General purpose
3 GPIO-2 - -
Input/output pin
Can act as a
General purpose
General purpose
7 RX GPIO - 3 Input/output pin
Input/output pin
when not used as
RX
28
Smart Intelligent Robot
There are so many methods and IDEs available to with ESP modules, but the most
commonly used on is the Arduino IDE. So let us discuss only about that further
below.
The ESP8266 module works with 3.3V only, anything more than 3.7V would kill
the module hence be cautions with your circuits. The best way to program
an ESP-01 is by using the FTDI board that supports 3.3V programming. If you
don’t have one it is recommended to buy one or for time being you can also use an
Arduino board. One commonly problem that every one faces with ESP-01 is the
powering up problem. The module is a bit power hungry while programming and
hence you can power it with a 3.3V pin on Arduino or just use a potential divider.
So it is important to make a small voltage regulator for 3.31v that could supply a
minimum of 500mA. One recommended regulator is the LM317 which could
handle the job easily. A simplified circuit diagram for using the ESP8266-01
module is given below
29
Smart Intelligent Robot
The switch SW2 (Programming Switch) should be held pressed to hold the GPIO-
0 pin to ground. This way we can enter into the programming mode and upload
the code. Once the code is released the switch can be released.
Applications
IOT Projects
Access Point Portals
Wireless Data logging
Smart Home Automation
Learn basics of networking
Portable Electronics
Smart bulbs and Sockets
30
Smart Intelligent Robot
OV7670 image sensor, small volume, low operating voltage, providing all
functions of a single chip of VGA camera and image processor. Through SCCB
bus control, the sensor can output the whole frame, sampling, and various
resolution 8 bits of data. The product VGA image can reach up to a maximum of
30 frames per second. Users can completely control the image quality, data format
and transmission mode. All the process of image processing functions can through
the SCCB programming interface, including gamma curve, white balance,
saturation and chroma .
Introduction:
OV7670 image sensor, small volume, low operating voltage, providing all
functions of a single chip of VGA camera and image processor. Through SCCB
bus control, the sensor can output the whole frame, sampling, and various
resolution 8 bits of data. The product VGA image can reach up to a maximum of
30 frames per second. Users can completely control the image quality, data format
and transmission mode. All the process of image processing functions can through
31
Smart Intelligent Robot
Parameter:
Photosensitive array: 640X480
IO Voltage: 2.5V to 3.0V (internal LDO for nuclear power 1.8V)
Power operation: 60mW/15fpsVGAYUV
Sleep: <20μA
Temperature Operating: -30 to 70
Stable: 0 to 50
Output Formats (8): YUV/YCbCr4: 2:2 RGB565/555/444 GRB4: 2:2 Raw RGB
Data
Optical size: 1/6 "
FOV: 25 °
Maximum Zhen rate: 30fps VGA
Sensitivity: 1.3V / (Lux-sec)
SNR: 46 dB
Features:
High sensitivity suitable for illumination applications
Low voltage suitable for embedded applications
Standard SCCB interface compatible with I2C interface
RawRGB, RGB (GRB4: 2:2, RGB565/555/444), YUV (4:2:2) and YCbCr (4:2:2)
output format
Supports VGA, CIF, and from a variety of sizes CIF to 40x30
VarioPixel sub-sampling mode
ISP has a compensation function to eliminate noise and dead pixels
Support for image scaling
Compensation for loss of optical lens
50/60Hz automatic detection
Saturation automatically adjust (UV adjustment)
32
Smart Intelligent Robot
5] DC Motor
DC motors were the first type widely used, since they could be powered
from existing direct-current lighting power distribution systems. A DC motor's
speed can be controlled over a wide range, using either a variable supply voltage
or by changing the strength of current in its field windings. Small DC motors are
used in tools, toys, and appliances.
DC Motor Application:
Advantages of DC Motor:
33
Smart Intelligent Robot
TTL integrated circuits (ICs) were widely used in applications such as computers,
industrial controls, test equipment and instrumentation, consumer electronics,
and synthesizers. Sometimes TTL-compatible logic levels are not associated
directly with TTL integrated circuits, for example as a label on the inputs and
outputs of electronic instruments.
34
Smart Intelligent Robot
8] Resistor
Resistors act to reduce current flow, and, at the same time, act to lower
voltage levels within circuits. In electronic circuits, resistors are used to limit
current flow, to adjust signal levels, bias active elements, and
terminate transmission lines among other uses. High-power resistors, that can
dissipate many watts of electrical power as heat, may be used as part of motor
controls, in power distribution systems, or as test loads for generators. Fixed
resistors have resistances that only change slightly with temperature, time or
operating voltage. Variable resistors can be used to adjust circuit elements (such
as a volume control or a lamp dimmer), or as sensing devices for heat, light,
humidity, force, or chemical activity.
35
Smart Intelligent Robot
9] Capacitor
The capacitor is a component which has the ability or “capacity” to store energy in
the form of an electrical charge producing a potential difference (Static Voltage)
across its plates, much like a small rechargeable battery.
There are many different kinds of capacitors available from very small capacitor
beads used in resonance circuits to large power factor correction capacitors, but
they all do the same thing, they store charge.
The larger the surface area of the "plates" (conductors) and the narrower the
gap between them, the greater the capacitance is. In practice, the dielectric
between the plates passes a small amount of leakage current and also has an
electric field strength limit, known as the breakdown voltage. The conductors
and leads introduce an undesired inductance and resistance.
Application:
Energy storage.
Pulsed power and weapons.
Power conditioning
36
Smart Intelligent Robot
CHAPTER: 5
CIRCUIT DIAGRAM
37
Smart Intelligent Robot
Circuit Diagrams
38
Smart Intelligent Robot
XcXc = 12πfC12πfC
PIN13: This is connected to the SCK pin from the MCU and is also
connected to an LED. The Arduino board uses a buffer (the LMV358) to
drive the LED.
ICSP (In-Circuit Serial Programming) Header: This is used to program
the ATmega328 using an external programmer. It’s connected to the In-
System Programming (ISP) interface (which uses the SPI pins). Usually,
you don’t need to use this way of programming because bootloader
handles the programming of the MCU from the UART interface which is
connected using a bridge to the USB. This header is used when you need
to flash the MCU, for example, with a bootloader for the first time in
production.
39
Smart Intelligent Robot
40
Smart Intelligent Robot
41
Smart Intelligent Robot
Fig.5.5: Circuit-diagram-for-connecting-the-Microcontroller-Arduino-Uno-WiFi-module-
ESP8266
Circuit is very simple, for this project we only need Arduino and ESP8266
Wi-Fi module. A 16x2 LCD is also connected for displaying the status
messages. This LCD is optional. ESP8266’s Vcc and GND pins are directly
connected to 3.3V and GND of Arduino and CH_PD is also connected with
3.3V.
42
Smart Intelligent Robot
CHAPTER: 6
TOTAL COST
43
Smart Intelligent Robot
7. Rear wheels * 2 80 /-
8. Coaster wheel 40 /-
9. Chassis 160 /-
11. Resistors 10 /-
44
Smart Intelligent Robot
CHAPTER: 7
CONCLUSION
45
Smart Intelligent Robot
CONCLUSION
Hence the two modules of controlling the robot is successfully tested and
demonstrated. Though controlling using Wi-Fi limits the range of distance for
communication, a smart and easy means to guide a robot is achieved. Controlling
the motion of robot via internet is one of the easiest means as it requires the user
to access the designated webpage to guide it.
46
Smart Intelligent Robot
CHAPTER: 8
REFERENCE
47
Smart Intelligent Robot
REFERENCE
6. www.wifibot.com
BOOKS
48