13-09-2014, 12:02 AM
GSM Notice Board Using PIC Circuit Diagram
Below figure shows GSM notice board using PIC diagram.
GSM Notice board Circuit diagram GSM Based Digital Wireless Notice Board Using PIC16F877A Microcontroller
Components Required for GSM Notice Board Using PIC Microcontroller
PIC16F877A
Transistor BC548
Resistor (1KΩ, 10KΩ)
POT (10K)
Capacitor (33pfx2, 10µF)
Crystal (11.0592MHz)
LCD 16×2
GSM Modem
Push button
Buzzer
Working of GSM Notice Board
GSM Modem is used to receive SMS, which is controlled by PIC.
When the system is ON then PIC will initialize GSM, by sending commands to make the modem in text mode.
Same time it controls display which is connected on PORTB in 4 bit mode.
LCD display shows “GSM is initializing“, after initialization it show “Waiting for SMS“.
When a message is received GSM module starts with this kind of format CMT:[Mob No]:[time]: [Message].
After detecting CMT it waits to receive ‘$’, I used ‘$’ sign to indicate starting of the message that is to be displayed on the notice board, because GSM modem sends more data which includes received message time, sender number etc. like CMT:[Mob No]:[Time]:[Message].
For our simplicity I used ‘$’ to enclose the message so our message will be [$ Message content $]. PIC will filter them between two ‘$’ signs.
The default infinite loop will break only when ‘$’ sign is received, after receiving ‘$’ it stores the content of the message on the array named as INFO.
To display the received message content on the LCD, it has to store on two separate arrays for two lines of LCD named as line1 and line2 variables.
Ending of the message content is indicated by another ‘$’ sign, when storing message content on the array INFO will continually check whether the received character is ‘$’ or not; to break the ‘for loop’ if ‘$’ is received.
Here I used 16×2 LCD which has two rows and 16 columns, the arrays line1 and line2 is used to display the content on two rows.
The message content is fist stored on INFO, later it will be spited into two variables (Line1 and Line2).
Line1 and line2 are 16bit long, those are message content stored by using ‘for loop’.
Once storing of line1 and line2 has done LCD shows “SMS RECEIVED” on first row and “UPDATING” on second row.
Then it sets 2nd bit of PORTD to make audio alert, a buzzer is connected through transistor BC548. It will wait for 2 second and it resets 2nd bit of PORTD, thus buzzer will turn OFF.
After the line1 and line2 are displayed on the LCD, it wait for next message.
The content in the LCD module updates on receiving next SMS.