You are on page 1of 25

APPENDIX

APPENDIX-I
DATA SHEET






MAR BASELIOS INSTITUTE OF TECHNOLOGY AND SCIENCE,
NELLIMATTOM P.O, KOTHAMANGALAM, KERALA


BONAFIDE CERTIFICATE


Certified that this project report on INTELLIGENT MOBILE
ADVERTISEMENT SYSTEM is the bonafide report of the project work done by,
ANOOP P S(Regno:10009599), BIBIN JOSEPH(Regno:10009610), DILEEP
JOHN(Regno:10009614) SUJITH M(Regno:10009650) in partial fulfillment for the
requirement of the award of Bachelor of Technology in Electronics and Communication
Engineering of Mahatma Gandhi University, Kottayam Kerala.

Project Guide Head of the Department

Internal Examiner External Examiner
MAR BASELIOS INSTITUTE OF TECHNOLOGY AND SCIENCE,
NELLIMATTOM P.O, KOTHAMANGALAM, KERALA

MAIN PROJECT REPORT - APRIL 2014
INTELLIGENT MOBILE ADVERTISEMENT SYSTEM
Submitted by
ANOOP P S(10009599)
BIBIN JOSEPH(10009610)
DILEEP JOHN(10009614)
SUJITH M(10009650)

I n partial fulfillment for the award of the degree Of
BACHELOR OF TECHNOLOGY
IN
ELECTRONICS AND COMMUNICATION ENGINEERING





Fig :Flow Chart

ACKNOWLEDGEMENT

I take this opportunity to thank all those whose persistent contributions and
suggestions have helped me in completing the project.
First and foremost, I sincerely thank god almighty for his grace for this complete of
our project. The support and help of a few people not only enabled us to complete our
project, but also made it worthwhile experience.
I am grateful to our beloved principal Dr. M.M. Paulose and Head of the department,
Prof. Johnny Joseph, for providing various facilities for doing this project in our college
itself.
I am extremely grateful to Asst.Prof. Albert Jose and Asst.Prof. Jinju Joy, guides in-
charge of our main project for their valuable guidance without which this project would
never have been possible.
Finally I would like to acknowledge the commitments, criticism, co-operation, and
enduring support and prayers of my parents and friends, which was inevitable for a work
like this.
Last but not the least I am thankful to every other members in this project group for
being co-operative, patient and hardworking for the successful completion of this project.





iii





APPENDIX-II
PROGRAM
PROGRAM
#include<pic.h>
#include "lcd4bit.h"
#define _XTAL_FREQ 20000000
#define SRL_PRINT(chr) {TXREG=chr; while(!TRMT);}
#define SW RB1
#define GSM 0
#define GPS 1
#define SWITCH(h) {SW=h; __delay_ms(1);}

void puts(const char*);
void gpsval_todeg() ;
void degto_char();
void gprs_init();
/*lcd_word(location(0,1,..),"content to display")
lcd_number(content,no fo no:s)
lcd_send(0,command,0)for sending command and
lcd_send(1,char val,0)for sendg single character and third zero reps 4bit
or 8 bit 1 for 8 bit
*/
//(http://webgui.asia/WebGui/IMAS/locationUpdates.jsp?lat=9.968500876&lon=7
6.36581123)


unsigned char gps_src[26],lat[7],lon[7],ad1[16],ad2[16]; //gps module
float deg_val_latt=0,deg_val_long=0;
unsigned char rcv_val,access=0,access2=0,i=0,j=0,z=0;
bit status,flag,adf1,adf2;
unsigned int temp1=0,temp2=0;
float tempf1=0,tempf2=0;

void interrupt isr()
{
if(RCIF==1)
{
RCIF=0;
rcv_val=RCREG;
if(!status)
{

if((rcv_val=='R')&&(access==0)) access=1;

else if((rcv_val==',')&&(access==1)) access=2;

else if((rcv_val==',')&&(access==2)) access=3;

else if(access==3)
{ gps_src[i++]=rcv_val; }

if(i>25)
{ i=0; access=0; status=1;}

}

if(flag)
{
if((rcv_val=='1')&&(access==0)) {access=1;}
else if((rcv_val=='*')&&(access==1)) {access=2;}
else if(access==2)
{ad1[j++]=rcv_val;}

if(ad1[j-1]=='$') {j=0;access=0;flag=0;adf1=1;}

}
}
}


