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

GSM Bi Directional

ABSTRACT

The speed of DC motor (BLDC motor) by GSM sim 800 for transmitting the message for
variation of speed (increasing or decreasing) using the Arduino Uno micro controller using
embedded C-programming. In various industries the DC motor is found very common as its
properties are very found of industrial applications such as high efficiency,high torque
ratio,reliability.it is hard to operate in industries as it require high maintenance that’s why we
are using gsm sim to vary its speed as its very profitable and we can operate from long
distance.
Keywords: ARDUINO UNO , GSM MODULE

CHAPTER 1
INTRODUCTION

It is difficult to work in harmfull environment in many of the industries. Human can sustain
certain amount of temperature and pressure etc . to work in a environment above a range
will cause harm to human life. The motor require automatic control of their main
parameter such as speed position acceleration etc . to control the speed of bldc motor in
this project we are using gsm sim for adjusting the speed of the motor. So dc motor is used
in many application such as steel rolling mills, electric vehicle, crain and robotic
manipulators require speed control to perform its operation easily because of their
simplicity, reliability and low cost . the GSM sim module is connected to ardino uno kit by
input and output pins. Whenever we send massages from operators mobile to increase or
decrease the speed the massage is delivered to the sim which is connected to gsm module
and this massage is then transfer to the Arduino uno kit. After that arduino read the
massage and per the programme which is feeded in the Arduino it changes the speed. And
this whole process will be displayed on LCD screen of 18:2.This project include micro-
controller Sim 800 GSM module, LCD display, proximity sensor , BLDC motor, Arduino
UNO kit, power supply kit. the power spply kit is used to step down the voltage for the
Arduino kit which require 5V DC supply. GSM is connected to Arduino by UART
(Universal asynchronous receiver transmitter) micro controller. LCD (16:2) is connected to
digital pin of Arduino. The whole process will be displayed on LCD screen. The micro
controller unit connected to speed control mechanism. The speed is varying using Pulse With
Modulation Technique. The PWM is a very simple and most widely used to control speed of
Brush less DC Motor. The GSM is a Global system for mobile communication GSM is an
International digital cellular telecommunication. We used the GSM SIM 800. By using AT’s
command we can send and receive SMS through the micro-controller.

Circuit Diagram
BLOCK DIAGRAM

CHAPTER 2
2.1 EMBEDDED SYSTEM

An embedded system can be defined as a computing device that does a specific focused
job. Appliances such as the air-conditioner, VCD player, DVD player, printer, fax machine,
mobile phone etc. are examples of embedded systems. Each of these appliances will have a
processor and special hardware to meet the specific requirement of the application along with
the embedded software that is executed by the processor for meeting that specific
requirement. The embedded software is also called “firm ware”. The desktop/laptop
computer is a general purpose computer. You can use it for a variety of applications such as
playing games, word processing, accounting, software development and so on. In contrast,
the software in the embedded systems is always fixed listed below:

· Embedded systems do a very specific task, they cannot be programmed to do different


things. . Embedded systems have very limited resources, particularly the memory. Generally,
they do not have secondary storage devices such as the CDROM or the floppy disk.
Embedded systems have to work against some deadlines. A specific job has to be completed
within a specific time. In some embedded systems, called real-time systems, the deadlines are
stringent. Missing a deadline may cause a catastrophe-loss of life or damage to property.
Embedded systems are constrained for power. As many embedded systems operate through a
battery, the power consumption has to be very low.

· Some embedded systems have to operate in extreme environmental conditions such as very
high temperatures and humidity.

Application Areas

Nearly 99 per cent of the processors manufactured end up in embedded systems. The
embedded system market is one of the highest growth areas as these systems are used in very
market segment- consumer electronics, office automation, industrial automation, biomedical
engineering, wireless communication, data communication, telecommunications,
transportation, military and so on.

Consumer appliances:
At home we use a number of embedded systems which include digital camera, digital diary,
DVD player, electronic toys, microwave oven, remote controls for TV and air-conditioner,
VCO player, video game consoles, video recorders etc. Today’s high-tech car has about 20
embedded systems for transmission control, engine spark control, air-conditioning,
navigation etc. Even wristwatches are now becoming embedded systems. The palmtops are
powerful embedded systems using which we can carry out many general-purpose tasks such
as playing games and word processing.

Office Automation:

The office automation products using embedded systems are copying machine, fax machine,
key telephone, modem, printer, scanner etc.

Industrial Automation:

Today a lot of industries use embedded systems for process control. These include
pharmaceutical, cement, sugar, oil exploration, nuclear energy, electricity generation and
transmission. The embedded systems for industrial use are designed to carry out specific
tasks such as monitoring the temperature, pressure, humidity, voltage, current etc., and then
take appropriate action based on the monitored levels to control other devices or to send
information to a centralized monitoring station. In hazardous industrial environment, where
human presence has to be avoided, robots are used, which are programmed to do specific
jobs. The robots are now becoming very powerful and carry out many interesting and
complicated tasks such as hardware assembly.

Medical Electronics:

Almost every medical equipment in the hospital is an embedded system. These equipments
include diagnostic aids such as ECG, EEG, blood pressure measuring devices, X-ray
scanners; equipment used in blood analysis, radiation, colonoscopy, endoscopy etc.
Developments in medical electronics have paved way for more accurate diagnosis of
diseases.
Computer Networking:

Computer networking products such as bridges, routers, Integrated Services Digital Networks
(ISDN), Asynchronous Transfer Mode (ATM), X.25 and frame relay switches are embedded
systems which implement the necessary data communication protocols. For example, a router
interconnects two networks. The two networks may be running different protocol stacks. The
router’s function is to obtain the data packets from incoming pores, analyze the packets and
send them towards the destination after doing necessary protocol conversion. Most
networking equipments, other than the end systems (desktop computers) we use to access the
networks, are embedded systems.

Telecommunications:

In the field of telecommunications, the embedded systems can be categorized as subscriber


terminals and network equipment. The subscriber terminals such as key telephones, ISDN
phones, terminal adapters, web cameras are embedded systems. The network equipment
includes multiplexers, multiple access systems, Packet Assemblers Dissemblers (PADs),
sate11ite modems etc. IP phone, IP gateway, IP gatekeeper etc. are the latest embedded
systems that provide very low-cost voice communication over the Internet.

Wireless Technologies:

Advances in mobile communications are paving way for many interesting applications using
embedded systems. The mobile phone is one of the marvels of the last decade of the 20’h
century. It is a very powerful embedded system that provides voice communication while we
are on the move. The Personal Digital Assistants and the palmtops can now be used to access
multimedia service over the Internet. Mobile communication infrastructure such as base
station controllers, mobile switching centers are also powerful embedded systems.

Insemination:

Testing and measurement are the fundamental requirements in all scientific and engineering
activities. The measuring equipment we use in laboratories to measure parameters such as
weight, temperature, pressure, humidity, voltage, current etc. are all embedded systems. Test
equipment such as oscilloscope, spectrum analyzer, logic analyzer, protocol analyzer, radio
communication test set etc. are embedded systems built around powerful processors. Thank
to miniaturization, the test and measuring equipment are now becoming portable facilitating
easy testing and measurement in the field by field-personnel.

Security:

Security of persons and information has always been a major issue. We need to protect our
homes and offices; and also the information we transmit and store. Developing embedded
systems for security applications is one of the most lucrative businesses nowadays. Security
devices at homes, offices, airports etc. for authentication and verification are embedded
systems. Encryption devices are nearly 99 per cent of the processors that are manufactured
end up in~ embedded systems. Embedded systems find applications in every industrial
segment- consumer electronics, transportation, avionics, biomedical engineering,
manufacturing, process control and industrial automation, data communication,
telecommunication, defense, security etc. Used to encrypt the data/voice being transmitted on
communication links such as telephone lines. Biometric systems using fingerprint and face
recognition are now being extensively used for user authentication in banking applications as
well as for access control in high security buildings.

Finance:

Financial dealing through cash and cheques are now slowly paving way for transactions using
smart cards and ATM (Automatic Teller Machine, also expanded as Any Time Money)
machines. Smart card, of the size of a credit card, has a small micro-controller and memory;
and it interacts with the smart card reader! ATM machine and acts as an electronic wallet.
Smart card technology has the capability of ushering in a cashless society. Well, the list goes
on. It is no exaggeration to say that eyes wherever you go, you can see, or at least feel, the
work of an embedded system.
Overview of Embedded System Architecture

Every embedded system consists of custom-built hardware built around a Central Processing
Unit (CPU). This hardware also contains memory chips onto which the software is loaded.
The software residing on the memory chip is also called the ‘firmware’. The embedded
system architecture can be represented as a layered architecture as shown in Fig. The
operating system runs above the hardware, and the application software runs above the
operating system. The same architecture is applicable to any computer including a desktop

computer. However, there are significant differences. It is not compulsory to have an


operating system in every embedded system. For small appliances such as remote control
units, air conditioners, toys etc., there is no need for an operating system and you can write
only the software specific to that application. For applications involving complex processing,
it is advisable to have an operating system. In such a case, you need to integrate the
application software with the operating system and then transfer the entire software on to the
memory chip. Once the software is transferred to the memory chip, the software will continue
to run for a long time you don’t need to reload new software.

Now, let us see the details of the various building blocks of the hardware of an embedded
system. As shown in Fig. the building blocks are;

· Central Processing Unit (CPU)

· Memory (Read-only Memory and Random Access Memory)

· Input Devices

· Output devices
· Communication interfaces

· Application-specific circuitry

Central Processing Unit (CPU):

The Central Processing Unit (processor, in short) can be any of the following micro
controller, microprocessor or Digital Signal Processor (DSP). A micro-controller is a low-
cost processor. Its main attraction is that on the chip itself, there will be many other
components such as memory, serial communication interface, analog-to digital converter etc.
So, for small applications, a micro-controller is the best choice as the number of external
components required will be very less. On the other hand, microprocessors are more
powerful, but you need to use many external components with them. D5P is used mainly for
applications in which signal processing is involved such as audio and video processing.
Memory:

