gsm based wireless notice board rajneesh

65
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

Upload: rajneesh-kumar-salgotra

Post on 19-Jun-2015

1.464 views

Category:

Engineering


18 download

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 [email protected] with Subject GSM Wireless Notice Board Report_Your Name

TRANSCRIPT

Page 1: Gsm based wireless notice board Rajneesh

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

Page 2: Gsm based wireless notice board Rajneesh

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,

Page 3: Gsm based wireless notice board Rajneesh

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

Page 4: Gsm based wireless notice board Rajneesh

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

Page 5: Gsm based wireless notice board Rajneesh

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

Page 6: Gsm based wireless notice board Rajneesh

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.

Page 7: Gsm based wireless notice board Rajneesh

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

Page 8: Gsm based wireless notice board Rajneesh

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:

Page 9: Gsm based wireless notice board Rajneesh

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

Page 10: Gsm based wireless notice board Rajneesh

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.

Page 11: Gsm based wireless notice board Rajneesh

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.

Page 12: Gsm based wireless notice board Rajneesh

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.

Page 13: Gsm based wireless notice board Rajneesh

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.

Page 14: Gsm based wireless notice board Rajneesh

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.

Page 15: Gsm based wireless notice board Rajneesh

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.

Page 16: Gsm based wireless notice board Rajneesh

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]

Page 17: Gsm based wireless notice board Rajneesh

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.

Page 18: Gsm based wireless notice board Rajneesh

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

Page 19: Gsm based wireless notice board Rajneesh

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

Page 20: Gsm based wireless notice board Rajneesh

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

Page 21: Gsm based wireless notice board Rajneesh

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.

Page 22: Gsm based wireless notice board Rajneesh

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

Page 23: Gsm based wireless notice board Rajneesh

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].

Page 24: Gsm based wireless notice board Rajneesh

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))

Page 25: Gsm based wireless notice board Rajneesh

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

Page 26: Gsm based wireless notice board Rajneesh

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]

Page 27: Gsm based wireless notice board Rajneesh

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]

Page 28: Gsm based wireless notice board Rajneesh

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.

Page 29: Gsm based wireless notice board Rajneesh

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]

Page 30: Gsm based wireless notice board Rajneesh

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

Page 31: Gsm based wireless notice board Rajneesh

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

Page 32: Gsm based wireless notice board Rajneesh

GSM Based Wireless Notice Board

ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 32

Figure 4.6(a): Character Patterns

Page 33: Gsm based wireless notice board Rajneesh

GSM Based Wireless Notice Board

ELECTRONICS & COMMUNICATION ENGINEERING, NIT SRINAGAR 33

Figure 4.6(b): Character Patterns

Page 34: Gsm based wireless notice board Rajneesh

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.

Page 35: Gsm based wireless notice board Rajneesh

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

Page 36: Gsm based wireless notice board Rajneesh

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.

Page 37: Gsm based wireless notice board Rajneesh

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

Page 38: Gsm based wireless notice board Rajneesh

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.

Page 39: Gsm based wireless notice board Rajneesh

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

Page 40: Gsm based wireless notice board Rajneesh

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

Page 41: Gsm based wireless notice board Rajneesh

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]

Page 42: Gsm based wireless notice board Rajneesh

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

Page 43: Gsm based wireless notice board Rajneesh

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

Page 44: Gsm based wireless notice board Rajneesh

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

Page 45: Gsm based wireless notice board Rajneesh

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

Page 46: Gsm based wireless notice board Rajneesh

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

Page 47: Gsm based wireless notice board Rajneesh

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();

Page 48: Gsm based wireless notice board Rajneesh

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)

Page 49: Gsm based wireless notice board Rajneesh

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)

Page 50: Gsm based wireless notice board Rajneesh

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)

Page 51: Gsm based wireless notice board Rajneesh

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)

Page 52: Gsm based wireless notice board Rajneesh

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

Page 53: Gsm based wireless notice board Rajneesh

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

Page 54: Gsm based wireless notice board Rajneesh

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;

Page 55: Gsm based wireless notice board Rajneesh

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:

Page 56: Gsm based wireless notice board Rajneesh

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;

Page 57: Gsm based wireless notice board Rajneesh

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)

Page 58: Gsm based wireless notice board Rajneesh

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; }

Page 59: Gsm based wireless notice board Rajneesh

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++)

Page 60: Gsm based wireless notice board Rajneesh

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; }}}} }}

Page 61: Gsm based wireless notice board Rajneesh

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

Page 62: Gsm based wireless notice board Rajneesh

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

Page 63: Gsm based wireless notice board Rajneesh

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.

Page 64: Gsm based wireless notice board Rajneesh

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

Page 65: Gsm based wireless notice board Rajneesh

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/