main()
{

TRISC=0x80;TRISD=0x00;TRISB=0x00;PORTB=0;PORTD=0;
SPEN=1;TXEN=1;BRGH=1;SPBRG=129;CREN=1;SYNC=0;
unsigned char k,m;
GIE=1;PEIE=1;RCIE=1;
SWITCH(GSM);
lcd_init();
lcd_send(0,0x85);
lcd_send(1,'I');lcd_send(1,'M');lcd_send(1,'A');lcd_send(1,'S');
gprs_init();

status=0;

while(1)
{
SWITCH(GPS);
while(status==0);
while(gps_src[0]!='A')
{
lcd_send(0,0x85);
lcd_send(1,'!');lcd_send(1,'G');lcd_send(1,'P');lcd_send(1,'S');
status=0;
}
lcd_send(0,0x85);
lcd_send(1,'G');lcd_send(1,'P');lcd_send(1,'S');lcd_send(1,'
');lcd_send(1,'O');lcd_send(1,'K');
__delay_ms(200);

gpsval_todeg(); //to convert character to intiger
valu in degrees..
degto_char(); //convert back lat in degree to
characters to send by usa
flag=1;
SWITCH(GSM);
puts("AT+CIPSTART=\"TCP\",\"www.webgui.asia\",\"80\"\r");
for(m=0;m<10;m++)
__delay_ms(200);
puts("AT+CIPSEND \r");
__delay_ms(1000);
puts("GET
http://webgui.asia/WebGuis/IMAS/locationUpdates.jsp?lat=");
for(k=0;k<7;k++)
{
SRL_PRINT(lat[k]);
}
puts("&lon=");
for(k=0;k<7;k++)
{
SRL_PRINT(lon[k]);
}
puts(" HTTP/1.0");
SRL_PRINT(0x0D) ;
__delay_ms(50);
SRL_PRINT(0x0A) ;
__delay_ms(50);
SRL_PRINT(0x0A) ;
__delay_ms(50);
SRL_PRINT(0x0A) ;
__delay_ms(50);
SRL_PRINT(0x1A);
__delay_ms(50);

while(flag==1);
if(adf1)
{
lcd_send(0,0xc0);
lcd_word(20," ");
lcd_send(0,0xc0);
for(k=0;ad1[k]!='#';k++)
lcd_send(1,ad1[k]);
k++;
__delay_ms(7000);
if(ad1[k]=='2')
{
k+=2;
lcd_send(0,0xc0);
lcd_word(20," ");
lcd_send(0,0xc0);
while(ad1[k]!='#')
{

lcd_send(1,ad1[k]);
k++;
}
__delay_ms(7000);
}
adf1=0;

}


__delay_ms(7000);
status=0;

//while(1);


}

}

void gpsval_todeg() //fn to get src latt and long values from gps
data
{
//////////////////////////////latt////////////////////////////////////////
temp1=((gps_src[2]-0x30)*10)+(gps_src[3]-0x30); //10
temp2=(((gps_src[7]-0x30)*1000)+((gps_src[8]-0x30)*100)+((gps_src[9]-
0x30)*10)+(gps_src[10]-0x30));
tempf1=temp2/10000;
//.6528
temp2=(((gps_src[4]-0x30)*10)+(gps_src[5]-0x30)); //16
tempf1=temp2+tempf1;
tempf1=tempf1/60;

deg_val_latt=temp1+tempf1;
if(gps_src[12]=='S'){ deg_val_latt*=-1;}


///////////////////////////////long/////////////////////////////
temp1=((gps_src[14]-0x30)*100)+((gps_src[15]-0x30)*10)+(gps_src[16]-
0x30);
temp2=(((gps_src[20]-0x30)*1000)+((gps_src[21]-
0x30)*100)+((gps_src[22]-0x30)*10)+(gps_src[23]-0x30));
tempf1=temp2/10000;
temp2=((gps_src[17]-0x30)*10)+(gps_src[18]-0x30);
tempf1=temp2+tempf1;
tempf1=tempf1/60;

deg_val_long=temp1+tempf1;
if(gps_src[25]=='W'){ deg_val_long*=-1;}

}



void puts(const char *ptr)
{
while(*ptr)
{
TXREG=*ptr;
while(TRMT==0);
ptr++;
}
}

void degto_char()
{
int val=0,val2=0;
float val1=0;
int a[3],b[4],m=0,n=0;
a[0]=0;a[1]=0;a[2]=0;b[0]=0;b[1]=0;b[2]=0;b[3]=0;
lat[0]='0';lat[1]='0';lat[2]='0';lat[3]='0';lat[4]='0';lat[5]='0';lat[6]='0';
lon[0]='0';lon[1]='0';lon[2]='0';lon[3]='0';lon[4]='0';lon[5]='0';lon[6]='0';

val=deg_val_latt;
val1=deg_val_latt-val;
val2=val1*10000;
while(val!=0)
{
a[m++]=val%10;
val=val/10;
}
m=0;
while(val2!=0)
{
b[m++]=val2%10;
val2=val2/10;
}

for(m=1;m>=0;m--)
{
lat[n++]=a[m]+'0';
}
lat[n]='.';
n++;
for(m=3;m>=0;m--)
{
lat[n++]=b[m]+'0';
}
m=0;n=0;

val=deg_val_long;
val1=deg_val_long-val;
val2=val1*10000;
while(val!=0)
{
a[m++]=val%10;
val=val/10;
}
m=0;
while(val2!=0)
{
b[m++]=val2%10;
val2=val2/10;
}

for(m=1;m>=0;m--)
{
lon[n++]=a[m]+'0';
}
lon[n]='.';
n++;
for(m=3;m>=0;m--)
{
lon[n++]=b[m]+'0';
}

}

void gprs_init()
{
i=0;
unsigned char j,n;

puts("AT\r");
__delay_ms( 200 );
puts("ATE0\r");
__delay_ms( 200 );
puts("AT+CGATT=1\r");
__delay_ms( 500 );
puts("AT+CGDCONT=1,\"IP\",\"bsnlnet\"\r");
__delay_ms( 500 );
puts("AT+CSTT=\"bsnlnet\",,\r");
__delay_ms(1000);
puts("AT+CIICR \r");
for(n=0;n<10;n++)
__delay_ms( 2000 );
puts("AT+CIFSR\r");
__delay_ms( 200 );
puts("AT+CIPSTATUS\r");
__delay_ms(200 );
puts("AT+CIPHEAD=1\r");
__delay_ms( 200 );
lcd_send(0,0x01);
lcd_word(0,"GPRS INITIALISED");
lcd_send(0,0xc0);
lcd_word(20," SUCCESsFULLY");
__delay_ms(1000);
lcd_send(0,0x01);

}

LIST OF FIGURES

FIGURE NO TITLE PAGE NO

1. BLOCK DIAGRAM 2
2. PIC16F877 MICROCONTROLLER 4
3. GSM MODULE 6
4. CIRCUIT DIAGRAM 8
5. INTERNAL CIRCYIT FOR MAX 232 17
6. BASIC FUNCTION OF GPS 18
7. GPS SATELLITE ORBITS 20
8. DETERMINING TRANSIT TIME 21
9. POSITION OF RECEIVER 22
10. POSITION DETERMINATION 23
11. PCB LAYOUT 28
12. OUTPUT 29






i
CONTENTS

CHAPTER NO TITLE PAGE NO

1. INTRODUCTION 1
2. BLOCK DIAGRAM 2
2.1. PIC16F877 CONTROLLER 3
2.2. LCD DISPLAY 5
2.3. GSM MODULE (SIM 900) 6
3. CIRCUIT DIAGRAM 8
3.1. CIRCUIT DESCRIPTION 8
3.1.1. PIC MICRO CONTROLLER 9
3.1.2. MAX 232 16
3.1.3. GPS 17
3.2. PCB DESIGN AND FABRICATION 22
3.2.1. PCB DESIGN 22
3.2.2.PCB FABRICATION 22
3.2.3. SOLDERING 22
3.3. PCB LAYOUT 27
3.4. RESULT 28

4. APPLICATIONS 29
5. FUTURE ENHANCEMENT 29

REFERENCE
APPENDIX

You might also like