The memory is categorized as Random Access 11emory (RAM) and Read Only Memory
(ROM). The contents of the RAM will be erased if power is switched off to the chip, whereas
ROM retains the contents even if the power is switched off. So, the firmware is stored in the
ROM. When power is switched on, the processor reads the ROM; the program is program is
executed.
Input Devices:

Unlike the desktops, the input devices to an embedded system have very limited capability.
There will be no keyboard or a mouse, and hence interacting with the embedded system is no
easy task. Many embedded systems will have a small keypad-you press one key to give a
specific command. A keypad may be used to input only the digits. Many embedded systems
used in process control do not have any input device for user interaction; they take inputs
from sensors or transducers 1’fnd produce electrical signals that are in turn fed to other
systems.

Output Devices:

The output devices of the embedded systems also have very limited capability. Some
embedded systems will have a few Light Emitting Diodes (LED's) to indicate the health
status of the system modules, or for visual indication of alarms. A small Liquid Crystal
Display (LCD) may also be used to display some important parameters.

Communication Interfaces:

The embedded systems may need to, interact with other embedded systems at they may have
to transmit data to a desktop. To facilitate this, the embedded systems are provided with one
or a few communication interfaces such as RS232, RS422, RS485, Universal Serial Bus
(USB), IEEE 1394, Ethernet etc.

Application-Specific Circuitry:

Sensors, transducers, special processing and control circuitry may be required fat an
embedded system, depending on its application. This circuitry interacts with the processor to
carry out the necessary work. The entire hardware has to be given power supply either
through the 230 volts main supply or through a battery. The hardware has to design in such a
way that the power consumption is minimized.
CHAPTER 3

HARDWARE SPECIFICATIONS

POWER SUPPLY

The power supply section is the section which provide +5V for the components to
work. IC LM7805 is used for providing a constant power of +5V.

The ac voltage, typically 220V, is connected to a transformer, which steps down that
ac voltage down to the level of the desired dc output. A diode rectifier then provides a full-
wave rectified voltage that is initially filtered by a simple capacitor filter to produce a dc
voltage. This resulting dc voltage usually has some ripple or ac voltage variation.

A regulator circuit removes the ripples and also retains the same dc value even if the
input dc voltage varies, or the load connected to the output dc voltage changes. This voltage
regulation is usually obtained using one of the popular voltage regulator IC units.

Fig: Block Diagram of Power Supply

3.1.1 TRANSFORMER

Transformers convert AC electricity from one voltage to another with little loss of
power. Transformers work only with AC and this is one of the reasons why mains electricity
is AC.

Step-up transformers increase voltage, step-down transformers reduce voltage. Most


power supplies use a step-down transformer to reduce the dangerously high mains voltage
(230V in India) to a safer low voltage.

The input coil is called the primary and the output coil is called the secondary. There
is no electrical connection between the two coils; instead they are linked by an alternating
magnetic field created in the soft-iron core of the transformer. Transformers waste very little
power so the power out is (almost) equal to the power in. Note that as voltage is stepped
down current is stepped up.

The transformer will step down the power supply voltage (0-230V) to (0- 6V) level.
Then the secondary of the potential transformer will be connected to the bridge rectifier,
which is constructed with the help of PN junction diodes. The advantages of using bridge
rectifier are it will give peak voltage output as DC.

3.1.2 RECTIFIER

There are several ways of connecting diodes to make a rectifier to convert AC to DC.
The bridge rectifier is the most important and it produces full-wave varying DC. A full-wave
rectifier can also be made from just two diodes if a centre-tap transformer is used, but this
method is rarely used now that diodes are cheaper. A single diode can be used as a rectifier
but it only uses the positive (+) parts of the AC wave to produce half-wave varying DC

3.1.3 BRIDGE RECTIFIER

When four diodes are connected as shown in figure, the circuit is called as bridge
rectifier. The input to the circuit is applied to the diagonally opposite corners of the network,
and the output is taken from the remaining two corners. Let us assume that the transformer is
working properly and there is a positive potential, at point A and a negative potential at point
B. the positive potential at point A will forward bias D3 and reverse bias D4.

Fig: Bridge Rectifier

The negative potential at point B will forward bias D1 and reverse D2. At this time D3 and
D1 are forward biased and will allow current flow to pass through them; D4 and D2 are
reverse biased and will block current flow.
One advantage of a bridge rectifier over a conventional full-wave rectifier is that with a given
transformer the bridge rectifier produces a voltage output that is nearly twice that of the
conventional full-wave circuit.

i. The main advantage of this bridge circuit is that it does not require a special centre tapped
transformer, thereby reducing its size and cost.

ii. The single secondary winding is connected to one side of the diode bridge network and the
load to the other side as shown below.

iii. The result is still a pulsating direct current but with double the frequency.

Fig: Output Waveform of DC

3.1.4 SMOOTHING

Smoothing is performed by a large value electrolytic capacitor connected across the


DC supply to act as a reservoir, supplying current to the output when the varying DC voltage
from the rectifier is falling. The capacitor charges quickly near the peak of the varying DC,
and then discharges as it supplies current to the output.

3.1.5 VOLTAGE REGULATORS

Voltage regulators comprise a class of widely used ICs. Regulator IC units contain the
circuitry for reference source, comparator amplifier, control device, and overload protection
all in a single IC. IC units provide regulation of either a fixed positive voltage, a fixed
negative voltage, or an adjustably set voltage. The regulators can be selected for operation
with load currents from hundreds of milli amperes to tens of amperes, corresponding to
power ratings from milli watts to tens of watts.

A fixed three-terminal voltage regulator has an unregulated dc input voltage, Vi, applied to
one input terminal, a regulated dc output voltage, Vo, from a second terminal, with the third
terminal connected to ground.
The series 78 regulators provide fixed positive regulated voltages from 5 to 24 volts.
Similarly, the series 79 regulators provide fixed negative regulated voltages from 5 to 24
volts. Voltage regulator ICs are available with fixed (typically 5, 12 and 15V) or variable
output voltages. They are also rated by the maximum current they can pass. Negative voltage
regulators are available, mainly for use in dual supplies. Most regulators include some
automatic protection from excessive current ('overload protection') and overheating ('thermal
protection').

Many of the fixed voltage regulator ICs has 3 leads and look like power transistors, such as
the 7805 +5V 1Amp regulator. They include a hole for attaching a heat sink if necessary.

Fig: Regulator

Fig: Circuit Diagram of Power Supply


LIGHT EMITTING DIODE(LED)

LED is abbreviation of Light Emitting Diode. It’s nothing, but just a combination of
semiconductors which emits light when current pass through it . Over the years,
semiconductor technology has advanced to bigger heights, Light Emitting Devices have also
been a part of this revolution and as a result, Now we have LED’s which give better
illumination with low power consumption.

Types of LED– There are many types of LEDs available in the market.. As you can see on
above pic there is different LEDs according to our requirement and there has been many
other are too available depending upon different parameters . And LEDs are choose
according to parameters like space required by it, size, intensity, colors, etc. Typical LEDs
are in size of 3mm, 5mm and 8mm. Nowadays HPLEDs(high power LEDs) are running in
market which emits higher luminous intensity. High power LED’s has very high heat
dissipation so LED’s need to mounted along with a cooling system known as heat sink.
Operating parameters & circuit symbol – Above figures show basic elements inside the LED
and circuit symbol which helps in interfacing LED with 8051. Typical current ratings ranges
from around 1 mA to above 20 mA and voltage is at about colors.
 1.9 to 2.1 V for red, orange and yellow,
 3.0 to 3.4 V for green and blue,
 2.9 to 4.2 V for violet, pink, purple and white.
 5 V and 12 V LEDs are incorporate a suitable series resistor for direct connection to a 5 V
or 12 V supply.

Applications- LED is everywhere because it’s an indicating component used in many areas. Just
look around, if u can’t find even single LED, you are not on earth.
MICROCONTROLLER
A Microcontroller (or MCU) is a computer-on-a-chip used to control electronic
devices. It is a type of microprocessor emphasizing self-sufficiency and cost-effectiveness, in
contrast to a general-purpose microprocessor (the kind used in a PC). A typical
microcontroller contains all the memory and interfaces needed for a simple application,
whereas a general purpose microprocessor requires additional chips to provide these
functions.

A microcontroller is a single integrated circuit with the following key features:

 central processing unit - ranging from small and simple 8-bit processors to
sophisticated 32- or 64-bit processors

 input/output interfaces such as serial ports

 RAM for data storage

 ROM, EEPROM or Flash memory for program storage

 clock generator - often an oscillator for a quartz timing crystal, resonator or RC circuit

Microcontrollers are inside many kinds of electronic equipment (see embedded


system). They are the vast majority of all processor chips sold. Over 50% are "simple"
controllers, and another 20% are more specialized digital signal processors (DSPs) (ref?). A
typical home in a developed country is likely to have only one or two general-purpose
microprocessors but somewhere between one and two dozen microcontrollers. A typical mid
range vehicle has as many as 50 or more microcontrollers. They can also be found in almost
any electrical device: washing machines, microwave ovens, telephones etc.
Arduino Uno Board
Arduino/Genuino Uno is a microcontroller board based on the ATmega328P
(datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6
analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header and
a reset button. It contains everything needed to support the microcontroller; simply connect it
to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get
started.. You can tinker with your UNO without worring too much about doing something
wrong, worst case scenario you can replace the chip for a few dollars and start over again.

"Uno" means one in Italian and was chosen to mark the release of Arduino Software (IDE)
1.0. The Uno board and version 1.0 of Arduino Software (IDE) were the reference versions of
Arduino, now evolved to newer releases. The Uno board is the first in a series of USB
Arduino boards, and the reference model for the Arduino platform; for an extensive list of
current, past or outdated boards see the Arduino index of boards.

Arduino Board
ATMEGA 328P FEATURES
Microcontroller ATmega328P
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limit) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
PWM Digital I/O Pins 6
Analog Input Pins 6
DC Current per I/O Pin 20 mA
DC Current for 3.3V Pin 50 mA
32 KB (ATmega328P)
Flash Memory
of which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Clock Speed 16 MHz
Length 68.6 mm
Width 53.4 mm
Weight 25 g

DESCRIPTION
The high-performance Atmel picoPower 8-bit AVR RISC-based microcontroller
combines 32KB ISP flash memory with read-while-write capabilities, 1024B EEPROM, 2KB
SRAM, 23 general purpose I/O lines, 32 general purpose working registers, three flexible
timer/counters with compare modes, internal and external interrupts, serial programmable
USART, a byte-oriented 2-wire serial interface, SPI serial port, a 6-channel 10-bit A/D
converter (8-channels in TQFP and QFN/MLF packages), programmable watchdog timer
with internal oscillator, and five software selectable power saving modes. The device
operates between 1.8-5.5 volts.
By executing powerful instructions in a single clock cycle, the device achieves throughputs
approaching 1 MIPS per MHz, balancing power consumption and processing speed.

Block Diagram

PIN DIAGRAM
Pin Diagram

PIN DESCRIPTION

VCC

Digital supply voltage.

GND

Ground.

Port B (PB7:0) XTAL1/XTAL2/TOSC1/TOSC2

Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit).
The Port B output buffers have symmetrical drive characteristics with both high sink and
source capability. As inputs, Port B pins that are externally pulled low will source current if
the pull-up resistors are activated. The Port B pins are tristated when a reset condition
becomes active, even if the clock is not running. Depending on the clock selection fuse
settings, PB6 can be used as input to the inverting Oscillator amplifier and input to the
internal clock operating circuit.

Depending on the clock selection fuse settings, PB7 can be used as output from the inverting
Oscillator amplifier.

If the Internal Calibrated RC Oscillator is used as chip clock source, PB7...6 is used as
TOSC2...1 input for the Asynchronous Timer/Counter2 if the AS2 bit in ASSR is set. The
various special features of Port B are elaborated in ”Alternate Functions of Port B” on page
82 and ”System Clock and Clock Options”.

Port C (PC5:0)

Port C is a 7-bit bi-directional I/O port with internal pull-up resistors (selected for
each bit). The PC5...0 output buffers have symmetrical drive characteristics with both high
sink and source capability. As inputs, Port C pins that are externally pulled low will source
current if the pull-up resistors are activated. The Port C pins are tristated when a reset
condition becomes active, even if the clock is not running.

PC6/RESET

If the RSTDISBL Fuse is programmed, PC6 is used as an I/O pin. Note that the electrical
characteristics of PC6 differ from those of the other pins of Port C.

If the RSTDISBL Fuse is unprogrammed, PC6 is used as a Reset input. A low level on this
pin for longer than the minimum pulse length will generate a Reset, even if the clock is not
running. The minimum pulse length is given in Table 29-11 on page 305. Shorter pulses are
not guaranteed to generate a Reset.

Port D (PD7:0)

Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit).
The Port D output buffers have symmetrical drive characteristics with both high sink and
source capability. As inputs, Port D pins that are externally pulled low will source current if
the pull-up resistors are activated. The Port D pins are tristated when a reset condition
becomes active, even if the clock is not running.
AVCC

