Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
By
T.SRAVAN (17895A0201)
S.ANUSH (16891A0233)
P.BHARATH KUMAR (16891A0230)
R.RAMESH (16891A0231)
Dr.D.SURESH
(Associate professor)
A mini project report submitted to the Jawaharlal Nehru Technological University in partial
fulfillment of the requirements for the award of the Degree of Bachelor of Technology in Electrical
and Electronics Engineering
By
T.SRAVAN (17895A0201)
S.ANUSH (16891A0233)
P.BHARATH KUMAR (16891A0230)
R.RAMESH (16891A0231)
This is to certify the mini project report entitled “GSM BASED MOTOR CONTROL” submitted
by T.Sravan (17895A0201), S.Anush (16891A0233), P.Bharath Kumar (16891A0230),
R.Ramesh (16891A0231), in partial fulfillment for the award of B. Tech in Electrical and
Electronics Engineering to the Jawaharlal Nehru Technological University is a record of bonafide
work carried out by them under our guidance and supervision.
The results embodied in this project report have not been submitted to any other
university or institute for the award of any degree or diploma.
This is to certify that the project work entitled “GSM BASED MOTOR CONTROL” submitted
by T.Sravan (17895A0201), S.Anush (16891A0233), P.Bharath Kumar (16891A0230),
R.Ramesh (16891A0231), has been examined and adjudge as sufficient for the partial fulfillment
of the requirement of the degree of Bachelor of Technology in Electrical and Electronics
Engineering of Jawaharlal Nehru Technological University, Hyderabad.
External Examiner :
(Signature with Date)
Internal Examiner :
(Signature with Date)
This acknowledgement transcends the reality of formality when we would like to express
deep gratitude and respect to all those people behind the screen who guided, inspired and helped
for the completion of our project.
We also extend our thanks to all the staff of the Department of Electrical & Electronics
Engineering, VITS for their co-operation and support during our course work.
Lastly, we would like to thank all our co-mates who are directly or indirectly are part of this
project and their strong support for completion of this project.
By
T.Sravan (17895A0201)
S.Anush (16891A0233)
P.Bharath Kumar (16891A0230)
R.Ramesh (16891A0231)
i
ABSTRACT
Some wise scientist once said that control system is a system where we can shut down the machine
whenever we want. That's the difference between controlled and uncontrolled machine. Our project is
about make this control system efficient and dynamic. As the name suggested the automatic control is for
controlling the motor from remote place, look over it's operating conditions get feedback from the motor
itself. Our target is to control the motor from distant place by mobile of GSM and also get feedback by
SMS while it is in ON or OFF condition. We also ensure the safe operation of the motor by detecting the
voltage of the source and ensure feedback from system while it is over or under voltage. Again we also
get these feedbacks by SMS as well. GSM network is everywhere in our country that's why we choose
GSM network to operate our motor also transfer feedback information through it. We also use GSM
network because if we use it then we don't need to establish extra equipment for networking. To transmit
feedback signals we use GSM modem at the motor end also generate control signal by mobile GSM
because it is very easy to generate GSM by mobile station and send feedback SMS by Modem as well. In
industrial sector we hope our project is become handy and cost effective to operate motor and give it's
protection.
ii
CONTENTS
TITLES PAGE NO
LISTS OF FIGURES
CHAPTER 1: INTRODUCTION 1
1.1 Introduction 2
1.2 Project Overview 2
1.3 Thesis 2
CHAPTER 2: EMBEDDED SYSTEMS 4
2.1 Embedded Systems 4
2.1.1 History 5
2.1.1 Tools 6
2.1.2 Resources 6
2.1.3 Real Time Issues 7
2.2 Need for Embedded Systems 7
2.2.1 Debugging 7
2.2.2 Reliability 8
2.3 Explanation of Embedded Systems 9
2.3.1 Software Architecture 9
2.3.2 Stand Alone Embedded System 11
2.3.3 Real-Time Embedded Systems 11
2.3.4 Network Communication Embedded Systems 12
2.3.5 Different Types of Processing Units 13
2.4 Applications of Embedded Systems 13
2.4.1 Consumer Applications 13
2.4.2 Office Automation 13
2.4.3 Industrial Automation 14
2.4.4 Computer Networking 14
2.4.5 Tele Communications 14
iii
3.2 Time Division Multiple Access 18
3.3 GSM Architecture 18
3.3.1 Mobile Station 18
3.3.2 Base Station Subsystem 18
3.3.3 Network Subsystem 18
3.4 Features of GSM Module 18
3.4.1 GSM Modem 19
3.4.2 Working of GSM Module 19
3.4.3 Intelligent GSM Device for Automation and Security 20
3.5 Interface GSM with Arduino 21
3.5.1 List of AT commands 21
3.6 Receiving SMS messages using AT commands 24
3.7 How to send and Receive SMS using GSM Modem 27
3.7.1 Introduction 27
3.7.2 Equipment Needed 28
3.7.3 Setting Up Hyper terminals 28
3.8 Relay 33
3.8.1 Types of over Voltage Relay 34
3.8.2 Applications 34
3.9 Submersible Pump 36
3.10 Power Supply 38
3.11 Transformer 38
3.11.1 Transformer +Rectifier 39
3.12 Water Level Sensor 40
iv
LISTS OF FIGURES
TITLES PAGENO
2.1. A Modern Example of Embedded System 5
2.2. Network Communication Embedded Systems 12
2.3. Automatic Coffee Makes Equipment 13
2.4. Fax Machine 14
2.5. Printing Machine 14
2.6. Robot 14
2.7. Computer Networking 15
2.8. Cell Phone 15
2.9. Web Camera 15
3.1. Block Diagram of GSM Module 16
3.2. GSM Module 17
3.3. Interface GSM with Arduino 21
3.4. Relay 33
3.5. NC & NO Relay 34
3.6. Relay Pinout 35
3.7. Circuit Diagram of Relay 36
3.8. Submersible Pump 37
3.9. Arduino Uno 42
3.10. Schematic Diagram of GSM based motor control 49
3.11. Circuit Diagram 50
3.12. ON State of Load 57
3.13. OFF State of Load 57
v
VOICE RECOGONITION APPLICATION BASED ON HOME AUTOMATION SYSTEM WITH PEOPLE COUNTER
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION
The project aims in designing a system which makes operating of electrical appliances in
home through Android mobile phone possible. The controlling of electrical appliances is done
wirelessly through Android smart phone using the Bluetooth feature present in it. Here in this
project the Android smart phone is used as a remote control for operating the electrical appliances.
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. Android boasts a healthy array of connectivity options, including
Wi-Fi, Bluetooth, and wireless data over a cellular connection (for example, GPRS, EDGE
(Enhanced Data rates for GSM Evolution), and 3G). Android provides access to a wide range of
useful libraries and tools that can be used to build rich applications. In addition, Android includes
a full set of tools that have been built from the ground up alongside the platform providing
developers with high productivity and deep insight into their applications. Bluetooth is an open
standard specification for a radio frequency (RF)-based, short-range connectivity technology that
promises to change the face of computing and wireless communication. It is designed to be an
inexpensive, wireless networking system for all classes of portable devices, such as laptops, PDAs
(personal digital assistants), and mobile phones. It also will enable wireless connections for
desktop computers, making connections between monitors, printers, keyboards, and the CPU
cable-free.
The controlling device of the whole system is a Microcontroller. Bluetooth module, 4-
Relays board are interfaced to the Microcontroller. The data received by the Bluetooth module
from Android smart phone is fed as input to the controller. The controller acts accordingly on the
Relays to switch connected electrical appliances. In achieving the task the controller is loaded with
a program written using Embedded ‗C‘ language.
1.3 THESIS
The thesis explains the implementation of control of DC motor based on GSM using
AURDIUNO microcontroller.The organization of the thesis here is explained with:
Chapter 1 Presents introduction to the overall thesis and the overview of the project. In the project
overview a brief introduction of GSM, relay and its applications are discussed.
Chapter 2 Presents the topic embedded systems. It explains the about what is embedded systems,
need for embedded systems, explanation of it along with its applications.
Chapter 3 Presents the hardware description. It deals with the block diagram of the project and
explains the purpose of each block. In the same chapter the explanation of microcontroller, GSM
module,power supplies and relays are considered.
Chapter 4 Presents the software description. It explains the implementation of the project using
Arduino Compiler software.
Chapter 5 Presents the project description along with GSM module interfacing to microcontroller.
Chapter 6 working operation and programming code
Chapter 8 Results
Chapter 9 References.
VIGNAN INSTITUTE OF TECHNOLOGY AND SCIENCE,EEE-2019 Page 2
VOICE RECOGONITION APPLICATION BASED ON HOME AUTOMATION SYSTEM WITH PEOPLE COUNTER
CHAPTER 2
EMBEDDED SYSTEMS
Physically embedded systems range from portable devices such as digital watches and MP3
players, to large stationary installations like traffic lights, factory controllers, or the systems
controlling nuclear power plants. Complexity varies from low, with a single microcontroller chip,
to very high with multiple units, peripherals and networks mounted inside a large chassis or
enclosure. In general, "embedded system" is not a strictly definable term, as most systems have
some element of extensibility or programmability. For example, handheld computers share some
elements with embedded systems such as the operating systems and microprocessors which power
them, but they allow different applications to be loaded and peripherals to be connected. Moreover,
even systems which don't expose programmability as a primary feature generally need to support
software updates. On a continuum from "general purpose" to "embedded", large application
systems will have subcomponents at most points even if the system as a whole is
"designed to perform one or a few dedicated functions", and is thus appropriate to call
"embedded". A modern example of embedded system is shown in fig: 2.1.
Labeled parts include microprocessor (4), RAM (6), flash memory (7).Embedded
systems programming is not like normal PC programming. In many ways, programming for an
embedded system is like programming PC 15 years ago. The hardware for the system is usually
chosen to make the device as cheap as possible. Spending an extra dollar a unit in order to make
things easier to program can cost millions. Hiring a programmer for an extra month is cheap in
comparison. This means the programmer must make do with slow processors and low memory,
while at the same time battling a need for efficiency not seen in most PC applications. Below is a
list of issues specific to the embedded field.
2.1.1 History:
In the earliest years of computers in the 1930–40s, computers were sometimes dedicated
to a single task, but were far too large and expensive for most kinds of tasks performed by
embedded computers of today. One of the first recognizably modern embedded systems was the
Apollo Guidance Computer, developed by Charles Stark Draper at the MIT Instrumentation
Laboratory. Over time however, the concept of programmable controllers evolved from
traditional electromechanical sequencers, via solid state devices, to the use of computer
technology. At the project's inception, the Apollo guidance computer was considered the riskiest
item in the Apollo project as it employed the then newly developed monolithic integrated circuits
to reduce the size and weight. An early mass-produced embedded system was the Automatics D-
17 guidance computer for the Minuteman missile, released in 1961. It was built from
transistor logic and had a hard disk for main memory. When the Minuteman II went into production
in 1966, the D-17 was replaced with a new computer that was the first high-volume use of
integrated circuits.
2.1.2 Tools:
Debugging tools are another issue. Since you can't always run general programs on your embedded
processor, you can't always run a debugger on it. This makes fixing your program difficult. Special
hardware such as JTAG ports can overcome this issue in part. However, if you stop on a breakpoint
when your system is controlling real world hardware (such as a motor), permanent equipment
damage can occur. As a result, people doing embedded programming quickly become masters at
using serial IO channels and error message style debugging.
2.1.3 Resources:
To save costs, embedded systems frequently have the cheapest processors that can do the
job. This means your programs need to be written as efficiently as possible. When dealing with
large data sets, issues like memory cache misses that never matter in PC programming can hurt
you. Luckily, this won't happen too often- use reasonably efficient algorithms to start, and optimize
only when necessary. Of course, normal profilers won't work well, due to the same reason
debuggers don't work well.
Memory is also an issue. For the same cost savings reasons, embedded systems usually have the
least memory they can get away with. That means their algorithms must be memory efficient
(unlike in PC programs, you will frequently sacrifice processor time for memory, rather than the
reverse). It also means you can't afford to leak memory. Embedded applications generally use
deterministic memory techniques and avoid the default "new" and "malloc" functions, so that leaks
can be found and eliminated more easily. Other resources programmers expect may not even exist.
For example, most embedded processors do not have hardware FPUs (Floating-Point Processing
Unit). These resources either need to be emulated in software, or avoided altogether.
Embedded systems frequently control hardware, and must be able to respond to them in
real time. Failure to do so could cause inaccuracy in measurements, or even damage hardware such
as motors. This is made even more difficult by the lack of resources available. Almost all
embedded systems need to be able to prioritize some tasks over others, and to be able to put off/skip
low priority tasks such as UI in favor of high priority tasks like hardware control.
Embedded debugging may be performed at different levels, depending on the facilities available.
From simplest to most sophisticate they can be roughly grouped into the following areas:
Interactive resident debugging, using the simple shell provided by the embedded
operating system (e.g. Forth and Basic)
External debugging using logging or serial port output to trace operation using either a
monitor in flash or using a debug server like the Remedy Debugger which even works for
heterogeneous multi core systems.
An in-circuit debugger (ICD), a hardware device that connects to the microprocessor via a
JTAG or Nexus interface. This allows the operation of the microprocessor to be controlled
externally, but is typically restricted to specific debugging capabilities in the processor.
An in-circuit emulator replaces the microprocessor with a simulated equivalent, providing
full control over all aspects of the microprocessor.
A complete emulator provides a simulation of all aspects of the hardware, allowing all of
it to be controlled and modified and allowing debugging on a normal PC.
Unless restricted to external debugging, the programmer can typically load and run
software through the tools, view the code running in the processor, and start or stop its
operation. The view of the code may be as assembly code or source-code.
Because an embedded system is often composed of a wide variety of elements, the debugging
strategy may vary. For instance, debugging a software (and microprocessor) centric embedded
system is different from debugging an embedded system where most of the processing is
performed by peripherals (DSP, FPGA, co-processor). An increasing number of embedded
systems today use more than one single processor core. A common problem with multi-core
development is the proper synchronization of software execution. In such a case, the embedded
system design may wish to check the data traffic on the busses between the processor cores, which
requires very low-level debugging, at signal/bus level, with a logic analyzer, for instance.
2.2.2 Reliability:
Embedded systems often reside in machines that are expected to run continuously for years
without errors and in some cases recover by them if an error occurs. Therefore the software is
usually developed and tested more carefully than that for personal computers, and unreliable
mechanical moving parts such as disk drives, switches or buttons are avoided.
Specific reliability issues may include:
The system cannot safely be shut down for repair, or it is too inaccessible to repair.
Examples include space systems, undersea cables, navigational beacons, bore-hole
systems, and automobiles.
The system must be kept running for safety reasons. "Limp modes" are less tolerable. Often
backups are selected by an operator. Examples include aircraft navigation, reactor control
systems, safety-critical chemical factory controls, train signals, engines on single- engine
aircraft.
The system will lose large amounts of money when shut down: Telephone switches, factory
controls, bridge and elevator controls, funds transfer and market making, automated sales
and service. A variety of techniques are used, sometimes in combination, to recover from
errors in both software bugs such as memory leaks, and also soft errors in the hardware:
Watchdog timer that resets the computer unless the software periodically notifies the
watchdog
Subsystems with redundant spares that can be switched over to
software "limp modes" that provide partial function
Designing with a Trusted Computing Base (TCB) architecture ensures a highly secure &
reliable system environment
An Embedded Hypervisor is able to provide secure encapsulation for any subsystem
component, so that a compromised software component cannot interfere with other
subsystems, or privileged-level system software. This encapsulation keeps faults from
propagating from one subsystem to another, improving reliability. This may also allow a
subsystem to be automatically shut down and restarted on fault detection.
Immunity Aware Programming
Simple Control Loop: In this design, the software simply has a loop. The loop calls
subroutines, each of which manages a part of the hardware or software.
Primitive Multitasking: In this type of system, a low-level piece of code switches between
tasks or threads based on a timer (connected to an interrupt). This is the level at which the
system is generally considered to have an "operating system" kernel. Depending on how
much functionality is required, it introduces more or less of the complexities of managing
multiple tasks running conceptually in parallel. As any code can potentially
damage the data of another task (except in larger systems using an MMU) programs must
be carefully designed and tested, and access to shared data must be controlled by some
synchronization strategy, such as message queues, semaphores or a non-blocking
synchronization scheme. Because of these complexities, it is common for organizations to
buy a real-time operating system, allowing the application programmers to concentrate on
device functionality rather than operating system services, at least for large systems;
smaller systems often cannot afford the
overhead associated with a generic real time system, due to limitations regarding memory
size, performance, and/or battery life.
These systems takes the input in the form of electrical signals from transducers or
commands from human beings such as pressing of a button etc.., process them and produces
desired output. This entire process of taking input, processing it and giving output is done in
standalone mode. Such embedded systems comes under stand alone embedded systems
Embedded systems which are used to perform a specific task or operation in a specific time
period those systems are called as real-time embedded systems. There are two types of real- time
embedded systems.
Hard Real-Time Embedded Systems: These embedded systems follow an absolute dead
line time period i.e.., if the tasking is not done in a particular time period then there is a
cause of damage to the entire equipment.
Eg: consider a system in which we have to open a valve within 30 milliseconds. If this
valve is not opened in 30 ms this may cause damage to the entire equipment. So in such
cases we use embedded systems for doing automatic operations.
Soft Real Time Embedded Systems: These embedded systems follow a relative dead line
time period i.e.., if the task is not done in a particular time that will not cause damage to
the equipment.
Eg: Consider a TV remote control system, if the remote control takes a few milliseconds
delay it will not cause damage either to the TV or to the remote control. These systems
which will not cause damage when they are not operated at considerable time period those
systems comes under soft real-time embedded systems.
Consider a web camera that is connected to the computer with internet can be used to
spread communication like sending pictures, images, videos etc.., to another computer with
internet connection throughout anywhere in the world.
Whenever a person comes near the door, it captures the image of a person and sends to the desktop
of your computer which is connected to internet. This gives an alerting message with image on to
the desktop of your computer, and then you can open the door lock just by clicking the mouse.
Fig: 2.2 show the network communications in embedded systems.
The central processing unit (c.p.u) can be any one of the following microprocessor,
microcontroller, digital signal processing.
Among these Microcontroller is of low cost processor and one of the main advantage of
microcontrollers is, the components such as memory, serial communication interfaces,
analog to digital converters etc.., all these are built on a single chip. The numbers of
external components that are connected to it are very less according to the application.
Microprocessors are more powerful than microcontrollers. They are used in major
applications with a number of tasking requirements. But the microprocessor requires many
external components like memory, serial communication, hard disk, input output ports
etc.., so the power consumption is also very high when compared to microcontrollers.
Digital signal processing is used mainly for the applications that particularly involved with
processing of signals
At home we use a number of embedded systems which include microwave oven, remote
control, vcd players, DVD players, camera etc….
Today a lot of industries are using embedded systems for process control. In industries we
design the embedded systems to perform a specific operation like monitoring temperature,
pressure, humidity ,voltage, current etc.., and basing on these monitored levels we do control other
devices, we can send information to a centralized monitoring station.
Fig2.6: Robot
In critical industries where human presence is avoided there we can use robots which are
programmed to do a specific operation.
CHAPTER 3
HARDWARE DESCRIPTION
3.1 INTRODUCTION:
GSM 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.
3. Voltage regulator
4. Antenna
6. Radiation Detection/measurement
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.
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
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.
3.3.1 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.
3.3.2 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.
3.3.3 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 equipments wherein each
mobile is identified by its own IMEI number. IMEI stands for International Mobile Equipment Identity.
3.4.1GSM 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 Bluetooth 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.
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.
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
Fig 3.3 Interface GSM with Arduino
The AT commands for both, GSM module and the mobile phone, are listed below. Some of these
commands may not be supported by all the GSM modules available. Also there might be some
commands which won’t be supported by some mobile handsets.
Testing :
Command Description
AT Checking communication between the module and
computer.
Call control :
Command Description
ATA Answer command
ATD Dial command
ATH Hang up call
ATL Monitor speaker loudness
VIGNAN INSTITUTE OF TECHNOLOGY AND SCIENCE,EEE-2019 Page 20
VOICE RECOGONITION APPLICATION BASED ON HOME AUTOMATION SYSTEM WITH PEOPLE COUNTER
Phone control :
Command Description
AT+CBC Battery charge
AT+CGMI Request manufacturer identification
AT+CGMM Request model identification
AT+CGMR Request revision identification
AT+CGSN Request product serial number identification
AT+CMEE Report mobile equipment error
AT+CPAS Phone activity status
AT+CPBF Find phone book entries
AT+CPBR Read phone book entry
AT+CPBS Select phone book memory storage
AT+CPBW Write phone book entry
AT+CSCS Select TE character set
AT+CSQ Signal quality
Service :
Command Description
AT+CLIP Calling line identification presentation
AT+CR Service reporting control
AT+DR Data compression reporting
AT+ILRR DTE-DCE local rate reporting
Miscellaneous :
Command Description
A/ Re-execute command line
AT? Command help
AT*C Start SMS interpreter
AT*T Enter SMS block mode protocol
AT*V Activate V.25bis mode
AT*NOKIATEST Test command
AT+CESP Enter SMS block mode protocol
Introduction
Some advanced GSM modems like WaveCom and Multitech, support the SMS text mode. This mode
allows you to send and receive SMS messages using AT commands, without the need to decode the binairy
PDU field of the SMS first. This is done by the GSM modem.
To send the commands discussed in this tutorial, you can use a terminal program, for instance
Hyperterminal.
To check if your modem supports this text mode, you can try the following command:
AT+CMGF=1 <ENTER>
If the modem reponds with "OK" this mode is supported. Please note that using this mode it is onluy
possible to send simple text messages. It is not possible to send multipart, Unicode, data and other types
of messages.
A GSM phone or modem receives messages automatically. Basically you are just retrieving the messages
you have to use the "AT+CPMS" command. You can select one of the following message storages, not all
storages are supported on every device.
Storage ID Description
Read SMS messages from the SIM card. This storage is supported on every GSM phone, because a
SM
SIM card should always be present. Usually a SIM card can store up to 15 messages.
Read SMS messages from the modem or mobile phone memory. The number of messages that can
ME
be stored here depends on the size of the phones memory.
Read SMS messages from all storages on the mobile phone. For instance when the phone supports
MT "ME" and "SM", the "MT" memory combines the "ME" and "SM" memories as if it was a single
storage.
This storage is only used to read stored incoming cell broadcast messages. It is normally not used to
BM
store SMS messages.
When you enable status reports when sending SMS messages, the status reports that are received are
SR
stored in this memory. These reports can read the same way as SMS messages.
To find out which storages are supported by your mobile phone, use the command line below:
AT+CPMS=?
The modem will respond with a list of supported storages, for instance:
+CPMS: (("SM","BM","SR"),("SM"))
The storage can be selected using the following command:
AT+CPMS=<read>[,<send>,<receive>] <ENTER>
The first parameter sets the storage to read from the second optional specifies the storage to send messages
from and the last optional parameter tells the device where to store newly received messages.
For example, to read messages from the SIM card use:
AT+CPMS="SM" <ENTER>
The modem should respond with the following string:
+CPMS: <used_space>,<max_space> <ENTER>
The used_space indicates the number of messages currently in this memory, the max_space the number
of messages that can be stored.
OK
The response messages are formatted like this:
+CMGL: <index>,<status>,<from_address>,<mr>,<scts><CRLF><data>
index The memory index number, use this index to read or delete this message.
The status of this message. For received messages this can be "REC READ" or "REC UNREAD"
status
depending on whether the messages has been read or listed before.
from_address The subscriber number of the person who sent the message.
mr The reference number of this message. Most modems keep this field empty.
scts The time the message was forwarded to this phone or modem.
Reading a message
To list a single message, you have to use the read command. You must use the list command first, so you
know the indexes of the messages in the storage. For instance, to read the message on memory location '2'
use:
AT+CMGR=2 <ENTER>
The modem will list the single message:
+CMGR: "REC READ","+31625012254",,"07/07/05,09:56:03+08"
Test message 2
OK
Please note that the status of the message is now "REC_READ" instead of "REC_UNREAD" because we
read the message.
Deleting a message
Once you have read a message, you can free the memory by deleting the message from the storage. For
instance, to delete the message on memory location '2' use:
AT+CMGD=2 <ENTER>
The modem will delete the single message.
3.7 Tutorial: How to Send and Receive SMS using GSM Modem
3.7.1 Introduction
It is very easy to incorporate SMS capability to any PC or Embedded Controller using Serial Port and any
of your favourite programing language (C,C#,Basic,Pascal). Enfora GSM Modem provide a standard API
set for communicating with Modem and setup for send and receive SMS. To understand and try out the
varioius AT Command to send and receive SMS so that you can incorporate these into your own software
project you will need a serial port (WINXP has built in hyperterminal or else for vista you can download
third party serial terminal program from web). PC that does not have any serial Commport can buy
standard off the shelves USB to serial converter from any computer peripheral shops (such as ATEN UC-
232A)
A Serial Terminal Program (in this case, we had chosen to use the free Hypterminal that is present on
WIN9x/WINXP)
1) Run Start -> All Program -> Accessories -> Communication -> Hypterminal
2) In a dialog Box, it ask for a connection name. Just type a description (for example T115K). Select a
Comport where the COMx is the communication port that the Enfora GSM Modem is physcically conneted
to.
Click OK3) Next in the configure button, click on it to set up the comport property. Set up the COMport
for 115.2Kbps, 8 Databit, No Parity, 1 stop bit and Non Flow Control (or Hardware Flow Control). Apply
and Save. Pls note that if you install a USB to serial ComPort Adaptor, typically the COMPORT will be
in a different COMx Number. Make sure that you select the correct COMx Number, and also ensure the
USB to Serial Port Aaptor is always connected to the same comport that you installed the driver initially.
4) Now click on the icon to connect the Com Port by using the Connect.
1). Type AT and press <ENTER> the modem should respond with OK. This will verify that you are
communicating with the modem. If you cannot see characters entered on the screen, enter ATE1V1.
2). The following examples provide the AT commands and responses for setting modem parameters. For
more information about the commands and response codes, see the GSM0107AT001 – Enfora Enabler
IIG AT Command Set.
3). Please refer to Application Note GSM0000AN005 - Enabler-G Automated Network Connection
Configuration and Use, to set the appropriate network connection.
4). To be able to send SMS text messages, the Enfora Enabler-G module must be initialized with the
proper SMS mode. The following examples provide the AT commands and responses for initializing the
SMS mode.
5) The following command initializes the Enfora Enabler-G module by setting the text mode parameters.
AT+CSMP=<fo>,<vp>,<pid>,<dcs>
<fo>=17 Sets reply pat, user data header, status report request, validity period format, reject duplicates
and message type.
OK Modem Response.
6). After initializing the module with the proper SMS mode, query the module for the correct service
center. The service center is required fro proper routing of an SMS through the network. The service center
is programmed into the SIM by the network service provider. The following command queries the service
center.
7). If no service center is entered, then contact your service provider for correct service center. To enter
the correct service center, enter the following command:
OK Modem Response.
8). The following command selects TEXT mode for SMS messages.
OK Modem Response.
9). The following command sets the indicators for receiving an SMS message.
AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr>
<mt>=1 SMS-DELIVERs are delivered to the SIM and routed using unsolicited code.
<bfr>=0 TA buffer of unsolicited result codes defined within this command is flushed to the TE.
OK Modem Response.
10). The following command saves the SMS settings. Once the SMS commands have been saved, the
initialization commands do not need to be sent again until they are changed.
OK Modem Response.
11) For more advanced SMS options, see the GSM0107AT001 – Enfora Enabler IIG AT Command
Set for the following AT commands:
12) . After the Enfora Enabler-G module has been initialized, the following commands demonstrate the
transmission of an SMS message to a GSM mobile number.
This is a test message^Z Enter the text message. End the message with Control Z.
+CMGS: 1 Successful transmission. The number will increment with each SMS sent.
OK Modem Response.
13) . For an incoming SMS with the above initialization settings, the following indication will be displayed
over the serial port:
GSM0000AN004 Page 3
OK Modem response. See GSM0107AT001 – Enfora Enabler IIG AT Command Set for parameter
details.
15) To store an SMS message on the SIM for later retrieval, enter the following:
This is a stored message^Z Enter the text message. End the message with Control Z.
OK Modem Response.
16). To send a message previously stored on the SIM, enter the following:
+CMSS:2 Successful transmission. The number will increment with each SMS sent.
OK Modem Response.
17) To list all of the messages stored on the SIM, enter the following:
OK Modem response. See Enfora Enabler IIG AT Command Set for parameter details.
18). The following command deletes a message from the SIM location specified.
3.8 RELAY
A relay is a device which is operated by a variation in its electrical or physical conditions to effect
the operation of other devices in an electric circuit. A protective relay is a relay, the principal function of
which is to protect service from interruption or to prevent or limit damage to apparatus. In electrical
engineering, a protective relay is a device designed to trip a circuit breaker when a fault is detected. The
first protective relays were electromagnetic devices, relying on coils operating on moving parts to provide
detection of abnormal operating conditions such as over-current, over-voltage, reverse power flow, over-
and under- frequency.
Most frequently used in utility and industrial circuits. especially applicable where the fault magnitude is
mainly dependent on the system generating capacity at the time of fault.
2.2 Inverse Time Overvoltage Relay
• Gives more inverse characteristics than that of IDMT.
• Used where there is a reduction in fault voltage, as the distance from source increases.
• Particularly effective with ground faults because of their steep characteristics.
• Suitable if there is a substantial reduction of fault voltage as the fault distance from the power source
increases.
• Very inverse overvoltage relays are particularly suitable if the short-circuit voltage drops rapidly with
the distance from the substation.
• The grading margin may be reduced to a value in the range from 0.3 to 0.4 seconds when overvoltage
relays with very inverse characteristics are used.
• Used when Fault Voltage is dependent on fault location.
• Used when Fault Voltage independent of normal changes in generating capacity.
CIRCUIT DIAGRAM OF RELAY
A submersible pump (or sub pump, electric submersible pump (ESP)) is a device which has
a hermetically sealed motor close-coupled to the pump body. The whole assembly is submerged in the
fluid to be pumped.[4] The main advantage of this type of pump is that it prevents pump cavitation, a
problem associated with a high elevation difference between pump and the fluid surface. Submersible
pumps push fluid to the surface as opposed to jet pumps having to pull fluids. Submersibles are more
efficient than jet pumps.
The submersible pumps used in ESP installations are multistage centrifugal pumps operating in a vertical
position. Although their constructional and operational features underwent a continuous evolution over
the years, their basic operational principle remained the same. Produced liquids, after being subjected to
great centrifugal forces caused by the high rotational speed of the impeller, lose their kinetic energy in the
diffuser where a conversion of kinetic to pressure energy takes place. This is the main operational
mechanism of radial and mixed flow pumps.
The pump shaft is connected to the gas separator or the protector by a mechanical coupling at the bottom
of the pump. Well fluids enter the pump through an intake screen and are lifted by the pump stages.Other
parts include the radial bearings (bushings) distributed along the length of the shaft providing radial
support to the pump shaft turning at high rotational speeds. An optional thrust bearing takes up part of the
axial forces arising in the pump but most of those forces are absorbed by the protector’s thrust bearing.
Submersible pumps are found in many applications. Single stage pumps are used for drainage, sewage
pumping, general industrial pumping and slurry pumping. They are also popular with pond filters. Multiple
stage submersible pumps are typically lowered down a borehole and most typically used for residential,
commercial, municipal and industrial water extraction (abstraction), water wells and in oil wells.
VIGNAN INSTITUTE OF TECHNOLOGY AND SCIENCE,EEE-2019 Page 36
VOICE RECOGONITION APPLICATION BASED ON HOME AUTOMATION SYSTEM WITH PEOPLE COUNTER
Other uses for submersible pumps include sewage treatment plants, seawater handling, fire fighting (since
it is flame retardant cable), water well and deep well drilling, offshore drilling rigs, artificial lifts,
mine dewatering, and irrigation systems.
Special attention to the type of submersible pump is required when using certain types of liquids. Pumps
used for combustible liquids or for water that may be contaminated with combustible liquids must be
designed not to ignite the liquid or vapors.
Transformer only
ransformer + Rectifier
Transformer + Rectifier + Smoothing
Transformer + Rectifier + Smoothing + Regulator
3.11 TRANSFORMER ONLY
The low voltage AC output is suitable for lamps, heaters and special AC motors. It is not suitable for
electronic circuits unless they include a rectifier and a smoothing capacitor.
The varying DC output is suitable for lamps, heaters and standard motors. It is not suitable for
electronic circuits unless they include a smoothing capacitor.
The smooth DC output has a small ripple. It is suitable for most electronic circuits.
The regulated DC output is very smooth with no ripple. It is suitable for all electronic circuits.
Level sensors detect the level of liquids and other fluids and fluidized solids,
including slurries, granular materials, and powders that exhibit an upper free surface. Substances that flow
become essentially horizontal in their containers (or other physical boundaries) because
of gravity whereas most bulk solids pile at an angle of repose to a peak. The substance to be measured can
be inside a container or can be in its natural form (e.g., a river or a lake). The level measurement can be
either continuous or point values. Continuous level sensors measure level within a specified range and
determine the exact amount of substance in a certain place, while point-level sensors only indicate whether
the substance is above or below the sensing point. Generally the latter detect levels that are excessively
high or low.
There are many physical and application variables that affect the selection of the optimal level monitoring
method for industrial and commercial processes. The selection criteria include the physical: phase (liquid,
solid or slurry), temperature, pressure or vacuum, chemistry, dielectric
constant of medium, density (specific gravity) of medium, agitation (action), acoustical or
electrical noise, vibration, mechanical shock, tank or bin size and shape. Also important are the application
constraints: price, accuracy, appearance, response rate, ease of calibration or programming, physical size
and mounting of the instrument, monitoring or control of continuous or discrete (point) levels. In short,
level sensors are one of the very important sensors and play very important role in a variety of consumer
industrial applications. As with other types of sensors, level sensors are available or can be designed using
a variety of sensing principles. Selection of an appropriate type of sensor suiting to the application
requirement is very important.
The principle behind magnetic, mechanical, cable, and other float level sensors often involves the opening
or closing of a mechanical switch, either through direct contact with the switch, or magnetic operation of
a reed. In other instances, such as magnetostrictive sensors, continuous monitoring is possible using a float
principle.
With magnetically actuated float sensors, switching occurs when a permanent magnet sealed inside a float
rises or falls to the actuation level. With a mechanically actuated float, switching occurs as a result of the
movement of a float against a miniature (micro) switch. For both magnetic and mechanical float level
sensors, chemical compatibility, temperature, specific gravity (density), buoyancy, and viscosity affect the
selection of the stem and the float. For example, larger floats may be used with liquids with specific
gravities as low as 0.5 while still maintaining buoyancy. The choice of float material is also influenced by
temperature-induced changes in specific gravity and viscosity – changes that directly affect buoyancy.
Float-type sensors can be designed so that a shield protects the float itself from turbulence and wave
motion. Float sensors operate well in a wide variety of liquids, including corrosives. When used for organic
solvents, however, one will need to verify that these liquids are chemically compatible with the materials
used to construct the sensor. Float-style sensors should not be used with high viscosity (thick) liquids,
sludge or liquids that adhere to the stem or floats, or materials that contain contaminants such as metal
chips; other sensing technologies are better suited for these applications.
A special application of float-type sensors is the determination of interface level in oil-water separation
systems. Two floats can be used with each float sized to match the specific gravity of the oil on one hand,
and the water on the other. Another special application of a stem type float switch is the installation of
temperature or pressure sensors to create a multi-parameter sensor. Magnetic float switches are popular
for simplicity, dependability and low cost.
A variation of magnetic sensing is the "Hall effect" sensor which utilizes the magnetic sensing of a
mechanical gauge's indications. In a typical application, a magnetism-sensitive "Hall effect sensor" is
affixed to a mechanical tank gauge that has a magnetized indicator needle, so as to detect the indicating
position of the gauge's needle. The magnetic sensor translates the indicator needle position into an
electrical signal, allowing other (usually remote) indication or signalling.
CHAPTER 4
SOFTWARE DESCRIPTION
You’ll need to download the Arduino Software package for your operating system from the Arduino
download page.
When you’ve downloaded and opened the application you should see something like this:
This is where you type the code you want to compile and send to the Arduino board.
Arduino Uno
The Code
The code you write for your Arduino are known as sketches. They are written in C++.
Every sketch needs two void type functions, setup() and loop(). A void type function doesn’t return any
value.
The setup() method is ran once at the just after the Arduino is powered up and the loop() method is ran
continuously afterwards. The setup() is where you want to do any initialisation steps, and in loop() you
want to run the code you want to run over and over again.
1
2
void setup()
3
{
4
}
5
void loop()
6
{
7
}
8
9
If you notice on the top edge of the board there’s two black rectangles with several squares in.
These are called headers. Headers make it easy to connect components to the the Arduino. Where they
connect to the board is called pins. Knowing what pin something is connected to is essential for
programming an Arduino.
The pin numbers are listed next to the headers on the board in white.
In our code above the setup() method let’s create a variable called ledPin. In C++ we need to state
why type our variable is before hand, in this case it’s an integer, so it’s of type int.
1
2
int ledPin = 13;
3
void setup()
4
{
5
pinMode(ledPin, OUTPUT);
6
}
7
void loop()
8
{
9
}
10
11
Next we want to compile to machine code and deploy or upload it to the Arduino.
Compiling the Code
If this is your first time you’ve ever compiled code to your Arduino before plugging it in to the computer
go to the Tools menu, then Serial Port and take note of what appears there.
Here’s what mine looks like before plugging in the Arduino UNO:
Plug your Arduino UNO board in to the USB cable and into your computer. Now go back to the Tools >
Serial Portmenu and you should see at least 1 new option. On my Mac 2 new serial ports appear.
They tty and cu are two ways that computers can talk over a serial port. Both seem to work with the
Arduino software so I selected the tty.* one. On Windows you should see COM followed by a number.
Select the new one that appears.
Once you have selected your serial or COM port you can then press the button with the arrow pointing to
the right.
Once that happens you should see the TX and RX LEDs below the L LED flash. This is the
communication going on between the computer and the Arduino. The L may flicker too. Once this dance
is complete your program should be running. And your LED should be off.
CHAPTER 5
PROJECT DESCRIPTION
In this chapter, schematic diagram and interfacing of ARDUINO microcontroller with each
module is considered.
CHAPTER 6
WORKING OPERATION
This chapter deals with working of ―sms based control system using GSM MODEM‖. This chapter also
introduces programming used in microcontroller. 4.1 WORKING: The idea behind this project is to use
the existing GSM infrastructure. So, all the operations involve the gsm system also. As we send any sms,
it goes through the gsm system. Any sent sms can be received if we use a SIM card and gsm module. To
operate any gsm modem, we have to use the AT commands to operate them. For example, if any sms
arrives the gsm modem sends the serial data in ASCII format. We can read these data if we connect the
modem with the serial port of the microcontroller at the baud rate of 9600. As the microcontroller comes
to know that a sms has been arrived, it can sent a proper AT command to read the sms. The reading of
sms returns the mobile no of sender, the time and much more information. We have to select the sms
part of the message. The starting string of the sms is used as the password. As the password is matched,
then the sms arrival is assumed to be valid by the microcontroller otherwise, it ignores the sms.Working
of ―sms based device control system using GSM MODEM‖ is very simple.It can be simply understood
by its block diagram &circuit diagram.
PROGRAMMING CODE
#include<LiquidCrystal.h>
LiquidCrystal lcd(6,7,8,9,10,11);
#define waterlevel A0
#define Fan 3
#define Light 4
#define TV 5
int temp=0,i=0;
int led=13;
int level = 0;
char str[15];
void setup()
{
lcd.begin(16,2);
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(waterlevel, INPUT);
pinMode(Fan, OUTPUT);
pinMode(Light, OUTPUT);
pinMode(TV, OUTPUT);
lcd.setCursor(0,0);
lcd.print("GSM Control Home");
lcd.setCursor(0,1);
lcd.print(" Automaton ");
delay(2000);
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("System Ready");
Serial.println("AT+CNMI=2,2,0,0,0");
delay(500);
Serial.println("AT+CMGF=1");
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Fan Light TV ");
lcd.setCursor(0,1);
lcd.print("OFF OFF OFF ");
}
void loop()
{
level=analogRead(A0);
Serial.print(level);
VIGNAN INSTITUTE OF TECHNOLOGY AND SCIENCE,EEE-2019 Page 50
VOICE RECOGONITION APPLICATION BASED ON HOME AUTOMATION SYSTEM WITH PEOPLE COUNTER
lcd.setCursor(0,0);
lcd.print("Fan Light TV");
if(temp==1)
{
check();
temp=0;
i=0;
delay(1000);
}
if(level < 1000)
{
tracking();
}
}
void serialEvent()
{
while(Serial.available())
{
if(Serial.find("#A."))
{
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
while (Serial.available())
{
char inChar=Serial.read();
str[i++]=inChar;
if(inChar=='*')
{
temp=1;
return;
}
}
}
}
}
void check()
{
if(!(strncmp(str,"tv on",5)))
{
digitalWrite(TV, HIGH);
lcd.setCursor(13,1);
lcd.print("ON ");
delay(200);
}
void gsm_init()
{
lcd.clear();
lcd.print("Finding Module..");
boolean at_flag=1;
while(at_flag)
{
Serial.println("AT");
while(Serial.available()>0)
{
if(Serial.find("OK"))
at_flag=0;
}
delay(1000);
}
lcd.clear();
lcd.print("Module Connected..");
delay(1000);
lcd.clear();
lcd.print("Disabling ECHO");
boolean echo_flag=1;
while(echo_flag)
{
Serial.println("ATE0");
while(Serial.available()>0)
{
if(Serial.find("OK"))
echo_flag=0;
}
delay(1000);
}
lcd.clear();
VIGNAN INSTITUTE OF TECHNOLOGY AND SCIENCE,EEE-2019 Page 53
VOICE RECOGONITION APPLICATION BASED ON HOME AUTOMATION SYSTEM WITH PEOPLE COUNTER
lcd.print("Echo OFF");
delay(1000);
lcd.clear();
lcd.print("Finding Network..");
boolean net_flag=1;
while(net_flag)
{
Serial.println("AT+CPIN?");
while(Serial.available()>0)
{
if(Serial.find("+CPIN: READY"))
net_flag=0;
}
delay(1000);
}
lcd.clear();
lcd.print("Network Found..");
delay(1000);
lcd.clear();
}
void init_sms()
{
Serial.println("AT+CMGF=1");
delay(400);
Serial.println("AT+CMGS=\"+918790160150\""); // use your 10 digit cell no. here
delay(400);
Serial.println("AT+CMGS=\"+916303990996\""); // use your 10 digit cell no. here
delay(400);
Serial.println("AT+CMGS=\"+918501065212\""); // use your 10 digit cell no. here
delay(400);
}
void send_sms()
{
Serial.write(26);
}
void lcd_status()
{
lcd.clear();
lcd.print("Message Sent");
VIGNAN INSTITUTE OF TECHNOLOGY AND SCIENCE,EEE-2019 Page 54
VOICE RECOGONITION APPLICATION BASED ON HOME AUTOMATION SYSTEM WITH PEOPLE COUNTER
delay(2000);
lcd.clear();
lcd.print("System Ready");
return;
}
void tracking()
{
init_sms();
send_data("water Alert:");
send_data("Your Current tank level:");
send_data("low");
Serial.print("Level:");
Serial.print("low");
send_data("Please take some action soon..\nThankyou");
send_sms();
delay(2000);
lcd_status();
}
CHAPTER 7
7.1ADVANTAGES:
7.2 DISADVANTAGES:
1. The system is network dependent. Hence, network congestion can reduce the reliability of the
system.
2. User can make mistake while typing the message format.
APPLICATIONS
1. Home automation, which was the seed for developing the idea of project.
2. Remote device control.
a) This will help to eliminate need of human personnel attending the device till it has to be
switched off/on. Based on experience of approximate time to switch on/off ,he/she can
control the device, saving time.
b) It will also help to control device while attending to other work.
c) User can control device in case of forgetting to do so while leaving for some other place.
3. Energy conservation
4. Irrigation systems
CHAPTER 8
RESULTS
8.1 RESULT:
CONCLUSION
Design such a project and implement it, we gather great practical experience. We tried to implement
our theoretical knowledge successfully. This course teaches us about the far difference between
theoretical and practical knowledge.This project increases our ability to work as a group and it helps
us in future life.But we face several problems because of unavailability of quality goods, technical
support and inexperience. Despite that we enjoyed our work very much and successfully finished that
work in perfection. In this dynamic world motor is the most convenient and use- ful tool in industry. Large
rated motor required flexible control and protection. We hope our project can bring dynamic change in
our industrial level motor controlling system.
CHAPTER 9
REFERENCES
The sites which were used while doing this project:
[1] www.wikipedia.com
www.allaboutcircuits.com
[2] www.microchip.com
[3] www.howstuffworks.com
Books referred:
[1] Raj kamal –Microcontrollers Architecture, Programming, Interfacing and System Design.
CHAPTER 4
SOFTWARE DESCRIPTION
Breadboards are great for prototyping equipment as it allows great flexibility to modify a
design when needed; however the final product of a project, ideally should have a neat PCB, few
cables, and survive a shake test. Not only is a proper PCB neater but it is also more durable as
there are no cables which can yank loose. Express PCB is a software tool to design PCBs
specifically for manufacture by the company Express PCB (no other PCB maker accepts Express
PCB files). It is very easy to use, but it does have several limitations.
Express PCB has been used to design many PCBs (some layered and with surface-mount parts.
Print out PCB patterns and use the toner transfer method with an Etch Resistant Pen to make
boards. However, Express PCB does not have a nice print layout. Here is the procedure to design
in Express PCB and clean up the patterns so they print nicely.
Express PCB comes with a less then exciting list of parts. So before any project is started head
over to Audio logic and grab the additional parts by morsel, ppl, and tangent, and extract them
into your Express PCB directory. At this point start the program and get ready to setup the
workspace to suit your style.
Click View -> Options. In this menu, setup the units for ―mm‖ or ―in‖ depending on how you
think, and click ―see through the top copper layer‖ at the bottom. The standard color scheme of
red and green is generally used but it is not as pleasing as red and blue.
When a project is first started you will be greeted with a yellow outline. This yellow outline
is the dimension of the PCB. Typically after positioning of parts and traces, move them to their
final position and then crop the PCB to the correct size. However, in designing a board with a
certain size constraint, crop the PCB to the correct size before starting.
The select tool: It is fairly obvious what this does. It allows you to move and manipulate
parts. When this tool is selected the top toolbar will show buttons to move traces to the top
/ bottom copper layer, and rotate buttons.
The zoom to selection tool: does just that.
The place pad: button allows you to place small soldier pads which are useful for board
connections or if a part is not in the part library but the part dimensions are available. When
this tool is selected the top toolbar will give you a large selection of round holes, square
holes and surface mount pads.
The place component: tool allows you to select a component from the top toolbar and then
by clicking in the workspace places that component in the orientation chosen using the
buttons next to the component list. The components can always be rotated afterwards with
the select tool if the orientation is wrong.
The place trace: tool allows you to place a solid trace on the board of varying thicknesses.
The top toolbar allows you to select the top or bottom layer to place the trace on.
The Insert Corner in trace: button does exactly what it says. When this tool is selected,
clicking on a trace will insert a corner which can be moved to route around components
and other traces.
The remove a trace button is not very important since the delete key will achieve the same
result.
Before starting a project there are several ways to design a PCB and one must be chosen to
suit the project‘s needs. When making a PCB you have the option of making a single sided board,
or a double sided board. Single sided boards are cheaper to produce and easier to etch, but much
harder to design for large projects. If a lot of parts are being used in a small space it may be difficult
to make a single sided board without jump ring over traces with a cable. While there‘s technically
nothing wrong with this, it should be avoided if the signal travelling over the traces is sensitive
(e.g. audio signals). A double sided board is more expensive to produce professionally, more
difficult to etch on a DIY board, but makes the layout of components a lot smaller and easier. It
should be noted that if a trace is running on the top layer, check with the components to make sure
you can get to its pins with a soldering iron. Large capacitors, relays, and similar parts which don‘t
have axial leads can NOT have traces on top unless boards are plated professionally. When using
a double sided board you must consider which traces should be on what side of the board.
Generally, put power traces on the top of the board, jumping only to the bottom if a part cannot be
soldiered onto the top plane (like a relay), and vice- versa. Some projects like power supplies or
amps can benefit from having a solid plane to use for ground. In power supplies this can reduce
noise, and in amps it minimizes the distance between parts and their ground connections, and keeps
the ground signal as simple as possible. However, care must be taken with stubborn chips such as
the TPA6120 amplifier from TI. The TPA6120 datasheet specifies not to run a ground plane under
the pins or signal traces of this chip as the capacitance generated could affect performance
negatively.
Plug in your board and wait for Windows to begin it‘s driver installation process
After a few moments, the process will fail, despite its best efforts
Click on the Start Menu, and open up the Control Panel
While in the Control Panel, navigate to System and Security. Next, click on System
Once the System window is up, open the Device Manager
Look under Ports (COM & LPT). You should see an open port named ―Arduino UNO
(COMxx)‖. If there is no COM & LPT section, look under ‗Other Devices‘ for
‗Unknown Device‘
Right click on the ―Arduino UNO (COMxx)‖ or ―Unknown Device‖ port and choose the
―Update Driver Software‖ option
Finally, navigate to and select the Uno‘s driver file, named ―ArduinoUNO.inf‖, located in
the ―Drivers‖ folder of the Arduino Software download (not the ―FTDI USB Drivers‖
sub-directory). If you cannot see the .inf file, it is probably just hidden. You can select the
‗drivers‘ folder with the ‗search sub-folders‘ option selected instead.
Windows will finish up the driver installation from there
For earlier versions of the Arduino boards (e.g.Arduino Duemilanove, Nano, or Diecimila) check
out this page for specific directions.
After following the appropriate steps for your software install, we are now ready to test your first
program with your Arduino board!
Select the type of Arduino board you’re using: Tools > Board > your board type
Select the serial/COM port that your Arduino is attached to: Tools > Port > COMxx
If you‘re not sure which serial device is your Arduino, take a look at the available ports,
then unplug your Arduino and look again. The one that disappeared is your Arduino.
With your Arduino board connected, and the Blink sketch open, press the ‗Upload‘
button
4.3 PROTEUS:
Proteus is software which accepts only hex files. Once the machine code is converted into
hex code, that hex code has to be dumped into the microcontroller and this is done by the Proteus.
Proteus is a programmer which itself contains a microcontroller in it other than the one which is
to be programmed. This microcontroller has a program in it written in such a way that it accepts
the hex file from the pic compiler and dumps this hex file into the microcontroller which is to be
programmed. As the Proteus programmer requires power supply to be operated, this power supply
is given from the power supply circuit designed and connected to the microcontroller in proteus.
The program which is to be dumped in to the microcontroller is
edited in proteus and is compiled and executed to check any errors and hence after the successful
compilation of the program the program is dumped in to the microcontroller using a dumper.
CHAPTER 5
PROJECT DESCRIPTION
In this chapter, schematic diagram and interfacing of ARDUINO microcontroller with each
module is considered.
Fig 5.1: Schematic Diagram of Voice Recognition Home Automation System With People
Counter
CHAPTER 6
6.1 ADVANTAGES:
6.2 DISADVANTAGES:
Interfacing high voltage devices, and also Bluetooth module to Micro Controller is sensitive.
Applications:
1. In pharma industries.
2. In chemical labs.
3. In power grid stations.
4. In sub stations.
CHAPTER 7
RESULTS
7.2 RESULT:
The project ―Voice Recognition Application Based on Home Automation System with
People Counter‖ was designed such that any device of electrical home appliances at homes can
be operated through Android mobile phone. The controlling of electrical appliances is done
wirelessly through Android smart phone using the Bluetooth feature present in it. Here in this
project the Android smart phone is used as a remote control for operating the electrical appliances.
7.3 CONCLUSION:
Integrating features of all the hardware components used have been developed in it.
Presence of every module has been reasoned out and placed carefully, thus contributing to the best
working of the unit. Secondly, using highly advanced IC‘s with the help of growing technology,
the project has been successfully implemented. Thus the project has been successfully designed
and tested.
Our project ―Voice Recognition Application Based on Home Automation System with
People Counter‖ is mainly intended to control the electrical home appliances using Google
android mobile phone. This project has a Bluetooth module, a 4-relay board to connect the home
electrical appliances which are interfaced to the micro controller. The Micro Controller is
programmed in such a way that depending on the received data from the Google android mobile
phone the devices are operated that is will be switched ON/OFF automatically based on the input
received by the Bluetooth module. This project can be extended by adding Zigbee module and
GSM module. Zigbee module can be used to monitor and control the appliances of multiple devices
like lights, fans, coolers, etc. GSM module can be used to monitor the devices which are being
operated from anywhere in the world.
CHAPTER 8
REFERENCES
The sites which were used while doing this project:
[1] www.wikipedia.com
[2] www.allaboutcircuits.com
[3] www.microchip.com
[4] www.howstuffworks.com
Books referred:
[6] Raj kamal –Microcontrollers Architecture, Programming, Interfacing and System Design.