Beruflich Dokumente
Kultur Dokumente
h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);
#define L1 4 //KEY
int buzzer=3;
int sms_count=0;
int i=0,k=0,J=0;
int gps_status=0;
float latitude=0;
float longitude=0;
String Speed="";
String gpsString="";
char *test="$GNRMC";
String input1,input2,input3;
String input4,input5,input6;
void clear1()
{
for(i=0;i<10;i++)
input1="\0";
void setup()
pinMode(buzzer, OUTPUT);
pinMode(m1, OUTPUT);
digitalWrite(m1, LOW);
digitalWrite(buzzer, LOW);
pinMode(L1, INPUT);
digitalWrite(L1, HIGH);
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,1);
delay(5000);
Serial.begin(9600);
mySerial.begin(9600);
gps.begin(9600);
void loop()
get_gps();
show_coordinate();
delay(2000);
if(!digitalRead(L1))
lcd.clear();
lcd.setCursor(0,0);
lcd.print("IGNITION ON");
delay(500);
if(Serial.available()>0)
int start,sto;
input3=Serial.readString();
start=input3.indexOf("@")+1;
sto=input3.indexOf("*");
input1=input3.substring(start, sto);
input2=input3.substring(9,22);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(input1);
delay(1000);
if(mySerial.available()>0)
int startgsm,stogsm;
input6=mySerial.readString();
startgsm=input6.indexOf("@")+1;
stogsm=input6.indexOf("*");
input4=input6.substring(startgsm, stogsm);
input5=input6.substring(9,22);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(input4);
delay(1000);
if(input4=="TRACK")
{
lcd.clear();
lcd.setCursor(0,0);
lcd.setCursor(0,1);
lcd.print("TRACK");
delay(1000);
lcd.clear();
lcd.setCursor(0,1);
delay(2000);
gps.begin(9600);
get_gps();
show_coordinate();
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SMS SENDING");
delay(1000);
delay(200);
mySerial.print("Latitude:");
mySerial.println(latitude);
delay(500);
mySerial.print(" longitude:");
mySerial.println(longitude);
delay(500);
mySerial.print("http://www.google.com/maps/place/");
mySerial.print(latitude);
mySerial.print(",");
mySerial.print(longitude);
delay(5000);
lcd.setCursor(0,1);
lcd.print("SMS SENT");
if(input4=="BLOCK")
lcd.clear();
lcd.setCursor(0,0);
lcd.setCursor(0,1);
lcd.print("BLOCK");
digitalWrite(m1, HIGH);
delay(1000);
while(1);
if(input1=="HW")
digitalWrite(m1, HIGH);
lcd.clear();
lcd.setCursor(0,0);
delay(1000);
clear1();i=0;
if(input1=="HNW")
lcd.clear();
lcd.setCursor(0,0);
lcd.print("HELMET : NO ");
delay(1000);
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
digitalWrite(m1, LOW);
clear1();i=0;
}
if(input1=="HAL")
digitalWrite(m1, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ALCOHOL HIGH");
digitalWrite(buzzer, HIGH);
delay(1000);
digitalWrite(buzzer, LOW);
delay(3000);
delay(2000);
gps.begin(9600);
get_gps();
show_coordinate();
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SMS SENDING");
mySerial.println("AT+CMGS=\"+919985557190\"\r"); // change to the phone number you using
delay(2000);
delay(200);
mySerial.print("http://www.google.com/maps/place/");
mySerial.print(latitude);
mySerial.print(",");
mySerial.print(longitude);
delay(5000);
lcd.setCursor(0,1);
lcd.print("SMS SENT");
sms_count++;
delay(2000);
clear1();i=0;
while(1);
else
lcd.clear();
lcd.setCursor(0,0);
lcd.print("VEHICLE STOP");
delay(1000);
void gpsEvent()
gpsString="";
while(1)
gpsString+= inChar; //store incoming data from GPS to temparary string str[]
i++;
Serial.print(inChar);
if (i < 7)
i=0;
gpsString="";
if(inChar=='\r')
{
if(i>60)
gps_status=1;
break;
else
i=0;
if(gps_status)
break;
void get_gps()
lcd.clear();
lcd.setCursor(0,1);
lcd.print("PLEASE WAIT.....");
gps_status=0;
int x=0;
while(gps_status==0)
{
gpsEvent();
int str_lenth=i;
coordinate2dec();
i=0;x=0;
str_lenth=0;
void show_coordinate()
lcd.clear();
lcd.print("Lat:");
lcd.print(latitude);
lcd.setCursor(0,1);
lcd.print("Log:");
lcd.print(longitude);
Serial.print("Latitude:");
Serial.println(latitude);
Serial.print("Longitude:");
Serial.println(longitude);
// Serial.print("Speed(in knots)=");
// Serial.println(Speed);
delay(2000);
/* lcd.clear();
lcd.print("Speed(Knots):");
lcd.setCursor(0,1);
lcd.print(Speed);*/
void coordinate2dec()
String lat_degree="";
for(i=19;i<=23;i++)
lat_degree+=gpsString[i];
String lat_minut="";
for(i=24;i<=28;i++)
lat_minut+=gpsString[i];
String log_degree="";
for(i=32;i<=34;i++)
log_degree+=gpsString[i];
String log_minut="";
for(i=37;i<=41;i++)
log_minut+=gpsString[i];
Speed="";
minut=minut/60;
float degree=lat_degree.toFloat();
latitude=degree+minut;
minut= log_minut.toFloat();
minut=minut/60;
degree=log_degree.toFloat();
longitude=degree+minut;