AVCC is the supply voltage pin for the A/D Converter, PC3:0, and ADC7:6. It should be
externally connected to VCC, even if the ADC is not used. If the ADC is used, it should be
connected to VCC through a low-pass filter.

Note that PC6...4 use digital supply voltage, VCC.

AREF

AREF is the analog reference pin for the A/D Converter.

ADC7:6 (TQFP and QFN/MLF Package Only)

In the TQFP and QFN/MLF package, ADC7:6 serve as analog inputs to the A/D converter.
These pins are powered from the analog supply and serve as 10-bit ADC channels.
Each of the 14 digital pins on the Uno can be used as an input or output,
using pinMode(),digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin
can provide or receive 20 mA as recommended operating condition and has an internal pull-
up resistor (disconnected by default) of 20-50k ohm. A maximum of 40mA is the value that
must not be exceeded on any I/O pin to avoid permanent damage to the microcontroller.

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 attachInterrupt() function for
details.

PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() 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 driven by digital pin 13. When the pin is HIGH value, the
LED is on, when the pin is LOW, it's off.
TWI: A4 or SDA pin and A5 or SCL pin. Support TWI communication using the Wire
library.

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
analogReference() function. There are a couple of other pins on the board:

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

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.

PROGRAMMING
The Arduino/Genuino Uno can be programmed with the (Arduino Software (IDE)). Select
"Arduino/Genuino Uno from the Tools > Board menu (according to the microcontroller on
your board). For details, see the reference and tutorials.

The ATmega328 on the Arduino/Genuino Uno comes preprogrammed with a bootloader that
allows you to upload new code to it without the use of an external hardware programmer. It
communicates using the original STK500 protocol (reference, C header files).

You can also bypass the bootloader and program the microcontroller through the ICSP (In-
Circuit Serial Programming) header using Arduino ISP or similar; see these instructions for
details.

The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available in
the Arduino repository. The ATmega16U2/8U2 is loaded with a DFU bootloader, which can
be activated by:

 On Rev1 boards: connecting the solder jumper on the back of the board (near the map of
Italy) and then rese ing the 8U2.
 On Rev2 or later boards: there is a resistor that pulling the 8U2/16U2 HWB line to ground,
making it easier to put into DFU mode.
You can then use Atmel's FLIP software (Windows) or the DFU programmer (Mac OS X and
Linux) to load a new firmware. Or you can use the ISP header with an external programmer
(overwriting the DFU bootloader). See this user-contributed tutorial for more information.

Differences with other boards

The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial
driver chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2) programmed
as a USB-to-serial converter.

Communication
Arduino/Genuino Uno has a number of facilities for communicating with a computer,

another Arduino/Genuino board, or other microcontrollers. The ATmega328 provides UART

TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An

ATmega16U2 on the board channels this serial communication over USB and appears as a

virtual com port to software on the computer. The 16U2 firmware uses the standard USB

COM drivers, and no external driver is needed. However, on Windows, a .inf file is required.

The Arduino Software (IDE) includes a serial monitor which allows simple textual data to be

sent to and from the board. The RX and TX LEDs on the board will flash when data is being

transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial

communication on pins 0 and 1).

A SoftwareSerial library allows serial communication on any of the Uno's digital pins.

The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino Software

(IDE) includes a Wire library to simplify use of the I2C bus; see the documentation for

details. For SPI communication, use the SPI library.


Automatic (Software) Reset
Rather than requiring a physical press of the reset button before an upload, the

Arduino/Genuino Uno board 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/16U2 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 (IDE) uses this capability to allow you to upload code by simply

pressing the upload button in the interface toolbar. 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 bootloader 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 board 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.

BUZZER

A buzzer or beeper is a signaling device, usually electronic, typically used in automobiles,


house hold appliances such as a microwave oven, or game shows.
It most commonly consists of a number of switches or sensors connected to a control unit that
determines if and which button was pushed or a preset time has lapsed, and usually
illuminates a light on the appropriate button or control panel, and sounds a warning in the
form of a continuous or intermittent buzzing or beeping sound. Initially this device was based
on an electromechanical system which was identical to an electric bell without the metal gong
(which makes the ringing noise). Often these units were anchored to a wall or ceiling and
used the ceiling or wall as a sounding board. Another implementation with some AC-
connected devices was to implement a circuit to make the AC current into a noise loud
enough to drive a loudspeaker and hook this circuit up to a cheap 8-ohm speaker. Nowadays,
it is more popular to use a ceramic-based piezoelectric sounder like a Sonalert which makes a
high-pitched tone. Usually these were hooked up to “driver” circuits which varied the pitch of
the sound or pulsed the sound on and off.

In game shows it is also known as a “lockout system,” because when one person signals
(“buzzes in”), all others are locked out from signalling. Several game shows have large
buzzer buttons which are identified as “plungers”.

Fig. Buzzer

USES

 Annunciator panels
 Electronic metronomes
 Game shows
 Microwave ovens and other household appliances
 Sporting events such as basketball games
 Electrical alarms
LIQUID CRYSTAL DISPLAY(LCD)

LCD (Liquid Crystal Display) screen is an electronic display module and find a wide
range of applications. A 16x2 LCD display is very basic module and is very commonly used
in various devices and circuits. These modules are preferred over seven segments and other
multi segment LEDs. The reasons being: LCDs are economical; easily programmable; have
no limitation of displaying special & even custom characters (unlike in seven segments),
animations and so on.

A 16x2 LCD means it can display 16 characters per line and there are 2 such lines. In this
LCD each character is displayed in 5x7 pixel matrix. This LCD has two registers, namely,
Command and Data.

The command register stores the command instructions given to the LCD. A command is an
instruction given to LCD to do a predefined task like initializing it, clearing its screen, setting
the cursor position, controlling display etc. The data register stores the data to be displayed
on the LCD. The data is the ASCII value of the character to be displayed on the LCD.

Fig. 16x2 LCD

Introduction

The most commonly used Character based LCDs are based on Hitachi's HD44780
controller or other which are compatible with HD44580.

Pin Description

Most LCDs with 1 controller has 14 Pins and LCDs with 2 controller has 16 Pins (two
pins are extra in both for back-light LED connections). Pin description is shown in the table
below.
Pin Configuration table for a 16X2 LCD character display:-
Pin Symbol Function
Number
1 Vss Ground Terminal
2 Vcc Positive Supply
3 Vdd Contrast adjustment
4 RS Register Select; 0→Instruction Register, 1→Data Register
5 R/W Read/write Signal; 1→Read, 0→ Write
6 E Enable; Falling edge
7 DB0
8 DB1
9 DB2 Bi-directional data bus, data transfer is performed once, thru
10 DB3 DB0 to DB7, in the case of interface data length is 8-bits; and
11 DB4 twice, through DB4 to DB7 in the case of interface data length is
12 DB5 4-bits. Upper four bits first then lower four bits.
13 DB6
14 DB7
15 LED-(K) Back light LED cathode terminal
16 LED+(A) Back Light LED anode terminal
Table Pin Description Of LCD

