View
1.464
Download
18
Category
Tags:
Preview:
DESCRIPTION
The document contains detailed description for displaying a Message on LED Notice board through SMS service Wirelessly, if facing any problem you can mail me at rajneeshkumarsalgotra@gmail.com with Subject GSM Wireless Notice Board Report_Your Name
Citation preview
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 1
CHAPTER 1
INTRODUCTION
Wireless communication has announced its arrival on big stage and the world is going
mobile. We want to control everything and without moving an inch. This remote control
of appliances is possible through Embedded Systems. The use of “Embedded System in
Communication” has given rise to many interesting applications that ensures comfort and
safety to human life.
The main aim of this project will be to design a SMS driven automatic display
board which can replace the currently used programmable electronic display. It is proposed
to design receiver cum display board which can be programmed from an authorized mobile
phone. The message to be displayed is sent through a SMS from an authorized transmitter.
The microcontroller receives the SMS, validates the sender and displays the desired
information. Started off as an instantaneous NEWS display unit, we have improved upon
it and tried to take advantage of the computing capabilities of microcontroller. Looking
into current trend of information transfer in the campus, it is seen that important notice take
time to be displayed in the notice boards. This latency is not expected in most of the cases
and must be avoided. It is proposed to implement this project at the institute level. It is
proposed to place display boards in major access points.
The electronic displays which are currently used are programmable displays which
need to be reprogrammed each time. This makes it inefficient for immediate information
transfer, and thus the display board loses its importance. The GSM based display board can
be used as an add-on to these display boards and make it truly wireless. The display
board programs itself with the help of the incoming SMS with proper validation. Such a
system proves to be helpful for immediate information transfer. The system required for
the purpose is nothing but a Microcontroller based SMS box. The main components of the
kit include microcontroller, GSM modem. These components are integrated with
the display board and thus incorporate the wireless features. The GSM modem receives the
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 2
SMS. The AT commands are serially transferred to the modem through serial transmit and
receive connection. In return the modem transmits the stored message through the same
serial port. The microcontroller validates the SMS and then displays the message on the
LED display board. Various time division multiplexing techniques have been suggested to
make the display boards functionally efficient. The microcontroller used in this case is
ATMEGA32. SIMCOM 900A is used as the GSM modem. The data will be displayed only
after entering unique pass key. In addition to that address matching is done and data can be
receive only by the dedicated receiver, and this data is displayed on LED display. The main
focus of the thesis is on displaying information to a dedicated LED display by the any part
of world using GSM network, which facilitate to control any message board globally from
any location.
1.1 Block Diagram
Message is Send from mobile to GSM Modem from any location where GSM messaging
service is available. Message is received at GSM modem and processed using
microcontroller. Now message is stored in controller and displayed on LED display. Every
unit is connected to power supply which is a prerequisite for operation. A block diagram
is shown in figure 1.1.
1.2 Motivation
Creativity and Innovative desire has always been curiosity of man, it is all because of this
nature of man that we are growing each and every day to more modern world. We are proud
as the students of Electronics and Communication as this field is striding to new
innovations every day. This field is the prime focus of researches around the globe.
Electronics offers small sized and efficient devices. And the Communication bridges the
gap amongst people from all over the globe.
Electronics and Communication put together makes an interesting blend, more over
today electronics and communication are somewhat inseparable from the present world
technologies in existence or being researched. The existence of electronics has not only
reduced the labor required to perform but also enhanced the efficiency of the device. So,
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 3
electronics plays an important role in the present world scenario like in industries we
require labor from processing the material to fabrication, as we know to err is human, so
any error in interpretation may lead to loss. But, now by using electronics thumb rules have
been replaced by real time scientific calculation.
We take huge venture that modern technology has stepped into. This novel
opportunity gives us to think broad way and develop that is interesting and useful. So, we
were excited and fascinated towards Display that can be controlled by the distant user for
message delivery from that user. In this project we aim to control screen it from any part
of the world. We are using GSM network which has footprints all over the globe, this way
display can be accessed from anywhere. With the advent of embedded Systems the domain
of electronic has increased prodigiously and we want to contribute and be part of this
change.
Figure 1.1: Block Diagram of Project
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 4
CHAPTER 2
GSM MODEM
2.1 GSM
GSM Stands for Global Network for Mobile Communication. A GSM modem is a wireless
modem that works with a GSM wireless network. GSM Modem accepts a SIM card and
operates over subscription to other users connected to the Network [7]. The GSM modem
can be internally connected to a device or external for use. GSM modem is a data
communicating device. So the external GSM Modems has serial communication interface
to communicate with the data terminal devices. Data terminal devices use special category
of commands known as AT commands abbreviation of Attention Commands to operate
GSM Modem. But AT commands were developed for the dial-up modems. So extended
AT commands were developed to control GSM modem, which support lot of services
related to SMS and SIM Memory access.
Following are some of the services supported by GSM Modem [8]
i. Reading, writing and deleting SMS messages.
ii. Sending SMS messages.
iii. Monitoring the signal strength.
iv. Reading, writing and searching phone book entries.
2.2 SERIAL COMMUNICATION
Serial Communication is basically the transmission and reception for one bit at a time. A
bit is logically Mark or Space. Mark represents the presence of signal that is 1 and Space
represents the absence of the signal that is 0. Characters are represented by using 8 bit
combination. In serial communication the whole data unit, say a byte is transmitted at once.
Serial communication is Synchronous and Asynchronous in nature. Synchronous
communication requires that the clocks in the transmitting and receiving devices are
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 5
synchronized, running at the same rate, so the receiver can sample the signal at the same
time intervals used by the transmitter. No start or stop bits are required. For this reason
synchronous communication permits more information to be passed over a circuit per unit
time [9, 10].
But in Asynchronous serial communication, no clock is needed to be between the
sender and the receiver, start bits are sent before the data byte and stop bit after the data
byte. So, addition of start bits and stop bits makes the data transmission rate slower.
RS-232 is one of the modules used for the asynchronous communication accepted
universally, hence known as Universally Asynchronous Receive/Transmit (UART). RS-
232 is used for connecting DTE and DCE. DB25 and DB9 connectors are defined in RS-
232 standard.
Figure 2.1(a) Figure 2.1(b)
Figure 2.1(a): DB9 Male port pin layout
Figure 2.1(b): DB9 Female port pin layout
Table 2.1: PIN DISCRIPTION [1]
PIN Number PIN NAME DISCRIPTION
1 経系経 The Modem asserts signal DCD to inform the DTE (PC) that a
valid carrier has been detected and connection is established.
2 RxD Carries data from DCE to DTE
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 6
3 TxD Carries data from DTE to DCE
4 DTR When terminal device is turned on, after going through a self-
test, it sends out signal DTR to indicate that it is ready for
communication
5 GND Common Ground
6 経鯨迎 When DCE is turned on, it sets DSR high to indicate that it is
ready to communicate
7 迎劇鯨 When the DTE has a device to transmit, it asserts RTS to signal
the modem that it has a data byte to transfer
8 系劇鯨 In response to RTS, when the modem has room for storing the
data, it sends out CTS to the DTE
9 RI An output from the modem(DCE) and input to DTE indicates
the telephone is ringing
2.3 GSM MODEM SPECIFICATIONS
GSM modem is built with SIMCOM makes SIM900 Quad-Band GSM Engine. It works
on 850 MHz, 900 MHz, 1800 MHz and 1900 MHz. The Modem is designed with RS232
level converter circuitry, which allows you to directly interface PC serial port. The baud
rate can be configurable from 9600-115200 through AT command. Initially modem is in
Auto baud mode. It is suitable for SMS as well as data transfer application.
The modem needed only 3 wires (Tx, Rx, GND) except Power supply to interface
with microcontroller or PC. Using this modem, you will be able to send & read SMS,
connect to internet via GPRS through simple AT commands. Specification of GSM modem
are given in Table 2.2.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 7
Figure 2.2: SIM900GSM MODEM
Table 2.2: Specification of GSM Modem SIM900
S. No. Specification Description
1 Bands Supported Can support any of the bands out of 850/900/1800/1900 MHz
,hence known as Quad-Band
2 Control The device operation is controlled through extended AT
commands
3 SMS via GSM a) Point-to-Point Mobile Originated and Mobile Terminated
Messages
b) SMS Cell Broadcast
c) Text and PDU modes available
4 Operating
Temperature
-40o C to 80o C
5 Interfaces a) RS232 Serial interface b) SMA Antenna Connector c) DC Power pins
6 Antenna Antenna used for communication is GSM L Type antenna connected to Modem for operation through SMA Antenna connector. The antenna has features as specified below :
a) Operating Frequencies : 850/900/1800/1900/2100 MHz b) Gain : 3 dbi c) Power : 10 Watts d) Impedance : 50 ohms e) Polarization : vertical
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 8
2.4 AT COMMANDS
AT commands are instructions used to control a modem. AT is the abbreviation of
Attention. Every command line starts with "AT" or "at". That's why modem commands are
called AT commands. Many of the commands that are used to control wired dial-up
modems, such as ATD (Dial), ATA (Answer) and ATH (Hook control) are also supported
by GSM modem and mobile phones. Besides this common AT command set, GSM
modems and mobile phones support an AT command set that is specific to the GSM
technology, which includes SMS related commands like AT+CMGS (Send SMS message),
AT+CMSS (Send SMS message from storage), AT+CMGL (List SMS messages) and
AT+CMGR (Read SMS messages).
Note that the starting "AT" is the prefix that informs the modem about the start of a
command line. It is not part of the AT command name. For example, D is the actual AT
command name in ATD and +CMGS is the actual AT command name in AT+CMGS.
There are four modes of AT commands related to each command, depends upon the way
of writing command these four modes are defined in Table 2.3.
Table 2.3: Command Modes [4]
S. No. Command Category Example Description
1 Test Command AT+<x>=? The Mobile Equipment returns the list of parameters
and values ranges
2 Read Command AT+<x>? This commands sets the currently set values of
parameter
3 Write Command AT+<x>=<….> This commands sets the User-Definable
4 Execution Command AT+<x> This command executes the required operations
Below are some of the commands that are used in AT commands with a GSM Modem:
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 9
a) AT
The “AT” command is a status request used for testing if a compatible modem is connected
and that the serial interface is working properly.
TABLE 2.4: Response to AT command [4]
Command Response Comment
“AT” “OK” Connected and working
“ERROR” Serial line ok, Modem error
b) ATE0
The “ATE0” command is used to configure the communication. By default, GSM modems
are set to echo any received command back with an acknowledgement. The “ATE1”
command will enable echo again.
TABLE 2.5: Response to ATE0 Command [4]
Command Response Comment
ATE0 “OK” Echo turned off
“ERROR” Echo could not turned off
c) AT+CMGF
The AT command +CMGF is used to select the operating mode of the GSM modem or
mobile phone. It takes one parameter. The value of the parameter can either be 0 or 1. The
values 0 and 1 refer to SMS PDU mode and SMS text mode respectively [11].
TABLE 2.6: Response to AT+CMGF Command
Command Modes Response
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 10
“AT+CMGF” Test Command
AT+CMGF=?
+CMGF : (list of supported
<mode>s)
Read Command
AT+CMGF?
+CMGF : <mode>
Current mode in use by device
Write Command
AT+CMGF=<mode>
The mode of operation for the
device is selected.
Parameter <mode> :
0 PDU(Protocol Description Unit) Mode
1 Text Mode
Text mode is actually encoding of bit stream represented by PDU
mode. [12]
d) AT+CMGD
This command is used to delete the message from a particular index form the memory.
The complete command is AT+CMGD=<a>, where <a> is the index for the memory
location. Response to AT+CMGD is shown in table 2.7.
e) AT+CMGR
This command is Message Read Command. It returns the message stored at a particular
location, the location is specified in the command. The complete command is
AT+CMGR=<a>,where <a> represents the location to be accessed for message, which is
known as index of message. Response to AT+CMGR is shown in table 2.8.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 11
TABLE 2.7: Response to AT+CMGD Command
Command Modes Response
“AT+CMGD” Test Command
AT+CMGD=?
+CMGD: (list of supported index(s),list of
supported delflag(s))
Write Command
AT+CMGD=<index>
[,<delflag>]
+CMGD: ERROR
If problem in ME functionality
+CMGD: OK
Message is deleted from index location
<index>
Parameters:
<index>: integer value of memory storage
locations.
<delflag>:
0: Delete the message Specified in index
location.
1: Delete all read messages from storage,
leaving unread messages and Mobile
originated Stored messages.
2: Delete all read messages from storage and
sent mobile originated,leaving unread
messages and unsent mobile originated
messages
3: Delete all read messages from storage, also
sent and unsent mobile originated messages,
leaving unread messages untouched.
4: Delete all messages from storage including
unread messages.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 12
Table 2.8: Response to command AT+CMGR
Command Response Comment
AT+CGMR=
<index>
+CMGR : <stat>, <oa>,
[scts], <CR>
<LF>
<data>
It gives the message stored at index
<index> , with all of its details.
Parameters
<stat> :
“REC READ” Received and
Read
“REC UNREAD” Received, but
Unread
“STO UNSENT” Stored, but not
Sent
“STO SENT” Stored and Sent
<oa> : originating address
[scts] : Service Centre Time Stamp
<CR> : Carriage return
<LF> : Line Feed
<data> : the message stored
+CMGR : ERROR Functionality problem in Modem
f) AT+CMGS
The “AT+CMGS” command is used to send the Short message to the distant location to a
particular contact number. AT+CMGS sends message to contact number [da] and we
need to mention format of the number weather national or international as [toda] ([da] is
the destination address whereas [toda] is TP-DESTINATION-ADDRESS-TYPE-
ADDRESS which is 145 for international format and 129 for national format contact
numbers in text mode), after giving command ‘>’ prompt appears in response, now write
the data to be sent as message. When data is entered and now need to be sent. It is sent
using CTRL+Z (Hexadecimal Code 0xA1). Steps are shown in sequence in Table 2.9.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 13
Table 2.9: Steps for Sending Message to a Number
Step Command Result
1 AT+CMGS=
<oa>[,<toda]
>
Prompt is resulted to write short message
2 The Short Message is to
be written
> data
3 Press CTRL+Z or send
0xA1 Hexadecimal code
to Modem to send
Message
OK
+CMGS : <mr>
<mr> is TP Message reference
Note : If ESC or Ctrl-Z is pressed in second step Message sending is cancelled
2.5 TESTING OF GSM MODEM
GSM Modem can be operated by connecting it to the desktop. GSM modem is connected
to the system using RS-232 module. This is usually the first step in working with the GSM,
because the operation between GSM Modem and system gives idea how the AT commands
need to be sent for proper communication and what response is received corresponding to
the command. The Software that makes it more comprehensive is the HyperTerminal. It
acts as an interface between the serial communicating device and the terminal equipment.
Whatever user want to send through serial communication, it is just need to be written on
HyperTerminal and whatever received is shown on the Screen of HyperTerminal interface.
HyperTerminal is used to troubleshoot GSM modem.
Before you can use HyperTerminal to troubleshoot your modem, you must create a
connection to the port the modem is using. To do so, follow these steps [13]:
1. Click Start | Programs | Accessories | Communications | HyperTerminal.
2. Once HyperTerminal opens, it will automatically prompt you to create a new
connection if none exist. If no connection(s) exists, you can click File | New
Connection to create a new one.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 14
3. Specify a name for the connection, choose an icon, and click OK.
4. In the Connect to dialog box, choose the COM port being used by your modem.
5. In the port property sheet that appears, choose a port speed (bits per second) that
matches the device.
6. Then, choose communications parameters that match the device that is the number
of Data Bits, Start Bits, Stop Bits and Parity Bits.
When you click OK, HyperTerminal will immediately open a connection to the port.
You'll then be ready to troubleshoot. Now, when you can type AT and press [Enter] in the
HyperTerminal connection to test communications. You should receive an OK message if
your settings are correct and the modem is working.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 15
CHAPTER 3
MICROCONTROLLER UNIT
3.1 Introduction to AVR Microcontrollers
There are many kinds of AVR microcontroller with different properties. Except for
AVR32, which is a 32 bit microcontroller, AVRs are all 8-bit microcontrollers, means that
the CPU can work on only 8 bits of data at a time. Data larger than 8 bits has to be broken
into 8-bit pieces to be processed by the CPU. One problem with the AVR microcontrollers
is that they are not all 100% compatible in terms of software when going from one family
to another family. To run programs written for the ATtiny25 on a AT mega 64, we must
recompile the program and possible change some register before loading it into the
ATmega64.
3.2 AVR Features [2]
The AVR is an 8 – bit RISC single chip microcontroller with standard features of on-chip
program ROM, data RAM, data EEPROM, timers and I/O ports. Most of AVR’s has some
additional features like ADC, PWM and different kinds of serial interface such as USART.
3.2.1 ROM
In microcontrollers, the ROM is used to store programs and for this reason it is called
program or code ROM. Although the AVR has 8M of program (code) ROM Space, not all
families come with that much installed.
The program ROM size can vary from 1K to 256K at the time of this writing, depending
on the family member. The AVR was the first microcontroller to use the use on- chip flash
memory for program storage. The flash memory ideal for the fast development because
flash memory can be erased in seconds.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 16
3.2.2 Data RAM and EEPROM
While ROM is used to store program code, the RAM space is for data storage. The AVR
has a maximum of 64K bytes of data RAM space. Not all of family members comes with
as much RAM space. In AVR, we also have a small amount of EEPROM to store critical
data that does not need to be changed very often.
3.2.3 I/O Ports
The AVR can have from 3 to 86 pins for I/O. The number of I/O pins depends on the
number of pins in the package itself. The number of pins in the AVR package goes from 8
to 100 at this time. In the case of 8- pin AT90S2323 we have 3 pins for I/O, while in the
case of 100-pin ATmega1280, we can use up to 86 pins for I/O.
3.2.4 Peripherals
Most of the AVRs come with ADC (analog to digital converter), timers, and USART
(Universal Synchronous Asynchronous Receiver Transmitter) as standard peripherals. The
ADC is a 10- bit and number of ADC channels in AVR chips varies and can be up to 16,
depending on the number of pins in the package. The AVR can have up to 6 timers besides
watchdog timer.
Figure 3.1: Simplified view of AVR microcontroller. [2]
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 17
3.3 AVR Family Overview
AVR can be classified into four groups: Classic, Mega, Tiny and Special Purpose [2].
3.3.1 Classic AVR (AT90xxxx)
This is the original AVR chip, which has been replaced by newer AVR chips.
3.3.2 Mega AVR (ATmegaxxxx)
These are the powerful microcontrollers with more than 120 instructions and lot of different
peripheral capabilities, which can be used in different designs. Some of their characteristics
are
1. Program memory: 4K to 256 K bytes
2. Package: 28 to 100 pins
3. Extensive peripheral set
4. Extended instruction set: They have rich instruction set.
3.3.3 Tiny AVR (ATtinyxxxx)
As the name indicates, the microcontrollers in this group have less instructions and smaller
packages in comparison to mega family. You can design systems with low costs and power
consumption using the Tiny AVRs. Some of the characteristics are as follows.
i. Program memory: 1K to 8K bytes
ii. Package: 8 to 28 pins
iii. Limited peripheral set
iv. Limited instruction set
3.3.4 Special purpose AVR
The ICs of this group can be considered as a subset of other groups, but their special
capabilities are made for designing specific application. Some of the special capabilities
are: USB controller, CAN controller, LCD controller.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 18
3.4 ATMEGA32 Features
I. High-performance, Low-power Atmel AVR 8-bit Microcontroller
II. Advanced RISC Architecture
a. 131 Powerful Instructions – Most Single-clock Cycle Execution
b. 32 × 8 General Purpose Working Registers
III. High Endurance Non-volatile Memory segments
a. 32Kbytes of In-System Self-programmable Flash program memory
b. 1024Bytes EEPROM
c. 2Kbytes Internal SRAM
IV. I/O and Packages
a. 32 Programmable I/O Lines
b. 40-pin PDIP
V. Operating Voltages
a. 2.7V - 5.5V for ATmega32L
b. 4.5V - 5.5V for ATmega32
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 19
3.5 40 Pin DIP Description
3.5.1 LAYOUT
Figure 3.2: 40 pin connection of PDIP ATMEGA32 [2]
3.5.2 PIN DESCRIPTION
a) VCC
This pin provides supply voltage to the chip. The typical voltage source is +5V. Some AVR
family members have lower voltages for VCC pins in order to reduce the noise and power
dissipation of the AVR systems.
b) AVCC
AVCC is the supply is the supply voltage for PortA and A/D Converter. It should be
externally connected to VCC, even if ADC is not used.
c) XTAL1 and XTAL2
The ATmega32 has many options for the clock source. Most often a quartz crystal
oscillator is connected to input pins of XTAL1 and XTAL2. The quartz crystal oscillator
connected to XTAL1 and XTAL2 pins also need two capacitors. One side of each capacitor
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 20
is connected to the ground as shown in the figure below. ATmega32 can have speeds from
0Hz to 16MHz.
Figure 3.3: Required connection for XTAL1 and XTAL2. [2]
d) RESET
Pin 9 (ATmega32, 40-PIN DIP) is the RESET pin. It is an input and is active LOW
(normally high). When a LOW pulse is applied to this pin, the microcontroller will reset,
and terminate all activities. After applying reset, the contents of all registers and SRAM
locations will be cleared. The CPU will start executing the program from run locations
0x0000 after a brief delayed when reset pin is forced low and released.
e) Ports of ATmega32
The 40 pin DIP has for ports. They are PORTA, PORTB, PORTC and PORTD. To use any
of these ports as input or output port, it must be programmed. In addition to being used for
simple I/O, each port has some other functions such as ADC, timers, interrupts, and serial
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 21
communication pins. Each port has three I/O registers associated with it. They are designed
as PORTx, DDRx and PINB. DDR stands for Data Direction Register, and PIN stands for
Port Input pins. Each of I/O register is 8 bit wide, and each port has maximum of 8 pins.
Table3.1: Relations between the registers and the pins of AVR.
DDRx 7 6 5 4 3 2 1 0
PORTx 7 6 5 4 3 2 1 0
PINx 7 6 5 4 3 2 1 0
The DDRx I/O register is used solely for the purpose of making a given port an input or
output port. For example, to make a port an output port, we write 1s to DDRx register. In
other words, to output data to all of the pins of the PortB, we must put 0b11111111 into
the DDR register to make all of the pins output. To make port an input port, we must first
put 0s into the DDRx register for that port, and bring (read) the data present at the pins. On
reset, all ports have 0x00 in their DDRx register.
To read the data present at the pins, we should read PIN register. It must be noted that
to bring data into CPU from pins we read the contents of the PINx register, whereas to send
data out of pins we use the PORTx register.
Figure 3.4: The I/O Port in AVR [2]
All these pins can be programmed as either input or either output pins. There are special
functions associated with each pins which will be taken later in text.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 22
3.6 Serial Communication
Computers transfer data in two ways: parallel and serial. In parallel data transfers, often
eight or more lines (wire conductors) are used to transfer data to a device that is only a few
feet away. Devices that use parallel transfers include printers, each uses cable with many
wires. Although a lot of data can be transferred in a short amount of time by using a wires
in parallel, the distance cannot be great. To transfer to a device located many meters away,
the serial method is used. In serial communication, the data is sent one bit at a time, in
contrast to parallel communication, in which the data is sent a byte or more at a time.
3.6.1 Basics of Serial Communication
When the microcontroller communicates with the outside world, it provides the data in
byte sized chunks. For some devices, such as printers, the information is simply grabbed
from the 8-bit data bus presented to 8-bit data bus of the device. This can work only if the
cable is not too long, because long cables diminish and even distort signals. Furthermore,
an 8-bit path is expensive. For these reasons, the serial communication is used for
transferring data between two systems located at distances of hundreds of feet to millions
of miles apart. For serial communication to work the byte of data must be converted to
serial bits using a parallel-in-serial-out shift register; then it can be transmitted over a single
data line. This means that receiver end should serial-in-parallel-out shift register to receive
the serial data and pack them into byte.
Figure 3.5: Serial versus Parallel Data Transfer [2]
Serial data communication uses two methods, asynchronous and synchronous. The
synchronous method transfers a block of data (characters) at a time, whereas the
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 23
asynchronous method transfers a single byte at a time. It is possible to write software to
use either of these methods, but the programs can be tedious and long. These chips are
commonly referred to as UART and USART.
In data transmission, if the data can be both transmitted and received, it is a duplex
transmission. This is in contrast to simplex transmission such as with printers, in which the
computer sends data. Duplex transmissions can be half or full duplex, depending on
whether or not data transmission can be simultaneous. If data is transmitted one way at a
time, it is referred to as a half duplex. If the data can go both the ways at a time, it is full
duplex. Of course, full duplex requires two wire conductors for data lines (in addition to
signal ground), one for transmission and one for reception, in order to transfer and receive
data simultaneously.
3.6.2 Asynchronous serial communication and data framing
The data coming in at the receiving end of the data line is a serial data transfer is all 0s and
1s; it is difficult to make sense of the unless the sender and receiver agree on a set of rules,
a protocol, on how data is packet, how many bits constitute a character, and when the data
begins and ends. Asynchronous serial data communication is widely used for character-
oriented transmissions, while block-oriented data transfers use the synchronous method.
Figure 3.6: Simplex, Half, and Full-Duplex Transfers [2].
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 24
In the asynchronous method, each character is placed between start and stop bits. This is
called framing. In data framing for asynchronous communication, the data, such as ASCII
characters, are packet between start and stop bits. The start bit is always one bit, but stop
bit can be one or two bits. The start bit is always a 0 (low), and stop bit(s) is 1 (high). For
example, look at the figure 3.7 in which ASCII character “A” (8-bit binary 0100 0001) is
framed between the start bit and stop bit. LSB is sent out first.
When there is no transfer, the signal is 1 (high), which is referred to as mark. The 0 (low)
is referred to as space. The transmission begins with the start bit followed by D0, the LSB,
then the rest of the bits until the MSB (D7), and finally, the one stop bit indicating the end
of character “A”.
Figure 3.7: Framing the ASCII “A” (41H).
3.6.3 UBRR Register and Baud rate in the AVR
The rate of data transfer in serial communication is stated in bps (bits per second). Another
widely used terminology for bps is baud rate. However, the baud and bps rate are not same.
This is because the baud rate is modern terminology and is defined as the number of signal
change per second.
The AVR transfers and receives data serially at many different baud rates. The relation
between the value loaded in UBRR and the Fosc (frequency of oscillator connected to the
XTAL1 and XTAL2) is dictated by the following formula:
Desired Baud rate = Fosc / (16(X+1))
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 25
Where X is the value loaded into UBRR register. To get the value of X for different baud
rates we have to solve equation as follows:
X= (Fosc / (16(Desired Baud Rate)))-1
Table 3.2: UBRR Values for Various Baud Rates. [2]
Baud Rate UBRR (Decimal Valve) UBBR (Hex Value)
38400 12 C
19200 25 19
9600 51 33
4800 103 67
2400 207 CF
1200 415 19F
Note – For Fosc = 8 MHz we have UBRR = (500000/Baud Rate) – 1
UBRR is a 16-bit register but only 12 bits of it are used to set the USART baud rate.
15th Bit is URSEL and is used for accessing the UBRRH or the UCSRC register.
15 8
URSEL ----- ----- ------ UBRR[11:8]
UBRR[7:0]
7 0
Figure3.8: UBRR Register [2]
3.6.4 UDR Registers and USART data I/O in AVR
In the AVR, to provide a full duplex serial communication, these are two shift registers
referred to as Transmit Shift Register and Receive Shift Register. Each register has a buffer
that is connected to it directly. These buffers are called as Transmit Data Buffer Register
and Receive Data Buffer Register. The USART Data Buffer Register and Receive Data
Buffer register share same I/O address, which is called as USART DATA REGISTER or
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 26
UDR. When data is written into UDR, it will be transferred to the Transmitted Data Buffer
Register (TXB), and when you read data from UDR, it will return contents of Receive Data
Buffer Register (RXB).
Figure 3.9: Simplified USART Block Diagram [2]
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 27
CHAPTER 4
LED DISPLAY
The main objective of our project is to display the message thus received by the controller
through GSM Modem. The Message is to be displayed on the Large Screen, hence visible
to all and larger in size. So, we use LED screen for this purpose. It consists of Individual
LEDs in matrix by which message is thus conveyed to all the persons around.
4.1 LED
LED Stands for light emitting diode. LED is a semiconductor device which converts
electrical signal into optical signal. It is constructed using direct band gap materials. We
use LED for display purpose so we need LEDs which gives the output spectrum in visible
region. A typical LED is shown:
Figure 4.1: LIGHT EMITTING DIODE [14]
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 28
When an LED's anode lead has a voltage that is more positive than its cathode lead by at
least the LED's forward voltage drop, current flows. Electrons are able to recombine with
holes within the device, releasing energy in the form of photons. This effect is called
electroluminescence. The color of the light (corresponding to the energy of the photon) is
determined by the energy band gap of the semiconductor.
The emitted wavelengths by LED light source in a visible Spectrum shown in below figure:
Figure 4.2: Visible light Spectrum [15]
Applications of LED
1. Indicators and Signs
2. Displays
3. Lighting
4. Data Communication and Signaling
5. Light Sources for machine vision systems
4.2 LED DOT MATRIX DISPLAY
A dot matrix is a 2-dimensional patterned array, used to represent characters, symbols and
images. Every type of modern technology uses dot matrices for display of information,
including cell phones, televisions, and printers.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 29
In dot matrix displays mainly 5x7 dot matrix are used to represent a single digit. These
single dot matrix is having 5 column and 7 rows, total 35 LEDs. Dot matrix are generally
available in two configurations.
1. Column Cathode
2. Column Anode
4.2.2 Column Cathode
Dot matrix connections are such that the all cathodes of one column LEDs is connected to
common point and all anodes of a one row LEDs are connected to common point. Similarly
all cathodes and anodes are connected to their specific common points. So now we have 5
columns ports and 7 rows ports and we will control the pattern of the led using these 12
ports. Now if we apply a +5v at the 1st cathode (1st column) and ground to 1st anode (1st
row) then the led at the leftmost top will glow. This type of dot matrix is shown in Figure
4.3:
Figure 4.3: LED dot matrix display 5x7, Column cathode type [16]
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 30
4.2.3 Column Anode
Dot matrix connections are such that the all anodes of one column LEDs is connected to
common point and all cathodes of a one row LEDs are connected to common point.
Similarly all anodes and cathode respectively for column and rows are connected to some
specific ports. Here also 12 ports are available to control the dot matrix. Difference is that
the +5v will be connected to row and ground to column. This type of display is shown in
Figure 4.4.
Figure 4.4: LED dot matrix display 5x7, Column anode type [17]
4.3 Display
It consists of number of dot matrix in a series. It may be designed according to requirement
examples - single row multi column, multi row multi column etc. We are using single row
multicolumn which consists 8 columns and hence total 40x7 LEDs. We have a 47 pins to
control the data displayed. It consists the 40 columns and 7 rows. To display data on LED
matrix we need to calculate the digital values of columns LEDs of single digits (1 for On
0 for off condition) for the selected rows. So there will be 7 bytes of data for single digit.
To display the digit we need to transmit the single byte corresponding to the row and at
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 31
that time other rows will be turned off. Similarly process is done for all rows with some
delay so that o/p can be visible continuously. General display is shown in figure 4.5:
Figure 4.5: General led matrix display [18]
4.4 Character Patterns for Matrix Display
We have designed the general English language characters patterns. These patterns are use
full in calculating the byte values for single character.
Bytes of data for some character can be given as:
0x20,0x50,0x88,0x88,0xF8,0x88,0x88, //A
0xF0,0x48,0x48,0x70,0x48,0x48,0xF0, //B
0x70,0x88,0x80,0x80,0x80,0x88,0x70, // C
0xF0,0x48,0x48,0x48,0x48,0x48,0xF0, //D
0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8, //E
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 32
Figure 4.6(a): Character Patterns
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 33
Figure 4.6(b): Character Patterns
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 34
4.5 ULN 2003
ULN2003 is a high voltage and high current Darlington array IC. It contains seven open
collector darlington pairs with common emitters. A darlington pair is an arrangement of
two bipolar transistors.
4.5.1 Features
1. 500-mA-Rated Collector Current (Single Output)
2. High-Voltage Outputs: 50 V
3. Relay-Driver Applications
Figure 4.7: ULN Layout
4.5.2 Description
The ULN2002A, ULN2003A, ULN2003AI, ULN2004A, ULQ2003A, and ULQ2004A are
high-voltage high-current. Darlington transistor arrays. Each consists of seven npn
Darlington pairs that feature high-voltage outputs with common-cathode clamp diodes for
switching inductive loads.
The collector-current rating of a single Darlington pair is 500 mA. The Darlington pairs
can be paralleled for higher current capability. Applications include relay drivers, hammer
drivers, lamp drivers, display drivers (LED) and line drivers.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 35
The ULN2003A and ULQ2003A have a 2.7-kΩ series base resistor for each Darlington
pair for operation directly with TTL or 5-V CMOS devices. Each input of this device has
this resistor in series to control the input current to a safe limit.
Figure 4.8: Logic Diagram of ULN2003A. [5]
Figure 4.9: Each Darlington Connection of the given 7 Darlington connection in
ULN2003A
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 36
4.6 SHIFT REGISTER [3]
A register is used to store combination of bits. So, it is a group of flip‐flops, each one of
which shares a common clock and is capable of storing one bit of information. Hence, more
flip-flops more the information can be stored. An n‐bit register consists of a group of n flip‐flops capable of storing n bits of binary information. A Shift register is capable of shifting
the binary information held in each cell to its neighboring cell, in a selected direction, is
called a shift register. The logical configuration of a shift register consists of a chain of
flip ‐flops in cascade, with the output of one flip‐flop connected to the input of the next flip‐flop. All flip ‐flops receive common clock pulses, which activate the shift of data from one
stage to the next. A shift register using D Flip-flop is shown is figure 4.10.
Figure 4.10: Four Bit Shift Register
4.6.1 74HC595N [6]
8-stage serial shift registers with a storage register and 3-state outputs. The registers have
separate clocks. It has two flow control pins STCP and SHCP. Data is shifted on the
positive-going transitions of the shift register clock input (SHCP). The data in each register
is transferred to the storage register on a positive-going transition of the storage register
clock input (STCP). The shift register has a serial input (DS) and a serial standard output
(Q7S) for cascading. It is also provided with asynchronous reset (active LOW) for all 8
shift register stages. The storage register has 8 parallel 3-state bus driver outputs. Data in
the storage register appears at the output whenever the output enable input ( �継 ) is LOW.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 37
So it can also be used as serial to parallel converter. The pin diagram is shown in figure 2
and corresponding pin description in Table 4.1.
Figure 4.11: Pin Diagram of 74HC595
Table 4.1: Pin Description
Pin Symbol Description
1 to 7 Q1 ,Q2 ,Q3,
Q4, Q5, Q6
,Q7
Parallel Output 1 to 7
8 GND Ground (0 V)
9 Q7S Serial data output
10 �迎 Master Reset (active LOW)
11 SHCP Shift Register Clock Input
12 STCP Storage Register Clock Input
13 �継 Output Enable (active LOW)
14 DS Serial Data Input
15 Q0 Parallel output 0
16 Vcc Supply Voltage
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 38
CHAPTER 5
POWER SUPPLY
While working with the Integrated Circuits Power supply is one of the most important part
of the circuitry, which defines the functioning of the circuit. If Power Supply signal at any
time exceeds any of the specifications defined, then IC(s) being used may blow up. So the
Power Supply needs to be taken care of seriously. As most the GSM Modem require
constant external supply of 12 volts and 2 amperes, so using Switched Mode Power Supply
whose accuracy is much higher than the Linear Regulated Supplies. But, the rest of our
components require constant 5V constant power supply, so we use converter to down-
convert the Power fed to GSM Modem to 5V and feed it to the Controller circuit and LED
Display.
5.1 SMPS
Switched Mode Power Supply uses Switched Mode Power Supply uses a switching
regulator to convert electric power efficiently. SMPS transfers electric power from a source
(AC mains) to the load by converting the characteristics of current and voltage. SMPS
always provide a well regulated power to the load irrespective of the input variations.
SMPS incorporates a Pass transistor that switches very fast typically at 50Hz and 1 MHz
between the on and off states to minimize the energy waste. SMPS regulates the output
power by varying the on to off time using minimum voltage so that efficiency is very high
compared to the linear power supply. Figure 5.1 shows block diagram for SMPS. [19]
I. Input rectifier
The AC input from mains is first rectified in the SMPS using a rectifier to convert it into
DC. The rectifier consisting of a full wave diode bridge or module that produces an
unregulated DC voltage to the Smoothing capacitor. The input AC passing into the rectifier
has AC voltage pulses that may reduce the power factor. So control techniques are used to
force the average input current to follow the sine wave.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 39
Figure 5.1: SMPS Block diagram [19]
II. Inverter
This stage converts the rectified DC into AC using a power oscillator. The power oscillator
has a small output transformer with a few windings at the frequency 20-100 kHz. Switching
is controlled by a MOSFET amplifier. The output AC voltage is usually isolated optically
from the input AC by using an Optocoupler IC for safety reasons.
III. Transformer
It converts the Square wave AC produced by inverter in previous block coming to some
other level. For controlling the amplitude so that required output can be obtained, Switch
is used across transformer for closing and opening the circuit.
IV. Output Rectifier and Filter
It rectifies and filters the signal that is received from the secondary winding of the
transformer. Hence, desired DC voltage is generated at the output of Filter.
V. Chopper Controller
It controls the switching duration of the switch. When output is received it is being sensed
by sensor and it is fed to comparator through optocoupler and the other input to comparator
is reference signal. When difference in received and desired signal, Pulse wave Modulator
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 40
produces pulse waves accordingly, It modulates the ON time of signal. Hence output signal
changed accordingly. The Vin and Vout has following relation.
Vout = T V in , where T is duty cycle
5.2 LM2576 [20]
LM2576 is a three terminal voltage regulator. It is the module that is being used to down-
convert SMPS power to feed it to the Controller. LM2576 is capable of driving 3 amperes
with excellent load regulation. It requires very few external components for operation,
hence easy to use. LM2576 offers high efficiency advantage over three-terminal linear
regulators. It substantially reduces the size of Heat Sink to be required. The circuitry for
LM2576 is shown in figure 5.2.
Figure 5.2: LM2576 Circuitry
It regulates the output signal on the principle of Buck-Converter. It down-converts the DC
voltage using input switching, a switch is connected across input so input is allowed to
flow for some duration and then stopped for the other duration. The ON-OFF duration of
switch decides the down-conversion. When input is allowed to flow, eventually capacitor
C1 across input charges to the maximum input value. If switch is closed, current flows
through L1, magnetic energy is stored.
Current also flows through load and the Capacitor C2 shown in figure 5.2, Energy goes
to load and capacitor charged mean while capacitor is charged, as soon as switch across
input is open. There is no current because of input, but the inductor L1 will oppose the
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 41
change of current, hence current continuous to flow through load, taking the path of diode
D1, capacitor also dissipates its energy stored to load, hence power is continuous at Load.
Feedback controls the rate of flow of power to load to get it regulated. [21]
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 42
CHAPTER 6
CIRCUIT DIAGRAM
6.1 LED Display Circuit
Figure 6.1: LED Display Circuit
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 43
6.2 MCU Connections with LED Display
Figure 6.2: Microcontroller connections with LED Display
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 44
CHAPTER 7
PROGRAM CODE
7.1 Code #include <mega32.h> #include <delay.h> #include <stdio.h> #include <string.h> flash unsigned char data[128][7]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 0 0x20,0x70,0xF8,0x70,0x70,0x00,0x00, //above arrow , ascii 1 0x00,0x20,0xF0,0xF8,0xF0,0x20,0x00, //right arrow , ascii 2 0x00,0x00,0x70,0x70,0xF8,0x70,0x20, //down arrow , ascii 3 0x00,0x20,0x78,0xF8,0x78,0x20,0x00, //left arrow , ascii 4 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 5 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 6 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 7 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 8 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 9 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 0A 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 0B 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 0C 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 0D 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 0E 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 0F 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 10 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 11 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 12 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 13 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 14 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 15 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 16 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 17 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 18 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 19 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 1A 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 1B 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 1C 0x60,0x90,0xB0,0x88,0x88,0xB0,0x80, // beta , ascii 1D 0x30,0x48,0x40,0xE0,0x40,0x40,0xF8, // pound , ascii 1E 0x88,0x50,0xF8,0x20,0xF8,0x20,0x20, // ascii 1F , 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future20
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 45
0x20,0x20,0x20,0x20,0x20,0x00,0x20, //! , ascii 21 0x00,0x00,0x00,0x00,0x00,0x00,0x00, //reserved for future 22 0x50,0x50,0xF8,0x50,0xF8,0x50,0x50, // # , ascii 23 0x20,0x78,0xA0,0x70,0x28,0xF0,0x20, // $ , ascii 24 0xE0,0xA8,0xD0,0x20,0x58,0xA8,0x38, // % , ascii 25 0x40,0xA0,0xA0,0x40,0xA8,0x90,0x68, // & , ascii 26 0x30,0x30,0x10,0x20,0x00,0x00,0x00, // ' , ascii 27 0x10,0x20,0x40,0x40,0x40,0x20,0x10, // ( , ascii 28 0x40,0x20,0x10,0x10,0x10,0x20,0x40, // ) , ascii 29 0x20,0xA8,0x70,0xF8,0x70,0xA8,0x20, // * , ascii 2A 0x00,0x20,0x20,0xF8,0x20,0x20,0x20, // + , ascii 2B 0x00,0x00,0x00,0x60,0x60,0x20,0x40, // , , ascii 2C 0x00,0x00,0x00,0xF8,0x00,0x00,0x00, // - , ascii 2D 0x00,0x00,0x00,0x00,0x00,0x60,0x60, // . , ascii 2E 0x00,0x08,0x10,0x20,0x40,0x80,0x00, // / , ascii 2F 0x70,0x88,0x98,0xA8,0xC8,0x88,0x70, //0 , ascii 30 0x20,0x60,0x20,0x20,0x20,0x20,0x70, //1 0x70,0x88,0x08,0x70,0x80,0x80,0xF8, //2 0x70,0x88,0x08,0x30,0x08,0x88,0x70, //3 0x10,0x30,0x50,0x90,0xF8,0x20,0x20, //4 0xF8,0x80,0xF0,0x08,0x08,0x88,0x70, //5 0x30,0x40,0x80,0xF0,0x88,0x88,0x70, //6 0xF8,0x08,0x10,0x20,0x40,0x40,0x40, //7 0x70,0x88,0x88,0x70,0x88,0x88,0x70, //8 0x70,0x88,0x88,0x78,0x08,0x10,0x60, //9 0x00,0x60,0x60,0x00,0x60,0x60,0x00, //: , ascii 3A 0x60,0x60,0x00,0x60,0x60,0x20,0x40, //; , ascii 3B 0x10,0x20,0x40,0x80,0x40,0x20,0x10, //< , ascii 3C 0x00,0x00,0xF8,0x00,0xF8,0x00,0x00, //= , ascii 3D 0x40,0x20,0x10,0x08,0x10,0x20,0x40, //> , ascii 3E 0x70,0x88,0x08,0x10,0x20,0x00,0x20, //? , ascii 3F 0x70,0x88,0x08,0x68,0xA8,0xA8,0x70, //@ , ascii 40 0x20,0x50,0x88,0x88,0xF8,0x88,0x88, //A , ascii 41 0xF0,0x48,0x48,0x70,0x48,0x48,0xF0, //B , ascii 42 0x70,0x88,0x80,0x80,0x80,0x88,0x70, //C 0xF0,0x48,0x48,0x48,0x48,0x48,0xF0, //D 0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8, //E 0xF8,0x80,0x80,0xF0,0x80,0x80,0x80, //F 0x70,0x88,0x80,0xB8,0x88,0x88,0x70, //G 0x88,0x88,0x88,0xF8,0x88,0x88,0x88, //H 0x70,0x20,0x20,0x20,0x20,0x20,0x70, //I 0x38,0x10,0x10,0x10,0x10,0x90,0x60, //J 0x88,0x90,0xA0,0xC0,0xA0,0x90,0x88, //K 0x80,0x80,0x80,0x80,0x80,0x80,0xF8, //L 0x88,0xD8,0xA8,0xA8,0x88,0x88,0x88, //M 0x88,0xC8,0xA8,0x98,0x88,0x88,0x88, //N
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 46
0x70,0x88,0x88,0x88,0x88,0x88,0x70, //O 0xF0,0x88,0x88,0xF0,0x80,0x80,0x80, //P 0x70,0x88,0x88,0x88,0xA8,0x90,0x68, //Q 0xF0,0x88,0x88,0xF0,0xA0,0x90,0x88, //R 0x70,0x88,0x80,0x70,0x08,0x88,0x70, //S 0xF8,0x20,0x20,0x20,0x20,0x20,0x20, //T 0x88,0x88,0x88,0x88,0x88,0x88,0x70, //U 0x88,0x88,0x88,0x50,0x50,0x20,0x20, //V 0x88,0x88,0x88,0xA8,0xA8,0xD8,0x88, //W 0x88,0x88,0x50,0x20,0x50,0x88,0x88, //X 0x88,0x88,0x50,0x20,0x20,0x20,0x20, //Y , ascii 59 0xF8,0x08,0x10,0x20,0x40,0x80,0x88, //Z , ascii 5A 0x70,0x40,0x40,0x40,0x40,0x40,0x70, //[ , ascii 5B 0x00,0x80,0x40,0x20,0x10,0x08,0x00, //\ , ascii 5C 0x70,0x10,0x10,0x10,0x10,0x10,0x70, //] , ascii 5D 0x20,0x50,0x88,0x00,0x00,0x00,0x00, //^ , ascii 5E 0x00,0x00,0x00,0x00,0x00,0x00,0xF8, //_ , ascii 5F 0x30,0x30,0x20,0x10,0x00,0x00,0x00, //' , ascii 60 0x00,0x00,0x70,0x08,0x78,0x88,0x70, //a , ascii 61 0x80,0x80,0xB0,0xC8,0x88,0xC8,0xB0, //b , ascii 62 0x00,0x00,0x38,0x40,0x40,0x40,0x38, 0x08,0x08,0x68,0x98,0x88,0x98,0x68, 0x00,0x00,0x70,0x88,0xF8,0x80,0x70, 0x30,0x48,0x40,0xF0,0x40,0x40,0x40, 0x00,0x00,0x78,0x88,0x78,0x08,0x70, 0x80,0x80,0xB0,0xC8,0x88,0x88,0x88, 0x20,0x00,0x60,0x20,0x20,0x20,0x70, 0x20,0x00,0x60,0x10,0x10,0x90,0x60, 0x40,0x40,0x48,0x50,0x60,0x50,0x48, 0x60,0x20,0x20,0x20,0x20,0x20,0x70, //l , ascii 6C 0x00,0x00,0xD0,0xA8,0xA8,0xA8,0xA8, 0x00,0x00,0xB0,0xC8,0x88,0x88,0x88, 0x00,0x00,0x70,0x88,0x88,0x88,0x70, //o , ascii 6F 0x00,0x00,0xF0,0x88,0xF0,0x80,0x80, //p , ascii 70 0x00,0x00,0x78,0x88,0x78,0x08,0x08, 0x00,0x00,0xB0,0xC8,0x80,0x80,0x80, 0x00,0x00,0x78,0x80,0x70,0x08,0xF0, 0x20,0x20,0x78,0x20,0x20,0x20,0x18, 0x00,0x00,0x88,0x88,0x88,0x98,0x68, 0x00,0x00,0x88,0x88,0x88,0x50,0x20, 0x00,0x00,0x88,0x88,0xA8,0xA8,0x50, // w , ascii 77 0x00,0x00,0x88,0x50,0x20,0x50,0x88, 0x00,0x00,0x88,0x88,0x78,0x08,0x70, 0x00,0x00,0xF8,0x10,0x20,0x40,0xF8, // z , ascii 7A 0x10,0x20,0x20,0x40,0x20,0x20,0x10, // { ,ascii 7B 0x20,0x20,0x20,0x00,0x20,0x20,0x20, // | ,ascii 7C
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 47
0x40,0x20,0x20,0x10,0x20,0x20,0x40, // } ,ascii 7D 0x40,0xA8,0x10,0x00,0x00,0x00,0x00 // ~ ,ascii 7E }; #define SH_CP PORTC.0 #define ST_CP PORTC.1 #define TIMEOUT 10000 void InitModem(void); unsigned char Rxmsg(void); void Txmsg(unsigned char *no, unsigned char *msg); void DelayMs(unsigned int count); void led_putsm(unsigned char *pt); void get_str(unsigned char *data , unsigned char len, unsigned int timeout); void send_cmd(flash unsigned char *cmd); void puts_delay(flash unsigned char *cmd); static volatile unsigned char ret=0,M_NO=0,str[150],mno1[150],mno2[150],mno3[150],mno4[150],mn[]="+919797727099"; eeprom volatile unsigned char flag_no1, flag_no2, flag_no3, flag_no4,mno1_e[150],mno2_e[150],mno3_e[150],mno4_e[150]; void main(void) { unsigned int i; unsigned char msg[200]="GSM WIRELESS NOTICE BOARD",init[]="MODEM INITIALIZING"; for(i=26;i<200;i++) {msg[i]='\0'; } PORTA=0x00; DDRA=0xFF; PORTB=0x00; DDRB=0xFF; PORTC=0xFF; DDRC=0x00; PORTD=0xFF; DDRD=0x00; // USART INITIALIZATION FOR BAUD RATE 9600 UCSRA=0x00; UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x33; // Modem initialization led_putsm(init); DelayMs(1000); InitModem();
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 48
// TO RETRIVE MESSAGES FROM EEPROM ON RESTART if(flag_no1==0) { for(i=0;i<150;i++) {mno1[i]=mno1_e[i];} mno1[i]='\0'; } if(flag_no2==0) { for(i=0;i<150;i++) {mno2[i]=mno2_e[i];} mno2[i]='\0'; } if(flag_no3==0) { for(i=0;i<150;i++) {mno3[i]=mno3_e[i];} mno3[i]='\0'; } if(flag_no4==0) { for(i=0;i<150;i++) {mno4[i]=mno4_e[i];} mno4[i]='\0'; } while (1) { ret=Rxmsg(); if(ret==4) { if(M_NO==1) strcpyf(str,"MESSAGE 1 SAVED"); if(M_NO==2) strcpyf(str,"MESSAGE 2 SAVED"); if(M_NO==3) strcpyf(str,"MESSAGE 3 SAVED"); if(M_NO==4) strcpyf(str,"MESSAGE 4 SAVED"); Txmsg(mn,str); } if(ret==5) { if(M_NO==1) strcpyf(str,"MESSAGE 1 DELETED"); if(M_NO==2)
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 49
strcpyf(str,"MESSAGE 2 DELETED"); if(M_NO==3) strcpyf(str,"MESSAGE 3 DELETED"); if(M_NO==4) strcpyf(str,"MESSAGE 4 DELETED"); Txmsg(mn,str); } if(ret==6) { if(M_NO==1) Txmsg(mn,mno1); if(M_NO==2) Txmsg(mn,mno2); if(M_NO==3) Txmsg(mn,mno3); if(M_NO==4) Txmsg(mn,mno4); } if(flag_no1==0) led_putsm(mno1); ret=Rxmsg(); if(ret==4) { if(M_NO==1) strcpyf(str,"MESSAGE 1 SAVED"); if(M_NO==2) strcpyf(str,"MESSAGE 2 SAVED"); if(M_NO==3) strcpyf(str,"MESSAGE 3 SAVED"); if(M_NO==4) strcpyf(str,"MESSAGE 4 SAVED"); Txmsg(mn,str); } if(ret==5) { if(M_NO==1) strcpyf(str,"MESSAGE 1 DELETED"); if(M_NO==2) strcpyf(str,"MESSAGE 2 DELETED"); if(M_NO==3) strcpyf(str,"MESSAGE 3 DELETED"); if(M_NO==4) strcpyf(str,"MESSAGE 4 DELETED"); Txmsg(mn,str); } if(ret==6)
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 50
{ if(M_NO==1) Txmsg(mn,mno1); if(M_NO==2) Txmsg(mn,mno2); if(M_NO==3) Txmsg(mn,mno3); if(M_NO==4) Txmsg(mn,mno4); } if(flag_no2==0) led_putsm(mno2); ret=Rxmsg(); if(ret==4) { if(M_NO==1) strcpyf(str,"MESSAGE 1 SAVED"); if(M_NO==2) strcpyf(str,"MESSAGE 2 SAVED"); if(M_NO==3) strcpyf(str,"MESSAGE 3 SAVED"); if(M_NO==4) strcpyf(str,"MESSAGE 4 SAVED"); Txmsg(mn,str); } if(ret==5) { if(M_NO==1) strcpyf(str,"MESSAGE 1 DELETED"); if(M_NO==2) strcpyf(str,"MESSAGE 2 DELETED"); if(M_NO==3) strcpyf(str,"MESSAGE 3 DELETED"); if(M_NO==4) strcpyf(str,"MESSAGE 4 DELETED"); Txmsg(mn,str); } if(ret==6) { if(M_NO==1) Txmsg(mn,mno1); if(M_NO==2) Txmsg(mn,mno2); if(M_NO==3) Txmsg(mn,mno3); if(M_NO==4)
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 51
Txmsg(mn,mno4); } if(flag_no3==0) led_putsm(mno3); ret=Rxmsg(); if(ret==4) { if(M_NO==1) strcpyf(str,"MESSAGE 1 SAVED"); if(M_NO==2) strcpyf(str,"MESSAGE 2 SAVED"); if(M_NO==3) strcpyf(str,"MESSAGE 3 SAVED"); if(M_NO==4) strcpyf(str,"MESSAGE 4 SAVED"); Txmsg(mn,str); } if(ret==5) { if(M_NO==1) strcpyf(str,"MESSAGE 1 DELETED"); if(M_NO==2) strcpyf(str,"MESSAGE 2 DELETED"); if(M_NO==3) strcpyf(str,"MESSAGE 3 DELETED"); if(M_NO==4) strcpyf(str,"MESSAGE 4 DELETED"); Txmsg(mn,str); } if(ret==6) { if(M_NO==1) Txmsg(mn,mno1); if(M_NO==2) Txmsg(mn,mno2); if(M_NO==3) Txmsg(mn,mno3); if(M_NO==4) Txmsg(mn,mno4); } if(flag_no4==0) led_putsm(mno4); } } // Delay mS function// void DelayMs(unsigned int count)
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 52
{ unsigned int i; // mSec Delay 8 Mhz while(count) { i = 100; while(i>0) i--; count--; }} // Modem initialization subroutine// void InitModem(void) { send_cmd("ATE0"); // ATE0 sending to turn off the echo delay_us(1000); send_cmd("AT+CMGF=1"); // sending AT+CMGF to set the text mode delay_us(1000); send_cmd("AT+CMGD=1,1"); // sending AT+CMGD to delete all messages which are read delay_us(1000); } // to recieve string at serial port void get_str(unsigned char *data , unsigned char len, unsigned int timeout) { unsigned char i; unsigned int j; for(i=0;i<len;i++) // Command to recv data { j=0; while ((UCSRA & (1<<RXC))==0) { if(j>=timeout) goto out; delay_us(50); } data[i]=UDR; } out: data[i]='\0'; delay_us(100); } // Send command to check the connectivity of modem void send_cmd(flash unsigned char *cmd) { unsigned char buff[10]; unsigned int i=0; puts_delay(cmd); delay_us(1000); putchar(0x0d); // Enter
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 53
get_str(buff,10,TIMEOUT); // Receiving Response for(i=0;i<10;i++) { if(buff[i]=='O' && buff[i+1]=='K') return; } } void puts_delay(flash unsigned char *cmd) { unsigned int i=0; while(cmd[i]!='\0') { putchar(cmd[i]); delay_us(1000); i++; }} // Recieve message subroutine unsigned char Rxmsg(void) { unsigned char ret=0; unsigned int i=0,j=0; unsigned char c[200]; // Array for received message for(i=0;i<200;i++) // clear the array c[i]='\0'; puts_delay("AT+CMGR=1"); delay_us(100); putchar(0x0d); // Enter get_str(c,200,TIMEOUT); //led_putsm(c); for(i=0;i<5;i++) //command to recv data { if((c[i]=='O') || (c[i]=='K') || (c[i]=='E') || (c[i]=='R')) return ret; } for(i=0;i<80;i++) { if((c[i]=='R') && (c[i+1]=='E') && (c[i+2]=='A') && (c[i+3]=='D')) goto sucess1; } return ret; sucess1: for(i=0;i<200;i++) // Command to recv data { // to save messages
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 54
if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='S') && (c[i+7]=='1')) { M_NO=1; goto sucess2; } if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='S') && (c[i+7]=='2')) { M_NO=2; goto sucess2; } if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='S') && (c[i+7]=='3')) { M_NO=3; goto sucess2; } if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='S') && (c[i+7]=='4')) { M_NO=4; goto sucess2; } // to delete messages if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='D') && (c[i+7]=='1')) { M_NO=1; flag_no1=1; ret=5; goto delete; } if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='D') && (c[i+7]=='2')) { M_NO=2; flag_no2=1; ret=5; goto delete; } if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='D') && (c[i+7]=='3')) { M_NO=3; flag_no3=1;
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 55
ret=5; goto delete; } if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='D') && (c[i+7]=='4')) { M_NO=4; flag_no4=1; ret=5; goto delete; } // to retrieve messages if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='M') && (c[i+7]=='1')) { M_NO=1; flag_no1=1; ret=6; goto delete; } if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='M') && (c[i+7]=='2')) { M_NO=2; flag_no2=1; ret=6; goto delete; } if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='M') && (c[i+7]=='3')) { M_NO=3; flag_no3=1; ret=6; goto delete; } if((c[i]=='2') && (c[i+1]=='4') && (c[i+2]=='6') && (c[i+3]=='8') && (c[i+4]=='0') && (c[i+5]==' ') && (c[i+6]=='M') && (c[i+7]=='4')) { M_NO=4; flag_no4=1; ret=6; goto delete; }} goto delete; sucess2:
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 56
i=i+8; if(M_NO==1 && flag_no1!=0) { j=0; while(c[i]!='O' && c[i+1]!='K') { mno1[j]=c[i]; mno1_e[j]=c[i]; i++; j++; if(j>160) break; } for(j;j<160;j++) { mno1[j]='\0'; mno1_e[j]='\0'; } flag_no1=0; ret=4; goto delete; } if(M_NO==2 && flag_no2!=0) { j=0; while(c[i]!='O' && c[i+1]!='K') { mno2[j]=c[i]; mno2_e[j]=c[i]; i++; j++; if(j>160) break; } for(;j<160;j++) { mno2[j]='\0'; mno2_e[j]='\0'; } flag_no2=0; ret=4; goto delete; } if(M_NO==3 && flag_no3!=0) { j=0;
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 57
while(c[i]!='O' && c[i+1]!='K') { mno3[j]=c[i]; mno3_e[j]=c[i]; i++; j++; if(j>160) break; } for(;j<160;j++) { mno3[j]='\0'; mno3_e[j]='\0'; } flag_no3=0; ret=4; goto delete; } if(M_NO==4 && flag_no4!=0) { j=0; while(c[i]!='O' && c[i+1]!='K') { mno4[j]=c[i]; mno4_e[j]=c[i]; i++; j++; if(j>160) break; } for(;j<160;j++) { mno4[j]='\0'; mno4_e[j]='\0'; } flag_no4=0; ret=4; goto delete; } delete: send_cmd("AT+CMGD=1,1"); // sending AT+CMGD to delete message return ret; } void puts_delay_ram(unsigned char *cmd)
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 58
{ unsigned int i=0; while(cmd[i]!='\0') { putchar(cmd[i]); delay_us(1000); i++; } } // to transmit message serially void Txmsg(unsigned char *no, unsigned char *msg) { unsigned char buff[20]; unsigned int i=0; puts_delay("AT+CMGS=\""); puts_delay_ram(no); delay_us(100); putchar('"'); delay_us(100); putchar(0x0d); get_str(buff,20,TIMEOUT); puts_delay_ram(msg); putchar(26); get_str(buff,20,TIMEOUT); for(i=0;i<20;i++) //command to recv data { if(buff[i]=='+' && buff[i+1]=='C' && buff[i+2]=='M' && buff[i+3]=='G') return; } } // DISPLAYS SINGLE CHARACTER void led_putchar(unsigned char ch) { unsigned char j,n,r; unsigned int p; for(p=0;p<500;p++) { for(j=0;j<7;j++) { PORTA=0; for(r=0;r<66;r++) { SH_CP=0; SH_CP=1; }
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 59
PORTA=data[ch][j]; for(n=0;n<5;n++) { SH_CP=0; SH_CP=1; PORTA=PORTA<<1; } ST_CP=0; ST_CP=1; PORTB=1<<j; }}} // FOR SCROLLING SCROLLING DISPLAY void led_putsm(unsigned char *pt) { unsigned char j,k,l,m,n,o,q,r,t; unsigned int p,i,s=0; unsigned char *pt1=pt,*pt2=pt; s=0; while(*pt1!='\0') { s++; pt1++; } for(i=0;i<s*8;i++) { l=i/5; m=i%5; if(l>7) { q=l-7; t=8; } else { q=0; t=l;} for(p=0;p<200;p++) { for(j=0;j<7;j++) { PORTA=0; for(r=0;r<66;r++) { SH_CP=0; SH_CP=1; } pt2=pt+q; for(k=0;k<t;k++)
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 60
{ PORTA=data[*pt2][j]; for(n=0;n<6;n++) { SH_CP=0; SH_CP=1; PORTA=PORTA<<1; } pt2++; } PORTA=data[*pt2][j]; for(o=0;o<m;o++) { SH_CP=0; SH_CP=1; PORTA=PORTA<<1; } ST_CP=0; ST_CP=1; PORTB=0x40>>j; }}}} }}
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 61
7.2 Message Security
In this system anybody in possession of the contact number of SIM connected in GSM
modem. So if everybody knows the SIM contact number, then any one can send the
message to the SIM and controller will draw pattern according to message on LED screen,
and system can become problem as every has access to it and can display any message that
he/she wanted. So, to save system form the attacks we need to add something more owing
to the Security of message. So, not only message but a short code also need to be send as
prefix to message. So, GSM Modem may receive the message but controller will display
only if the prefix code matches to the one in Controller. In this way unauthorized access
can be avoided. Figure 7.1 shows the messaging way.
AUTHENTICATION CODE DATA to be displayed
Complete Message to be sent from Mobile for access
Figure 7.1: Message components
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 62
Chapter 8 CONCLUSION AND FUTURE WORK
8.1 Conclusion
The aim of this project was to create an electronic notice board to which data can be sent
through SMS. This project has capability to be used at school, colleges and various public
places including bus stand, airport and railway station for displaying notices. Besides this
the project can be used along the roads to convey and control the traffic movement.
Our project can be used at schools and colleges. These receiving end notice board system
including GSM Modem can be embedded at different places in school and college.
Whenever a message needs to be conveyed to all, what you need to do is just to SMS the
message to the SIM in GSM Modem which is connected to the Notice Board. So, this any
professor can SMS it the message to be conveyed like urgent gathering of class students at
seminar hall. By this way we are avoiding paper work in notices and effort of employees
to go to attach notices on board.
At Bus Stands, Airports and Railway station where huge number of passengers are
available, so they need to be conveyed about the arrival of Bus, Train and Flight. Notice
Boards are already in existence at these places, but wired. So further enhance can be made
to them.
This project can be used along the roads to convey condition of road or traffic ahead. So
that traffic movement can be controlled and jams can be averted. As a VVIP may be coming
from a side of road so rest of vehicles travelling on that said may be asked to change the
way or be on one side to clear way for the convey.
8.2 FUTURE SCOPE
This project has scope for improvement and many enhancements can be made to make it
more reliable and interesting. For example, when message is received it can be used to
authenticate the sender with the contact number and access only to few available. Hence
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 63
the unauthorized access to this system can be easily averted. Moreover, better resolution
of LED Display with reliability can be used for the better view. A sounding Alarm can be
used to indicate the message arrival to GSM modem, so whenever new comes all are
attentive.
All this will be possible, however, only through innovation, hard work and above all
proper use of technology.
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 64
REFERENCES
[1] The 8051 Microcontroller And Embedded Systems Using Assembly And
C,
Author: Muhammad Ali Mazidi
[2] AVR Microcontroller and Embedded Systems, Author: Muhammad Ali
Mazidi
[3] Digital Electronics, Author: Moris Mano
[4] SIM900 AT Commands Sheet
[5] ULN 2003 Data Sheet
[6] 74HC595 Data Sheet
[7] http://www.nowsms.com/faq/what-is-a-gsm-modem
[8] http://www.developershome.com/sms/GSMModemIntro.asp
[9]
http://en.wikipedia.org/wiki/Synchronous_serial_communication#cite_no
te-2
[10] http://wcscnet.com/Tutorials/SerialComm/Page1.htm
[11] http://www.developershome.com/sms/operatingMode2.asp
[12] http://electrotech99.blogspot.in/2011/02/difference-between-pdu-
mode-and- text.html
[13] http://www.techrepublic.com/article/step-by-step-how-to-use-the-
hyperterminal-tool-to-troubleshoot-modem-problems/
[14] http://en.wikipedia.org/wiki/Light-emitting_diode
[15] http://www.illinoislighting.org/lightcolor.html
[16] http://www.fpga4fun.com/Opto5.html
[17] https://www.schukat.com
GSM Based Wireless Notice Board
ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 65
[18] http://www.diytrade.com/china/pd/4838394/7_50pixel_blue_dot_matr
ix_led_moving_sign.html
[19] http://www.engineersgarage.com/contribution/what-is-smps
[20] LM2576 Data Sheet
[21] http://www.eleccircuit.com/the-main-principle-of-buck-dc-to-dc-
converters/
Recommended