Data/Signals/Execution of LCD

Coming to data, signals and execution.

LCD accepts two types of signals, one is data, and another is control. These signals
are recognized by the LCD module from status of the RS pin. Now data can be read also from
the LCD display, by pulling the R/W pin high. As soon as the E pin is pulsed, LCD display
reads data at the falling edge of the pulse and executes it, same for the case of transmission.
LCD display takes a time of 39-43µS to place a character or execute a command.
Except for clearing display and to seek cursor to home position it takes 1.53ms to 1.64ms.
Any attempt to send any data before this interval may lead to failure to read data or execution
of the current data in some devices. Some devices compensate the speed by storing the
incoming data to some temporary registers.
Instruction Register (IR) and Data Register (DR)

There are two 8-bit registers in HD44780 controller Instruction and Data register.
Instruction register corresponds to the register where you send commands to LCD e.g LCD
shift command, LCD clear, LCD address etc. and Data register is used for storing data which
is to be displayed on LCD. when send the enable signal of the LCD is asserted, the data on
the pins is latched in to the data register and data is then moved automatically to the DDRAM
and hence is displayed on the LCD. Data Register is not only used for sending data to
DDRAM but also for CGRAM, the address where you want to send the data, is decided by
the instruction you send to LCD. We will discuss more on LCD instruction set further in this
tutorial.

Commands and Instruction set

Only the instruction register (IR) and the data register (DR) of the LCD can be
controlled by the MCU. Before starting the internal operation of the LCD, control
information is temporarily stored into these registers to allow interfacing with various MCUs,
which operate at different speeds, or various peripheral control devices. The internal
operation of the LCD is determined by signals sent from the MCU. These signals, which
include register selection signal (RS), read/write signal (R/W), and the data bus (DB0 to
DB7), make up the LCD instructions (Table 3). There are four categories of instructions that:
Designate LCD functions, such as display format, data length, etc.
Set internal RAM addresses
Perform data transfer with internal RAM

 Perform miscellaneous functions


Table Showing various LCD Command Description

Although looking at the table you can make your own commands and test them. Below is a
brief list of useful commands which are used frequently while working on the LCD.
List Of Command

No. Instruction Hex Decimal

1 Function Set: 8-bit, 1 Line, 5x7 Dots 0x30 48


2 Function Set: 8-bit, 2 Line, 5x7 Dots 0x38 56
3 Function Set: 4-bit, 1 Line, 5x7 Dots 0x20 32
4 Function Set: 4-bit, 2 Line, 5x7 Dots 0x28 40
5 Entry Mode 0x06 6
Display off Cursor off
6 (clearing display without clearing DDRAM 0x08 8
content)
7 Display on Cursor on 0x0E 14
8 Display on Cursor off 0x0C 12
9 Display on Cursor blinking 0x0F 15
10 Shift entire display left 0x18 24
12 Shift entire display right 0x1C 30
13 Move cursor left by one character 0x10 16
14 Move cursor right by one character 0x14 20
15 Clear Display (also clear DDRAM content) 0x01 1
Set DDRAM address or coursor position on
16 0x80+add* 128+add*
display
Set CGRAM address or set pointer to
17 0x40+add** 64+add**
CGRAM location
Table : Frequently Used Commands And Instructions For Lcd

* DDRAM address given in LCD basics section see Figure 2,3,4


** CGRAM address from 0x00 to 0x3F, 0x00 to 0x07 for char1 and so on.

Liquid crystal displays interfacing with Controller

The LCD standard requires 3 control lines and 8 I/O lines for the data bus.

• 8 data pins D7:D0


Bi-directional data/command pins.
Alphanumeric characters are sent in ASCII format.

• RS: Register Select


RS = 0 -> Command Register is selected
RS = 1 -> Data Register is selected

• R/W: Read or Write


0 -> Write, 1 -> Read

• E: Enable (Latch data)


Used to latch the data present on the data pins.
A high-to-low edge is needed to latch the data.
Chapter

SENSORS

SENSOR:
 A sensor is a technological device that detects / senses a signal, physical condition
and chemical compounds.

 It is also defined as any device that converts a signal from one form to another.

1) Proximity sensors is used to detect the speed in our project.


2) There are many types,each suited to specific applications and environment.
3) We are using NPN proximity sensors.

POWER SUPPLY

An additional concept i.e. power supply kit is added into this project for the supply of
Arduino. As Arduino requires 5V DC supply that’s why the step down transformer is used to
step down the voltage 230 V AC to 9V AC then by using bridge rectifier the 9V AC is
converted into 9V DC. then the electrolytic capacitor filter is connected to give pure DC.then
the regulator IC is connected which give constant 5 V DC for Arduino.
CHAPTER 4

SOFTWARE SPECIFICATION

The Arduino Integrated Development Environment - or Arduino Software (IDE) -


contains a text editor for writing code, a message area, a text console, a toolbar with
buttons for common functions and a series of menus. It connects to the Arduino and
Genuino hardware to upload programs and communicate with them.

WRITING SKETCHES

Programs written using Arduino Software (IDE) are called sketches. These
sketches are written in the text editor and are saved with the file extension .ino. The editor
has features for cutting/pasting and for searching/replacing text. The message area gives
feedback while saving and exporting and also displays errors. The console displays text
output by the Arduino Software (IDE), including complete error messages and other
information. The bottom righthand corner of the window displays the configured board
and serial port. The toolbar buttons allow you to verify and upload programs, create,
open, and save sketches, and open the serial monitor.
NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the
extension .pde. It is possible to open these files with version 1.0, you will be prompted to
save the sketch with the .ino extension on save.

Verify
Checks your code for errors compiling it.

Upload
Compiles your code and uploads it to the configured board. See uploading below
for details.

Note: If you are using an external programmer with your board, you can hold down
the "shift" key on your computer when using this icon. The text will change to
"Upload using Programmer"

New Creates a new sketch.

Open Presents a menu of all the sketches in your sketchbook. Clicking one will
open it within the current window overwriting its content.

Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch
late in the list, use the File | Sketchbookmenu instead.

Save Saves your sketch.

Serial Monitor Opens the serial monitor.

Additional commands are found within the five menus: File, Edit, Sketch, Tools, Help.
The menus are context sensitive, which means only those items relevant to the work
currently being carried out are available.

File

 New Creates a new instance of the editor, with the bare minimum structure of a sketch
already in place.
 Open Allows to load a sketch file browsing through the computer drives and folders.
 Open Recent 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 to save 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.

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.
 Copy for Forum Copies the code of your sketch to the clipboard in a form suitable for
posting to the forum, complete with syntax coloring.
 Copy as HTML 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.
 Select All 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/Decrease Indent :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.
 Find Next: Highlights the next occurrence - if any - of the string specified as the search
item in the Find window, relative to the cursor position.
 Find Previous : Highlights the previous occurrence - if any - of the string specified as the
search item in the Find window relative to the cursor position.

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.
 Upload Using Programmer

This will overwrite the bootloader on the board; you will need to use Tools > Burn
Bootloader 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 Bootloader command
must be executed.
 Export Compiled Binary
Saves a .hex file that may be kept as archive or sent to the board using other tools.
 Show Sketch Folder
Opens the current sketch folder.
 Include Library
Adds a library to your sketch by inserting #include statements at the start of your code.
For more details, seelibraries below. Additionally, from this menu item you can access
the Library Manager and import new libraries from .zip files.
 Add File...
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.

TOOLS

 Auto Format
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.
 Archive Sketch
Archives a copy of the current sketch in .zip format. The archive is placed in the same
directory as the sketch.
 Fix Encoding & Reload
Fixes possible discrepancies between the editor char map encoding and other operating
systems char maps.
 Serial Monitor
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 harware 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
bootloader to a new microcontroller, you will use this.
 Burn Bootloader
The items in this menu allow you to burn a bootloader 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 come without a
bootloader). Ensure that you've selected the correct board from the Boards menu before
burning the bootloader on the target board. This command also set the right fuses.

HELP

Here you find easy access to a number of documents that come with the Arduino
Software (IDE). You have access to Getting Started, Reference, this guide to the IDE and
other documents locally, without an internet connection. The documents are a local copy
of the online ones and may link back to our online website.

 Find in Reference
This is the only interactive function of the Help menu: it directly selects the relevant page
in the local copy of the Reference for the function or command under the cursor.

SKETCHBOOK

The Arduino Software (IDE) uses the concept of a sketchbook: a standard place to store
your programs (or sketches). The sketches in your sketchbook can be opened from
the File > Sketchbook menu or from the Open button on the toolbar. The first time you
run the Arduino software, it will automatically create a directory for your sketchbook.
You can view or change the location of the sketchbook location from with
the Preferences dialog.

Beginning with version 1.0, files are saved with a .ino file extension. Previous versions
use the .pde extension. You may still open .pde named files in version 1.0 and later, the
software will automatically rename the extension to .ino.

Tabs, Multiple Files, and Compilation

Allows you to manage sketches with more than one file (each of which appears in its own
tab). These can be normal Arduino code files (no visible extension), C files (.c extension),
C++ files (.cpp), or header files (.h).

UPLOADING

Before uploading your sketch, you need to select the correct items from the Tools >
Board and Tools > Port menus. Theboards are described below. On the Mac, the serial
port is probably something like /dev/tty.usbmodem241 (for an Uno or Mega2560 or
Leonardo) or /dev/tty.usbserial-1B1 (for a Duemilanove or earlier USB board),
or/dev/tty.USA19QW1b1P1.1 (for a serial board connected with a Keyspan USB-to-
Serial adapter). On Windows, it's probably COM1 or COM2 (for a serial board)
or COM4, COM5, COM7, or higher (for a USB board) - to find out, you look for USB
serial device in the ports section of the Windows Device Manager. On Linux, it should
be /dev/ttyACMx ,/dev/ttyUSBx or similar. Once you've selected the correct serial port
and board, press the upload button in the toolbar or select the Upload item from
the Sketch menu. Current Arduino boards will reset automatically and begin the upload.
With older boards (pre-Diecimila) that lack auto-reset, you'll need to press the reset
button on the board just before starting the upload. On most boards, you'll see the RX and
TX LEDs blink as the sketch is uploaded. The Arduino Software (IDE) will display a
message when the upload is complete, or show an error.

When you upload a sketch, you're using the Arduino bootloader, a small program that has
been loaded on to the microcontroller on your board. It allows you to upload code without
using any additional hardware. The bootloader is active for a few seconds when the board
resets; then it starts whichever sketch was most recently uploaded to the microcontroller.
The bootloader will blink the on-board (pin 13) LED when it starts (i.e. when the board
resets).

LIBRARIES

Libraries provide extra functionality for use in sketches, e.g. working with hardware or
manipulating data. To use a library in a sketch, select it from the Sketch > Import
Library menu. This will insert one or more #include statements at the top of the sketch
and compile the library with your sketch. Because libraries are uploaded to the board with
your sketch, they increase the amount of space it takes up. If a sketch no longer needs a
library, simply delete its #includestatements from the top of your code.

There is a list of libraries in the reference. Some libraries are included with the Arduino
software. Others can be downloaded from a variety of sources or through the Library
Manager. Starting with version 1.0.5 of the IDE, you do can import a library from a zip
file and use it in an open sketch. See these instructions for installing a third-party library.

To write your own library.

THIRD-PARTY HARDWARE

Support for third-party hardware can be added to the hardware directory of your
sketchbook directory. Platforms installed there may include board definitions (which
appear in the board menu), core libraries, bootloaders, and programmer definitions. To
install, create the hardware directory, then unzip the third-party platform into its own sub-
directory. (Don't use "arduino" as the sub-directory name or you'll override the built-in
Arduino platform.) To uninstall, simply delete its directory.

For details on creating packages for third-party hardware, see the Arduino IDE 1.5 3rd
party Hardware specification.

SERIAL MONITOR
Displays serial data being sent from the Arduino or Genuino board (USB or serial board).
To send data to the board, enter text and click on the "send" button or press enter. Choose
the baud rate from the drop-down that matches the rate passed to Serial.begin in your
sketch. Note that on Windows, Mac or Linux, the Arduino or Genuino board will reset
(rerun your sketch execution to the beginning) when you connect with the serial monitor.

You can also talk to the board from Processing, Flash, MaxMSP, etc (see the interfacing
page for details).

PREFERENCES

Some preferences can be set in the preferences dialog (found under the Arduino menu on
the Mac, or File on Windows and Linux). The rest can be found in the preferences file,
whose location is shown in the preference dialog.

LANGUAGE SUPPORT
Since version 1.0.1 , the Arduino Software (IDE) has been translated into 30+ different
languages. By default, the IDE loads in the language selected by your operating system.
(Note: on Windows and possibly Linux, this is determined by the locale setting which
controls currency and date formats, not by the language the operating system is displayed
in.)

If you would like to change the language manually, start the Arduino Software (IDE) and
open the Preferences window. Next to the Editor Language there is a dropdown menu of
currently supported languages. Select your preferred language from the menu, and restart
the software to use the selected language. If your operating system language is not
supported, the Arduino Software (IDE) will default to English.

You can return the software to its default setting of selecting its language based on your
operating system by selectingSystem Default from the Editor Language drop-down. This
setting will take effect when you restart the Arduino Software (IDE). Similarly, after
changing your operating system's settings, you must restart the Arduino Software (IDE)
to update it to the new default language.

BOARDS

The board selection has two effects: it sets the parameters (e.g. CPU speed and baud rate)
used when compiling and uploading sketches; and sets and the file and fuse settings used
by the burn bootloader command. Some of the board definitions differ only in the latter,
so even if you've been uploading successfully with a particular selection you'll want to
check it before burning the bootloader. You can find a comparison table between the
various boards here.

Arduino Software (IDE) includes the built in support for the boards in the following list,
all based on the AVR Core. TheBoards Manager included in the standard installation
allows to add support for the growing number of new boards based on different cores like
Arduino Due, Arduino Zero, Edison, Galileo and so on.

 Arduino Yùn
An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7
PWM.
 Arduino/Genuino Uno
An ATmega328 running at 16 MHz with auto-reset, 6 Analog In, 14 Digital I/O and 6
PWM.
 Arduino Diecimila or Duemilanove w/ ATmega168
An ATmega168 running at 16 MHz with auto-reset.
 Arduino Nano w/ ATmega328
An ATmega328 running at 16 MHz with auto-reset. Has eight analog inputs.
 Arduino/Genuino Mega 2560
An ATmega2560 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15
PWM.
 Arduino Mega
An ATmega1280 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15
PWM.
 Arduino Mega ADK
An ATmega2560 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15
PWM.
 Arduino Leonardo
An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7
PWM.
 Arduino/Genuino Micro
An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7
PWM.
 Arduino Esplora
An ATmega32u4 running at 16 MHz with auto-reset.
 Arduino Mini w/ ATmega328
An ATmega328 running at 16 MHz with auto-reset, 8 Analog In, 14 Digital I/O and 6
PWM.
 Arduino Ethernet
Equivalent to Arduino UNO with an Ethernet shield: An ATmega328 running at
16 MHz with auto-reset, 6 Analog In, 14 Digital I/O and 6 PWM.
 Arduino Fio
An ATmega328 running at 8 MHz with auto-reset. Equivalent to Arduino Pro or Pro Mini
(3.3V, 8 MHz) w/ATmega328, 6 Analog In, 14 Digital I/O and 6 PWM.
 Arduino BT w/ ATmega328
ATmega328 running at 16 MHz. The bootloader burned (4 KB) includes codes to
initialize the on-board bluetooth module, 6 Analog In, 14 Digital I/O and 6 PWM..
 LilyPad Arduino USB
An ATmega32u4 running at 8 MHz with auto-reset, 4 Analog In, 9 Digital I/O and 4
PWM.
 LilyPad Arduino
An ATmega168 or ATmega132 running at 8 MHz with auto-reset, 6 Analog In, 14
Digital I/O and 6 PWM.
 Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
An ATmega328 running at 16 MHz with auto-reset. Equivalent to Arduino Duemilanove
or Nano w/ ATmega328; 6 Analog In, 14 Digital I/O and 6 PWM.
 Arduino NG or older w/ ATmega168
An ATmega168 running at 16 MHz without auto-reset. Compilation and upload is
equivalent to Arduino Diecimila or Duemilanove w/ ATmega168, but the bootloader
burned has a slower timeout (and blinks the pin 13 LED three times on reset); 6 Analog
In, 14 Digital I/O and 6 PWM.
 Arduino Robot Control
An ATmega328 running at 16 MHz with auto-reset.
 Arduino Robot MOTOR
An ATmega328 running at 16 MHz with auto-reset.
 Arduino Gemma
An ATtiny85 running at 8 MHz with auto-reset, 1 Analog In, 3 Digital I/O and 2 PWM.

THE COMPILATION PROCESS

The arduino code is actually just plain old c without all the header part (the includes and all).
when you press the 'compile' button, the IDE saves the current file as arduino.c in the
'lib/build' directory then it calls a makefile contained in the 'lib' directory.

This makefile copies arduino.c as prog.c into 'lib/tmp' adding 'wiringlite.inc' as the beginning
of it. this operation makes the arduino/wiring code into a proper c file (called prog.c).

After this, it copies all the files in the 'core' directory into 'lib/tmp'. these files are the
implementation of the various arduino/wiring commands adding to these files adds
commands to the language

The core files are supported by pascal stang's procyon avr-lib that is contained in the 'lib/avrlib'
directory. At this point the code contained in lib/tmp is ready to be compiled with the c compiler
contained in 'tools'. If the make operation is succesfull then you'll have prog.hex ready to be
downloaded into the processor.
CHAPTER 5

GSM
SM is a mobile communication modem; it is stands for global system for mobile
communication (GSM). The idea of GSM was developed at Bell Laboratories in 1970. It is
widely used mobile communication system in the world. GSM is an open and digital cellular
technology used for transmitting mobile voice and data services operates at the 850MHz,
900MHz, 1800MHz and 1900MHz frequency bands.
GSM system was developed as a digital system using time division multiple access (TDMA)
technique for communication purpose. A GSM digitizes and reduces the data, then sends it
down through a channel with two different streams of client data, each in its own particular
time slot. The digital system has an ability to carry 64 kbps to 120 Mbps of data rates.

GSM Modem
There are various cell sizes in a GSM system such as macro, micro, pico and umbrella cells.
Each cell varies as per the implementation domain. There are five different cell sizes in a
GSM network macro, micro, pico and umbrella cells. The coverage area of each cell varies
according to the implementation environment.

Time Division Multiple Access

TDMA technique relies on assigning different time slots to each user on the same frequency.
It can easily adapt to data transmission and voice communication and can carry 64kbps to
120Mbps of data rate.
GSM Architecture

A GSM network consists of the following components:

 A Mobile Station: It is the mobile phone which consists of the transceiver, the display
and the processor and is controlled by a SIM card operating over the network.
 Base Station Subsystem: It acts as an interface between the mobile station and the
network subsystem. It consists of the Base Transceiver Station which contains the radio
transceivers and handles the protocols for communication with mobiles. It also consists of
the Base Station Controller which controls the Base Transceiver station and acts as a
interface between the mobile station and mobile switching centre.
 Network Subsystem: It provides the basic network connection to the mobile stations. The
basic part of the Network Subsystem is the Mobile Service Switching Centre which
provides access to different networks like ISDN, PSTN etc. It also consists of the Home
Location Register and the Visitor Location Register which provides the call routing and
roaming capabilities of GSM. It also contains the Equipment Identity Register which
maintains an account of all the mobile equipment wherein each mobile is identified by its
own IMEI number. IMEI stands for International Mobile Equipment Identity.
Features of GSM Module:

 Improved spectrum efficiency


 International roaming
 Compatibility with integrated services digital network (ISDN)
 Support for new services.
 SIM phone book management
 Fixed dialing number (FDN)
 Real time clock with alarm management
 High-quality speech
 Uses encryption to make phone calls more secure
 Short message service (SMS)
The security strategies standardized for the GSM system make it the most secure
telecommunications standard currently accessible. Although the confidentiality of a call and
secrecy of the GSM subscriber is just ensured on the radio channel, this is a major step in
achieving end-to- end security.
GSM Modem

A GSM modem is a device which can be either a mobile phone or a modem device which can
be used to make a computer or any other processor communicate over a network. A GSM
modem requires a SIM card to be operated and operates over a network range subscribed by
the network operator. It can be connected to a computer through serial, USB or GSM
connection.

A GSM modem can also be a standard GSM mobile phone with the appropriate cable and
software driver to connect to a serial port or USB port on your computer. GSM modem is
usually preferable to a GSM mobile phone. The GSM modem has wide range of applications
in transaction terminals, supply chain management, security applications, weather stations
and GPRS mode remote data logging.

Working of GSM Module:

From the below circuit, a GSM modem duly interfaced to the MC through the level shifter IC
Max232. The SIM card mounted GSM modem upon receiving digit command by SMS from
any cell phone send that data to the MC through serial communication. While the program is
executed, the GSM modem receives command ‘STOP’ to develop an output at the MC, the
contact point of which are used to disable the ignition switch. The command so sent by the
user is based on an intimation received by him through the GSM modem ‘ALERT’ a
programmed message only if the input is driven low. The complete operation is displayed
over 16×2 LCD display.
GMS Modem
Circuit
Intelligent GSM Device for Automation and Security

In these days, the GSM mobile terminal has become one of the items that are constantly with
us. Just like our wallet/purse, keys or watch, the GSM mobile terminal provides us a
communication channel that enables us to communicate with the world. The requirement for
a person to be reachable or to call anyone at any time is very appealing.
In this project, as the name says project is based on GSM network technology for
transmission of SMS from sender to receiver. SMS sending and receiving is used for
ubiquitous access of appliances and allowing breach control at home. The system proposes
two sub-systems. Appliance control subsystem enables the user to control home appliances
remotely and the security alert subsystem gives the automatic security monitoring.

The system is capable enough to instruct user via SMS from a specific cell number to change
the condition of the home appliance according to the user’s needs and requirements. The
second aspect is that of security alert which is achieved in a way that on the detection of
intrusion, the system allows automatic generation of SMS thus alerting the user against
security risk. GSM will allow communication anywhere, anytime, and with anyone. The
functional architecture of GSM employing intelligent networking principles, and its ideology,
which provides the development of GSM is the first step towards a true personal
communication system that enough standardization to ensure compatibility.
IOT Programming CODE

include <studio.h>

#include <SoftwareSerial.h>

#include <LiquidCrystal.h>

LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

SoftwareSerial mySerial(2, 3);

// defines pins numbers

//New GPS GY-GPS6MV2

String textMessage;

int ir = A0;

#define IN1 4

#define IN2 5

#define IN3 6

#define IN4 7

int dist1,dist2,dist3,sts1=0;

long duration;

int distanceCm, distanceInch;

char lvls='x';

int memsx=0,memsy=0;

int hbtc=0,hbtc1=0,rtrl=0;

unsigned char rcv,count,gchr='x',gchr1='x',robos='s';

char rcvmsg[10],pastnumber[11];

//char pastnumber1[11],pastnumber2[11];//pastnumber3[11];
char gpsval[50];

// char dataread[100] = "";

// char lt[15],ln[15];

int i=0,k=0,lop=0;

int gps_status=0;

float latitude=0;

float logitude=0;

String Speed="";

String gpsString="";

char *test="$GPRMC";

//int hbtc=0,hbtc1=0,rtrl=0;

unsigned char gv=0,msg1[10],msg2[11];

float lati=0,longi=0;

unsigned int lati1=0,longi1=0;

unsigned char flat[5],flong[5];

unsigned char finallat[8],finallong[9];

int ii=0,rchkr=0;

float tempc=0,weight=0;

float vout=0;

int sti=0;

String inputString = ""; // a string to hold incoming data

boolean stringComplete = false; // whether the string is complete

void okcheck()
{

unsigned char rcr;

do{

rcr = mySerial.read();

}while(rcr != 'K');

void send_link()

mySerial.write("AT+CMGS=\"");

mySerial.write(pastnumber);

mySerial.write("\"\r\n"); delay(2500);

mySerial.write("https://www.google.co.in/search?client=opera&q=");

for(ii=0;ii<=6;ii++){mySerial.write(finallat[ii]);}

mySerial.write("%2C");

for(ii=0;ii<=7;ii++){mySerial.write(finallong[ii]);}

mySerial.write(0x1A);delay(4000);delay(4000);

void gps_data_msg()

mySerial.write("https://www.google.co.in/search?client=opera&q=");

for(ii=0;ii<=6;ii++){mySerial.write(finallat[ii]);}

mySerial.write("%2C");

for(ii=0;ii<=7;ii++){mySerial.write(finallong[ii]);}
}

/*

void beep()

digitalWrite(buzzer,HIGH);delay(1000);delay(1000);digitalWrite(buzzer,LOW);

}*/

void setup()

lcd.setCursor(0,0);

lcd.print(" WELCOME");

delay(1000);

lcd.setCursor(0,1);

lcd.print("USING GSM");

delay(1000);

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

gsminit();

delay(1500);

serialEvent();

char memss='x';
void loop(void)

delay(1000);

lcd.setCursor(0,0);

lcd.print("STATUS::");

if(mySerial.available()>0){

textMessage = mySerial.readString();

Serial.print(textMessage);

delay(10);

if(textMessage.indexOf("F")>=0)

lcd.setCursor(0,1);

lcd.print("FRONT ");

delay(500);

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

Serial.println("Relay set to ON");

textMessage = "";

if(textMessage.indexOf("B")>=0)
{

lcd.setCursor(0,1);

lcd.print("BACK ");

delay(500);

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

Serial.println("Relay set to ON");

textMessage = "";

if(textMessage.indexOf("L")>=0)

lcd.setCursor(0,1);

lcd.print("LEFT ");

delay(500);

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

Serial.println("Relay set to ON");

textMessage = "";

}
if(textMessage.indexOf("R")>=0)

lcd.setCursor(0,1);

lcd.print("RIGHT ");

delay(500);

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

Serial.println("Relay set to ON");

textMessage = "";

if(textMessage.indexOf("S")>=0)

lcd.setCursor(0,1);

lcd.print("STOP ");

delay(500);

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

Serial.println("Relay set to ON");

textMessage = "";
}

delay(500);

void serialEvent()

while (mySerial.available())

char inChar = (char)mySerial.read();

//sti++;

//inputString += inChar;

if(inChar == '*')

{sti=1;

inputString += inChar;

// stringComplete = true;

// gchr = inputString[sti-1]

if(sti == 1)

inputString += inChar;

if(inChar == '#')

{sti=0;

stringComplete = true;
}

int readSerial(char result[])

int i = 0;

while (1)

while (mySerial.available() > 0)

char inChar = mySerial.read();

if (inChar == '\n')

result[i] = '\0';

mySerial.flush();

return 0;

if (inChar != '\r')

result[i] = inChar;

i++;

}
}

int readSerial1(char result[])

int i = 0;

while (1)

while (mySerial.available() > 0)

char inChar = mySerial.read();

if (inChar == '*')

result[i] = '\0';

mySerial.flush();

return 0;

if (inChar != '*')

result[i] = inChar;

i++;

}
}

void gsminit()

Serial.print("SEND MSG STORE");

Serial.print("MOBILE NUMBER");

lcd.clear();

lcd.print("SEND MSG STORE");

delay(1000);

lcd.setCursor(0,1);

lcd.print("MOBILE NUMBER");

do{

rcv = mySerial.read();

}while(rcv != '*');

readSerial(pastnumber);

pastnumber[10]='\0';

Serial.print(pastnumber);

lcd.clear();

lcd.print(pastnumber);

delay(3000);

lcd.clear();

mySerial.write("\"\r\n"); delay(3000);

mySerial.write("Mobile no. registered\r\n");

mySerial.write(0x1A);
delay(4000); delay(5000);

//delay(1000);

H-Bridge Theory:

An H-Bridge is an electronic circuit which enables a voltage to be applied across a load in


either direction. These circuits are often used in robotics and other applications to allow DC
motors to run forwards and backwards. H-bridges are available as integrated circuits, or can
be built from discrete components

Let's start with the name, H-bridge. Sometimes called a "full bridge" the H-bridge is so
named because it has four switching elements at the "corners" of the H and the motor forms
the cross bar. The basic bridge is shown in the figure to the right.

The key fact to note is that there are, in theory, four switching elements within the bridge.
These four elements are often called, high side left, high side right, low side right, and low
side left (when traversing in clockwise order).

The switches are turned on in pairs, either high left and lower right, or lower left and high
right, but never both switches on the same "side" of the bridge. If both switches on one side
of a bridge are turned on it creates a short circuit between the battery plus and battery minus
terminals. This phenomena is called shoot through in the Switch-Mode Power Supply
(SMPS) literature. If the bridge is sufficiently powerful it will absorb that load and your
batteries will simply drain quickly. Usually however the switches in question melt.

To power the motor, you turn on two switches that are diagonally opposed. In the picture to
the right, imagine that the high side left and low side right switches are turned on. The current
flow is shown in green.

The current flows and the motor begins to turn in a "positive" direction. What happens if you
turn on the high side right and low side left switches? You guessed it, current flows the other
direction through the motor and the motor turns in the opposite direction.
L293D Dual H-Bridge Motor Driver

L293D is a dual H-Bridge motor 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 the 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 ouput 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 forDCmotordriver.

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

As you can see in the circuit, three pins are needed for interfacing a DC motor (A, B, Enable).
If you want the o/p to be enabled completely then you can connect Enable to VCC and only 2
pins needed from controller to make the motor work.

As per the truth mentioned in the image above its fairly simple to program the
microcontroller.

MOTORS

DEFINITION

Motor is a device that creates motion, not an engine; it usually refers to either an electrical
motor or an internal combustion engine.
It may also refer to:
Electric motor, a machine that converts electricity into a mechanical motion
AC motor, an electric motor that is driven by alternating current
Synchronous motor, an alternating current motor distinguished by a rotor spinning with coils
passing magnets at the same rate as the alternating current and resulting magnetic field which
drives it
Induction motor, also called a squirrel-cage motor, a type of asynchronous alternating current
motor where power is supplied to the rotating device by means of electromagnetic induction
DC motor, an electric motor that runs on direct current electricity
Brushed DC electric motor, an internally commutated electric motor designed to be run from
a direct current power source
Brushless DC motor, a synchronous electric motor which is powered by direct current
electricity and has an electronically controlled commutation system, instead of a mechanical
commutation system based on brushes
Electrostatic motor, a type of electric motor based on the attraction and repulsion of electric
charge
Servo motor, an electric motor that operates a servo, commonly used in robotics
Internal fan-cooled electric motor, an electric motor that is self-cooled by a fan, typically
used for motors with a high energy density

TYPES OF MOTORS
Industrial motors come in a variety of basic types. These variations are suitable for many
different applications. Naturally, some types of motors are more suited for certain
applications than other motor types are. This document will hopefully give some guidance in
selecting these motors.
AC Motors
The most common and simple industrial motor is the three phase AC induction motor,
sometimes known as the "squirrel cage" motor. Substantial information can be found about
any motor by checking its (nameplate).

Advantages
Simple Design
Low Cost
Reliable Operation
Easily Found Replacements
Variety of Mounting Styles
Many Different Environmental Enclosures
Simple Design
The simple design of the AC motor -- simply a series of three windings in the exterior (stator)
section with a simple rotating section (rotor). The changing field caused by the 50 or 60 Hertz
AC line voltage causes the rotor to rotate around the axis of the motor.
The speed of the AC motor depends only on three variables:
The fixed number of winding sets (known as poles) built into the motor, which determines
the motor's base speed.
The frequency of the AC line voltage. Variable speed drives change this frequency to change
the speed of the motor.
The amount of torque loading on the motor, which causes slip.
Low Cost
The AC motor has the advantage of being the lowest cost motor for applications requiring
more than about 1/2 hp (325 watts) of power. This is due to the simple design of the motor.
For this reason, AC motors are overwhelmingly preferred for fixed speed applications in
industrial applications and for commercial and domestic applications where AC line power
can be easily attached. Over 90% of all motors are AC induction motors. They are found in
air conditioners, washers, dryers, industrial machinery, fans, blowers, vacuum cleaners, and
many, many other applications.
Reliable Operation
The simple design of the AC motor results in extremely reliable, low maintenance operation.
Unlike the DC motor, there are no brushes to replace. If run in the appropriate environment
for its enclosure, the AC motor can expect to need new bearings after several years of
operation. If the application is well designed, an AC motor may not need new bearings for
more than a decade.
Easily Found Replacements
The wide use of the AC motor has resulted in easily found replacements. Many
manufacturers adhere to either European (metric) or American (NEMA) standards. (For
Replacement Motors)
Variety of Mounting Styles
AC Motors are available in many different mounting styles such as:
 Foot Mount
 C-Face
 Large Flange
 Vertical
 Specialty
DC Motors
The brushed DC motor is one of the earliest motor designs. Today, it is the motor of choice in
the majority of variable speed and torque control applications.
Advantages
Easy to understand design
Easy to control speed
Easy to control torque
Simple, cheap drive design
Easy to understand design
The design of the brushed DC motor is quite simple. A permanent magnetic field is created in
the stator by either of two means:
Permanent magnets
Electro-magnetic windings
If the field is created by permanent magnets, the motor is said to be a "permanent magnet DC
motor" (PMDC). If created by electromagnetic windings, the motor is often said to be a
"shunt wound DC motor" (SWDC). Today, because of cost-effectiveness and reliability, the
PMDC motor is the motor of choice for applications involving fractional horsepower DC
motors, as well as most applications up to about three horsepower.
At five horsepower and greater, various forms of the shunt wound DC motor are most
commonly used. This is because the electromagnetic windings are more cost effective than
permanent magnets in this power range.
Caution: If a DC motor suffers a loss of field (if for example, the field power connections are
broken), the DC motor will immediately begin to accelerate to the top speed which the
loading will allow. This can result in the motor flying apart if the motor is lightly loaded. The
possible loss of field must be accounted for, particularly with shunt wound DC motors.
Opposing the stator field is the armature field, which is generated by a changing
electromagnetic flux coming from windings located on the rotor. The magnetic poles of the
armature field will attempt to line up with the opposite magnetic poles generated by the stator
field. If we stopped the design at this point, the motor would spin until the poles were
opposite one another, settle into place, and then stop -- which would make a pretty useless
motor!
However, we are smarter than that. The section of the rotor where the electricity enters the
rotor windings is called the commutator. The electricity is carried between the rotor and the
stator by conductive graphite-copper brushes (mounted on the rotor) which contact rings on
stator. Imagine power is supplied:
The motor rotates toward the pole alignment point. Just as the motor would get to this point,
the brushes jump across a gap in the stator rings. Momentum carries the motor forward over
this gap. When the brushes get to the other side of the gap, they contact the stator rings again
and -- the polarity of the voltage is reversed in this set of rings! The motor begins
accelerating again, this time trying to get to the opposite set of poles. (The momentum has
carried the motor past the original pole alignment point.) This continues as the motor rotates.
In most DC motors, several sets of windings or permanent magnets are present to smooth out
the motion.
Easy to control speed
Controlling the speed of a brushed DC motor is simple. The higher the armature voltage, the
faster the rotation. This relationship is linear to the motor's maximum speed.
The maximum armature voltage which corresponds to a motor's rated speed (these motors are
usually given a rated speed and a maximum speed, such as 1750/2000 rpm) are available in
certain standard voltages, which roughly increase in conjuntion with horsepower. Thus, the
smallest industrial motors are rated 90 VDC and 180 VDC. Larger units are rated at 250
VDC and sometimes higher.
Specialty motors for use in mobile applications are rated 12, 24, or 48 VDC. Other tiny
motors may be rated 5 VDC.
Most industrial DC motors will operate reliably over a speed range of about 20:1 -- down to
about 5-7% of base speed. This is much better performance than the comparible AC motor.
This is partly due to the simplicity of control, but is also partly due to the fact that most
industrial DC motors are designed with variable speed operation in mind, and have added
heat dissipation features which allow lower operating speeds.
Easy to control torque
In a brushed DC motor, torque control is also simple, since output torque is proportional to
current. If you limit the current, you have just limited the torque which the motor can
achieve. This makes this motor ideal for delicate applications such as textile manufacturing.
Simple, cheap drive design
The result of this design is that variable speed or variable torque electronics are easy to
design and manufacture. Varying the speed of a brushed DC motor requires little more than a
large enough potentiometer. In practice, these have been replaced for all but sub-fractional
horsepower applications by the SCR and PWM drives, which offer relatively precisely
control voltage and current. Common DC drives are available at the low end (up to 2
horsepower) for under US$100 -- and sometimes under US$50 if precision is not important.
Large DC drives are available up to hundreds of horsepower. However, over about 10
horsepower careful consideration should be given to the price/performance tradeoffs with AC
inverter systems, since the AC systems show a price advantage in the larger systems. (But
they may not be capable of the application's performance requirments).
Disadvantages
Expensive to produce
Can't reliably control at lowest speeds
Physically larger
High maintenance
Dust

WORKING OF DC MOTOR

In any electric motor, operation is based on simple electromagnetism. A current-


carrying conductor generates a magnetic field; when this is then placed in an external
magnetic field, it will experience a force proportional to the current in the conductor, and to
the strength of the external magnetic field. As you are well aware of from playing with
magnets as a kid, opposite (North and South) polarities attract, while like polarities (North
and North, South and South) repel. The internal configuration of a DC motor is designed to
harness the magnetic interaction between a current-carrying conductor and an external
magnetic field to generate rotational motion.

Principle

When a rectangular coil carrying current is placed in a magnetic field, a torque acts on the
coil which rotates it continuously.

When the coil rotates, the shaft attached to it also rotates and thus it is able to do mechanical
work.
Every DC motor has six basic parts -- axle, rotor (a.k.a., armature), stator, commutator, field
magnet(s), and brushes. In most common DC motors (and all that BEAMers will see), the
external magnetic field is produced by high-strength permanent magnets 1. The stator is the
stationary part of the motor -- this includes the motor casing, as well as two or more
permanent magnet pole pieces. The rotor (together with the axle and attached commutator)
rotate with respect to the stator. The rotor consists of windings (generally on a core), the
windings being electrically connected to the commutator. The above diagram shows a
common motor layout -- with the rotor inside the stator (field) magnets.

The geometry of the brushes, commentator contacts, and rotor windings are such that when
power is applied, the polarities of the energized winding and the stator magnet(s) are
misaligned, and the rotor will rotate until it is almost aligned with the stator's field magnets.
As the rotor reaches alignment, the brushes move to the next commentator contacts, and
energize the next winding. Given our example two-pole motor, the rotation reverses the
direction of current through the rotor winding, leading to a "flip" of the rotor's magnetic field,
driving it to continue rotating.

In real life, though, DC motors will always have more than two poles (three is a very common
number). In particular, this avoids "dead spots" in the commutator. You can imagine how with
our example two-pole motor, if the rotor is exactly at the middle of its rotation (perfectly
aligned with the field magnets), it will get "stuck" there. Meanwhile, with a two-pole motor,
there is a moment where the commutator shorts out the power supply (i.e., both brushes touch
both commutator contacts simultaneously). This would be bad for the power supply, waste
energy, and damage motor components as well. Yet another disadvantage of such a simple
motor is that it would exhibit a high amount of torque "ripple" (the amount of torque it could
produce is cyclic with the position of the rotor).
Construction and Working

Parts of a DC Motor

Armature

A D.C. motor consists of a rectangular coil made of insulated copper wire wound on a soft
iron core. This coil wound on the soft iron core forms the armature. The coil is mounted on
an axle and is placed between the cylindrical concave poles of a magnet.

Commutator

A commutator is used to reverse the direction of flow of current. Commutator is a copper ring
split into two parts C1 and C2. The split rings are insulated form each other and mounted on
the axle of the motor. The two ends of the coil are soldered to these rings. They rotate along
with the coil. Commutator rings are connected to a battery. The wires from the battery are not
connected to the rings but to the brushes which are in contact with the rings.
Brushes

Two small strips of carbon, known as brushes press slightly against the two split rings, and
the split rings rotate between the brushes.

The carbon brushes are connected to a D.C. source.

Working of a DC Motor

When the coil is powered, a magnetic field is generated around the armature. The left side of
the armature is pushed away from the left magnet and drawn towards the right, causing
rotation.
When the coil turns through 90 0, the brushes lose contact with the commutator and the
current stops flowing through the coil.

However the coil keeps turning because of its own momentum.

Now when the coil turns through 1800, the sides get interchanged. As a result the commutator
ring C1 is now in contact with brush B2 and commutator ring C2 is in contact with brush B1.
Therefore, the current continues to flow in the same direction.
PARAMETRS OF THE DC MOTRS

1. Direction of rotation
2. Motor Speed
3. Motor Torque
4. Motor Start and Stop

Direction of Rotation

A DC Motor has two wires. We can call them the positive terminal and the negative terminal,
although these are pretty much arbitrary names (unlike a battery where these polarities are
vital and not to be mixed!). On a motor, we say that when the + wire is connected to +
terminal on a power source, and the - wire is connected to the - terminal source on the same
power source, the motor rotates clockwise (if you are looking towards the motor shaft). If you
reverse the wire polarities so that each wire is connected to the opposing power supply
terminal, then the motor rotates counter clockwise. Notice this is just an arbitrary selection
and that some motor manufacturers could easily choose the opposing convention. As long as
you know what rotation you get with one polarity, you can always connect in such a fashion
that you get the direction that you want on a per polarity basis.
DC Motor Rotation vs Polarity

Facts:

 DC Motor rotation has nothing to do with the voltage magnitude or the current
magnitude flowing through the motor.
 DC Motor rotation does have to do with the voltage polarity and the direction of the
current flow.

DC Motor Speed

Whereas the voltage polarity controls DC motor rotation, voltage magnitude controls motor
speed. Think of the voltage applied as a facilitator for the strengthening of the magnetic field.
In other words, the higher the voltage, the quicker will the magnetic field
become strong. Remember that a DC motor has an electromagnet and a series of permanent
magnets. The applied voltage generates a magnetic field on the electromagnet portion. This
electromagnet field is made to oppose the permanent magnet field. If the electromagnet field
is very strong, then both magnetic entities will try to repel each other from one side, as well
as atract each other from the other side. The stronger the induced magnetic field, the quicker
will this separation/attaction will try to take place. As a result, motor speed is directly
proportional to applied voltage.
Motor Speed Curve

One aspect to have in mind is that the motor speed is not entirely lineal. Each motor will
have their own voltage/speed curve. One thing I can guarantee from each motor is that at very
low voltages, the motor will simply not move. This is because the magnetic field strength is
not enough to overcome friction. Once friction is overcome, motor speed will start to increase
as voltage increase.

The following video shows the concept of speed control and offers some ideas on how this
can be achieved.

Motor Torque

In the previous segment I kind of described speed as having to do with the strength of the
magnetic field, but this is in reality misleading. Speed has to do with how fast the magnetic
field is built and the attraction/repel forces are installed into the two magnetic structures.
Motor strength, on the other hand, has to do with magnetic field strength. The stronger the
electromagnet attracts the permanent magnet, the more force is exerted on the motor load.

Per example, imagine a motor trying to lift 10 pounds of weight. This is a force that when
multiplied by a distance (how much from the ground we are lifting the load) results in
WORK. This WORK when exerted through a predetermined amount of time (for how long
we are lifting the weight) gives us power. But whatever power came in, must come out as
energy can not be created or destroyed. So that you know, the power that we are supplying to
the motor is computed by
P = IV

Where P is power, I is motor current and V is motor voltage

Hence, if the voltage (motor speed) is maintained constant, how much load we are moving
must come from the current. As you increase load (or torque requirements) current must also
increase.

Motor Loading

One aspect about DC motors which we must not forget is that loading or increase of torque
can not be infinite as there is a point in which the motor simply can not move. When this
happens, we call this loading “Stalling Torque”. At the same time this is the maximum
amount of current the motor will see, and it is refer to Stalling Current. Stalling deserves a
full chapter as this is a very important scenario that will define a great deal of the controller to
be used. I promise I will later write a post on stalling and its intricacies.

Motor Start and Stop

You are already well versed on how to control the motor speed, the motor torque and the
motor direction of rotation. But this is all fine and dandy as long as the motor is actually
moving. How about starting it and stopping it? Are these trivial matters? Can we just ignore
them or should we be careful about these aspects as well? You bet we should!
Starting a motor is a very hazardous moment for the system. Since you have an inductance
whose energy storage capacity is basically empty, the motor will first act as an inductor. In a
sense, it should not worry us too much because current can not change abruptly in an
inductor, but the truth of the matter is that this is one of the instances in which you will see
the highest currents flowing into the motor. The start is not necessarily bad for the motor
itself as in fact the motor can easily take this Inrush Current. The power stage, on the other
hand and if not properly designed for, may take a beating.

Once the motor has started, the motor current will go down from inrush levels to whatever
load the motor is at. Per example, if the motor is moving a few gears, current will be
proportional to that load and according to torque/current curves.

Stopping the motor is not as harsh as starting. In fact, stopping is pretty much a breeze. What
we do need to concern ourselves is with how we want the motor to stop. Do we want it to
coast down as energy is spent in the loop, or do we want the rotor to stop as fast as possible?
If the later is the option, then we need braking. Braking is easily accomplished by shorting
the motor outputs. The reason why the motor stops so fast is because as a short is applied to
the motor terminals, the Back EMF is shorted. Because Back EMF is directly proportional to
speed, making Back EMF = 0, also means making speed = 0.

MOTORDRIVER CIRCUIT

The name "H-Bridge" is derived from the actual shape of the switching circuit which control
the motoion of the motor. It is also known as "Full Bridge". Basically there are four switching
elements in the H-Bridge as shown in the figure below.
As you can see in the figure above there are four switching elements named as "High side
left", "High side right", "Low side right", "Low side left". When these switches are turned on
in pairs motor changes its direction accordingly. Like, if we switch on High side left and Low
side right then motor rotate in forward direction, as current flows from 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 opposite
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.

Truth Table
High Left High Right Low Left Low Right Description
On Off Off On Motor runs clockwise
Off On On Off Motor runs anti-clockwise
On On Off Off Motor stops or decelerates
Off Off On On Motor stops or decelerates

As already said, H-bridge can be made with the help of trasistors 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 thinkin 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 diagra, 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.
CONCLUSION AND FUTURE SCOPE

The GSM based DC motor speed control system which is fast and efficient with improved
accuracy is designed.The proposed project is implemented with ARDUINO UNO micro-
controller using embedded c-language. To control industrial appliances remotely using GSM
based system satisfying user needs and requirements.For ex. We can added on its memorizing
power for making it smart machine
REFERENCES

1) Brushless DC motor controlled by using Internet of Things. IJSTE/Volume 3/Issue


09/March 2017 ISSN(online);2349-

784X. Ms.C. Hemlatha ;Mr. R.Nagarajan; P.Suresh; G.Ganeshshankar; A.Vijay.

2) Speed control of DC motor by using GSM technology. Volume-1, Issue-1,Dec-2015,E-


ISSN-2455-5878. IJRSCE vishal

hanchinal .

3) B.Gokal, K.Karthi, “Android Based Closed loop speed control of DC motor by using
recognition via

Bluetooth”,IJAREEIE, Vol.5,Issue 3, march-2016.

4) K.A.Wadile, S.R.Chillarge,D.D.Jadhav,”Speed control and direction control of DC motor


using Arm7”.IJECS , VOL 4,

Isuue 2, Feb-2015.

5) Vinoth Kumar sadagopan, Upendra Rajendran and albert Joe Francis, “Anti-Theft Control
System design using

embedded system”IEEE 2011.

6) Y.Prashanthi,

Y.Arunasuhasini and B.Jyothi, “Multi Level Anti-Theft Security System using

GSMTechnology”,ISSN:2277-9655,Sep,2013.

7) G.A.P.RakaAgung,s. Huda, “speed Control for DC Motor with pulse width modulation
(PWM) Method Using Infrared

Remote Control Based on ATmega16 Microcontroller” IEEE transactions on, ISBN:978-1-


4799-6127-6.

You might also like