Instructables
loading
loading
Picture of Athena: The Global Car Tracking System(3D Images)
3D Intro.jpg
100_0813.JPG
3D 100_0813.jpg
100_0811.JPG
3D 100_0811.jpg
100_0810.JPG
3D 100_0810.jpg
Bring out your 3D glasses and enjoy viewing in a novel way! I have added a new dimension to my instructable. If you do not have 3D glasses, then you can make one yourself. The following link explains how to make 3D glasses ( link ).

Please Note: This instructable contains 3D images which are best viewed with Red and Cyan 3D Glasses. However, for those of you who do not have 3D glasses, this instructable also contains 2D images.




Every year about 700,000 vehicles get stolen in US. In fact, a car is stolen every 45 seconds.

We all love our cars and whether it is a roaring Lamborghini or a purring Prius, we are attached to it and wish that it never gets stolen.

I am very attached to my family car and take lots of precaution that I do not park my car in secluded places or double check that I always lock my car when I park it anywhere and always carry my car keys with me. However, I am still worried whether my car is safe. In order to get rid of these genuine worries, I decided to design my own low cost car tracking system.

In this instructable, I have explained the process of building one's very own Global Car Tracking System -'Athena' - for a cost of just 100$. The steps for building this device is very simple and explained in a lucid manner. The skills required for you to build this is minimum (Basic knowledge about electronics and the Arduino IDE).

I have christened this device by the name 'Athena' because Athena is the Greek Goddess of navigation. 

So what are we waiting for.....let's get started.......

    
 
Remove these adsRemove these ads by Signing Up

Step 1: Parts Needed:

Picture of Parts Needed:
3D Components.jpg
100_0761.JPG
3D Arduino.jpg
100_0764.JPG
3D GSM.jpg
100_0773.JPG
3D GPS.jpg
100_0777.JPG
3D Jack.jpg
100_0778.JPG
3D 7805.jpg
The following is a list of parts needed to build 'Athena' :-

Supplies :
  1. Arduino Uno
  2. Arduino GSM Shield (I have used a SIM900 GSM/GPRS Shield Module)
  3. GPS Module
  4. Adapter Plug for powering the Arduino
  5. 4pcs of LM7805 IC
  6. PCB
  7. Wires
  8. Male Header Pins
  9. Female Header Pins
  10. Project Enclosure
Tools :
  1. Soldering Iron
  2. Solder
  3. Soldering Wax
  4. Drill
  5. Hacksaw



 
1-40 of 186Next »
khaliunb7 days ago

Hello Jayvis Vineet Gonsalves. It's a nice thing that you are doing. I too am trying to start up with Arduino. But can't find the shield for reasonable price. Could you please refer me to your dealer (or dealers) that provided with this project's parts? Also, if it is not too much trouble, could you send PDF instruction to my email? It is lofraigh731n37@yahoo.com. Thank you.

dunc21 month ago
henningr1 month ago

hi

Check out the following company, I got all my stuff from them.

South African based company in Gauteng.

https://www.robotics.org.za/index.php?route=produc...

robotmen1 month ago

Hi neil.fleetwood. Thank you for your share.

In my country, I can find only "Shield Telit Click GSM Modul" (http://www.mikroe.com/click/gsm/) . It uses (#include <GSM.h>) library.

Is it possible to use this shield in your project? Thanks for your answer.

And, what do you think about old cell phones GSM Modules' Also, is it possible to use that modules?

iMouDa941 month ago

hey, i bought this and i want code for it.
http://store.fut-electronics.com/gps-gprs-gsm-sim908-module/dp/1498

here we are this one works well this is what you need for uno

Sim908 Module GSM Gprs GPS Quad Band Development Board & GPS Antenna

http://www.ebay.co.uk/itm/Sim908-Module-GSM-Gprs-GPS-Quad-Band-Development-Board-GPS-Antenna-UK-Seller-/291352511756?pt=LH_DefaultDomain_3&var=&hash=item43d5f6850c

SinAmos3 months ago

Yeah, what is the cost? Numbers anyone?

for all bits in uk cost me £50 for uno /gps module / sim900 module

rbehera22 months ago

Hey,

Can anyone whose GPS has finally worked tell me the process from scratch and tell me the approximate price of the above GPS project please.my email id is Rajat.vintage@gmail.com

working hard on the case

cpravăţ2 months ago
@neil.fleetwood: you don't need to unplug module's power! Only need this:
http://arduino.cc/en/Tutorial/TwoPortReceive

Yes i have tried this, it is a fail same issue by conflict data . i need a serial module with 2 serial hardware ports not software made up ports . i know the arduino mega will sort it, as it has these ports.

kijocreative2 months ago

Hi, is there anyway to program this to send data using its cellular data connection and not sms. I have it reporting via SMS but would like ammend it so my server can ask for location uisng cellular data. Kind Regards hello@kijo.co

mlliarm3 months ago

Hello, this looks like a cool project. But how much is it going to cost?

i did this years ago and found out same issue , it is not the code the problem is the

Serial communication you only have 1 serial port you need 2 for both modules, i found out if you unplug power on 1 or the other it works on both hope this helps Neil

A-R-T8 months ago

Hey all ,

I am very disappointed. Nobody could help me. Someone asked me $ 15, I am not able to pay. I liked the project and wanted to test it. Maybe someone worked. To me it did not work. I used: Arduino Duemilanove (Mega) , Arduino shield GSM and GPS receiver 600L Cirocomm. All is ok because work well in other applications. The main problem is that not receive SMS with a password. In other tests can send and receive sms. The GPS receiver works very well in other applications. I think I'll give up this application. All the best to everyone.

Clipboard01.bmp
viswanaths A-R-T3 months ago

Dear Friends, I appreciate all your efforts for this DIY but it is very expensive..we get a ready tracker for $15 over the shelf which can do the same along with Google link immediately after powering on...very straight forward and our efforts is just to send an SMS to device. I came across this forum during my hunt for GPS tracking.....I know the coordinates coming to my smart phone where I need to click to open in google maps manually...for achieving this I need to send an SMS to GPS tracker hardware and in return it sends google link along with coordinates once and for next cordinates I need to repeat the same..I just need to automate this..in smart phone and PC as well. Can anybody help..i can be contacted @ s.viswanathreddy@gmail.com

kingarawana3 months ago

Hi,

Great Article! In the instructions, it said I needed a SIM card to use with the GSM module. I'm a bit new at this, but I was wondering, can it just be any SIM, or does it have to be a SIM with an active phone plan tied to it.

I didn't quite get how I can send text messages If i don't have an active phone plan with the SIM.

Thanks!

drewpentinio4 months ago

what is the actual size of this device?

Hi Jayvis,

I really need your input. I am having trouble reading the program I have all the parts, I put them together and I am ready to test it. i have a problem though i don't know what number i am sending my password to. I tried reading the program over and over and still can't figure it out please help. My email is happy_2_work@yahoo.com.Please send me anything you think that will help me on this project.thanks so much.

Juanita Jones

you need to put the sim card from the gsm module into a phone, text yourself, then replace it into the module. The number you text is the one that it is sent from.

ninjaz5736

HI!

I could really use your help! I have tried everything I can to get this product back on track and to text me back and I it wont! Every part works fine alone bit as soon as I put the GPS module on and the code that is found below nothing happens. The sim, shield, works fine together because I can text myself a message under a different code, but once I add my module and run my final code nothing happens! Please help!!!!! Any suggestions or ideas would be greatly appreciated!

Thanks

#include <SoftwareSerial.h>

#include <string.h>

#include <TinyGPS.h>

SoftwareSerial Sim900Serial(2, 3);

byte buffer[128]; // buffer array for data recieve over serial port

int count=0; // counter for buffer array

SoftwareSerial GPS(4, 5);

TinyGPS gps;

unsigned long fix_age;

long lat, lon;

float LAT, LON;

void gpsdump(TinyGPS &gps);

bool feedgps();

void getGPS();

void SIM900power() // software equivalent of pressing the GSM shield "power" button

{

digitalWrite(9, HIGH);

delay(1000);

Sim900_Inti();

}

void setup()

{

Sim900Serial.begin(19200); // the SIM900 baud rate

GPS.begin(57600); // GPS module baud rate

Serial.begin(115200); // the Serial port of Arduino baud rate.

delay(500);

Sim900_Inti();

}

void loop()

{

Sim900Serial.listen();

if (Sim900Serial.available()) // If date is comming from from GSM shield)

{

while(Sim900Serial.available()) // reading data into char array

{

buffer[count ]=Sim900Serial.read(); // writing data into array

if(count == 128)break;

}

Serial.write(buffer,count); // if no data transmission ends, write buffer to hardware serial port

Cmd_Read_Act(); //Read the 'COMMAND' sent to SIM900 through SMS

clearBufferArray(); // call clearBufferArray function to clear the storaged data from the array

count = 0; // set counter of while loop to zero

}

if (Serial.available()) // if data is available on hardwareserial port ==> data is comming from PC or notebook

Sim900Serial.println(Serial.read()); // write it to the GPRS shield

}

void clearBufferArray() // function to clear buffer array

{

for (int i=0; i<count;i++ )

{ buffer[i]=NULL;} // clear all index of array with command NULL

}

void Sim900_Inti(void)

{

Sim900Serial.println("AT + CMGF=1"); // Set GSM shield to sms mode

Serial.println("AT + CMGF=1");

delay(500);

Sim900Serial.println("AT + CNMI=2,2");

Serial.println("AT + CMGF=1");

delay(500);

}

void Cmd_Read_Act(void) //Function reads the SMS sent to SIM900 shield.

{

char buffer2[128];

for (int i=0; i<count;i++)

{ buffer2[i]=char(buffer[i]);}

if (strstr(buffer2,"FINDME")) //Comparing password entered with password stored in program

{

Serial.println("Password Authenticated.");

Serial.println("Sending reply SMS. ");

SendTextMessage();

}

}

void SendTextMessage()

{

Sim900Serial.print("AT + CMGF=1\r"); //Sending the SMS in text mode

delay(100);

Sim900Serial.println("AT + CMGS = \"+12166406994\"");//The predefined phone number

//Sim900Serial.print("AT+CMGS=");

//Sim900Serial.println("+12169256420");

delay(100);

Sim900Serial.println("Please wait while Module calculates position");//the content of the message

delay(100);

Sim900Serial.println((char)26);//the ASCII code of the ctrl z is 26

delay(100);

Sim900Serial.println();

delay(5000);

int counter=0;

GPS.listen();

for (;;)

{

long lat, lon;

unsigned long fix_age, time, date, speed, course;

unsigned long chars;

unsigned short sentences, failed_checksum;

long Latitude, Longitude;

// retrieves /- lat/long in 100000ths of a degree

gps.get_position(&lat, &lon, &fix_age);

getGPS();

Serial.print("Latitude : ");

Serial.print(LAT/1000000,7);

Serial.print(" :: Longitude : ");

Serial.println(LON/1000000,7);

if (LAT == 0 && LON == 0)

{

continue;

}

counter ;

if (counter<30)

{

continue;

}

Sim900Serial.print("AT + CMGF=1\r"); //Sending the SMS in text mode

delay(100);

Sim900Serial.println("AT + CMGS = \"+12166406994\"");//The predefined phone number

delay(100);

Sim900Serial.print("Latitude : ");

Sim900Serial.print(LAT/1000000,7);

Sim900Serial.print(" :: Longitude : ");

Sim900Serial.println(LON/1000000,7);//the content of the message

delay(100);

Sim900Serial.println((char)26);//the ASCII code of the ctrl z is 26

delay(5000);

Sim900Serial.println();

counter=0;

break;

}

}

void getGPS()

{

bool newdata = false;

unsigned long start = millis();

while (millis() - start < 1000)

{

if (feedgps ())

{

newdata = true;

}

}

if (newdata)

{

gpsdump(gps);

}

}

bool feedgps()

{

while (GPS.available())

{

if (gps.encode(GPS.read()))

return true;

}return 0;

}

void gpsdump(TinyGPS &gps)

{

gps.get_position(&lat, &lon);

LAT = lat;

LON = lon;

{

feedgps();

}

}

HI!

I could really use your help! I have tried everything I can to get this product back on track and to text me back and I it wont! Every part works fine alone bit as soon as I put the GPS module on and the code that is found below nothing happens. The sim, shield, works fine together because I can text myself a message under a different code, but once I add my module and run my final code nothing happens! Please help!!!!! Any suggestions or ideas would be greatly appreciated!

Thanks

#include <SoftwareSerial.h>

#include <string.h>

#include <TinyGPS.h>

SoftwareSerial Sim900Serial(2, 3);

byte buffer[128]; // buffer array for data recieve over serial port

int count=0; // counter for buffer array

SoftwareSerial GPS(4, 5);

TinyGPS gps;

unsigned long fix_age;

long lat, lon;

float LAT, LON;

void gpsdump(TinyGPS &gps);

bool feedgps();

void getGPS();

void SIM900power() // software equivalent of pressing the GSM shield "power" button

{

digitalWrite(9, HIGH);

delay(1000);

Sim900_Inti();

}

void setup()

{

Sim900Serial.begin(19200); // the SIM900 baud rate

GPS.begin(57600); // GPS module baud rate

Serial.begin(115200); // the Serial port of Arduino baud rate.

delay(500);

Sim900_Inti();

}

void loop()

{

Sim900Serial.listen();

if (Sim900Serial.available()) // If date is comming from from GSM shield)

{

while(Sim900Serial.available()) // reading data into char array

{

buffer[count ]=Sim900Serial.read(); // writing data into array

if(count == 128)break;

}

Serial.write(buffer,count); // if no data transmission ends, write buffer to hardware serial port

Cmd_Read_Act(); //Read the 'COMMAND' sent to SIM900 through SMS

clearBufferArray(); // call clearBufferArray function to clear the storaged data from the array

count = 0; // set counter of while loop to zero

}

if (Serial.available()) // if data is available on hardwareserial port ==> data is comming from PC or notebook

Sim900Serial.println(Serial.read()); // write it to the GPRS shield

}

void clearBufferArray() // function to clear buffer array

{

for (int i=0; i<count;i++ )

{ buffer[i]=NULL;} // clear all index of array with command NULL

}

void Sim900_Inti(void)

{

Sim900Serial.println("AT + CMGF=1"); // Set GSM shield to sms mode

Serial.println("AT + CMGF=1");

delay(500);

Sim900Serial.println("AT + CNMI=2,2");

Serial.println("AT + CMGF=1");

delay(500);

}

void Cmd_Read_Act(void) //Function reads the SMS sent to SIM900 shield.

{

char buffer2[128];

for (int i=0; i<count;i++)

{ buffer2[i]=char(buffer[i]);}

if (strstr(buffer2,"FINDME")) //Comparing password entered with password stored in program

{

Serial.println("Password Authenticated.");

Serial.println("Sending reply SMS. ");

SendTextMessage();

}

}

void SendTextMessage()

{

Sim900Serial.print("AT + CMGF=1\r"); //Sending the SMS in text mode

delay(100);

Sim900Serial.println("AT + CMGS = \"+12166406994\"");//The predefined phone number

//Sim900Serial.print("AT+CMGS=");

//Sim900Serial.println("+12169256420");

delay(100);

Sim900Serial.println("Please wait while Module calculates position");//the content of the message

delay(100);

Sim900Serial.println((char)26);//the ASCII code of the ctrl z is 26

delay(100);

Sim900Serial.println();

delay(5000);

int counter=0;

GPS.listen();

for (;;)

{

long lat, lon;

unsigned long fix_age, time, date, speed, course;

unsigned long chars;

unsigned short sentences, failed_checksum;

long Latitude, Longitude;

// retrieves /- lat/long in 100000ths of a degree

gps.get_position(&lat, &lon, &fix_age);

getGPS();

Serial.print("Latitude : ");

Serial.print(LAT/1000000,7);

Serial.print(" :: Longitude : ");

Serial.println(LON/1000000,7);

if (LAT == 0 && LON == 0)

{

continue;

}

counter ;

if (counter<30)

{

continue;

}

Sim900Serial.print("AT + CMGF=1\r"); //Sending the SMS in text mode

delay(100);

Sim900Serial.println("AT + CMGS = \"+12166406994\"");//The predefined phone number

delay(100);

Sim900Serial.print("Latitude : ");

Sim900Serial.print(LAT/1000000,7);

Sim900Serial.print(" :: Longitude : ");

Sim900Serial.println(LON/1000000,7);//the content of the message

delay(100);

Sim900Serial.println((char)26);//the ASCII code of the ctrl z is 26

delay(5000);

Sim900Serial.println();

counter=0;

break;

}

}

void getGPS()

{

bool newdata = false;

unsigned long start = millis();

while (millis() - start < 1000)

{

if (feedgps ())

{

newdata = true;

}

}

if (newdata)

{

gpsdump(gps);

}

}

bool feedgps()

{

while (GPS.available())

{

if (gps.encode(GPS.read()))

return true;

}return 0;

}

void gpsdump(TinyGPS &gps)

{

gps.get_position(&lat, &lon);

LAT = lat;

LON = lon;

{

feedgps();

}

}

brenryan11 months ago

Really nice work. I am in the process of building one of these for my Uncle (landscaping business, Jeep was stolen before = loss of income) Commercial examples are $2/300 + and some require subscription. All this for around €50 and a prepay SIM with some credit, too good!! Thank you for bringing this to my attention.

I've been trying to make a few slight modifications to your code, one is. Seen as most phones these days are smartphones, I want to include a google maps link so you can click direct from the text to your vehicles location.

The google maps URL system is pretty straightforward, just

https://maps.google.com/maps?q=46.352524+N+7.22842...

So I was hoping including this to the text message would generate a URL to point to the vehicles location. My code is like this;

[code]

Sim900Serial.println("AT CMGS = \"**********\"");//The predefined phone number

delay(100);

Sim900Serial.print("LAT: ");

Sim900Serial.println(LAT/1000000,7" N");

Sim900Serial.print("LON : ");

Sim900Serial.println(LON/1000000,7" W");//the content of the message

Sim900Serial.println("");

Sim900Serial.println"Google maps URL: https://maps.google.com/q="LAT/1000000,7"+N+"LON/1000000,7"+W");

delay(100);

Sim900Serial.println((char)26);//the ASCII code of the ctrl z is 26

[/code]

I was wondering if anybody could forsee any problems, I mean the google URL system is just http:/maps.google.com/q=LAT+N+LON+W, don't think too much could go wrong there, but you never know.

Also I would REALLY appreciate some help if somebody could tell me how to add the speed and heading into the text.

AND FINALLY, I would like to have 2 separate passwords/triggers, like sending "locate" would behave as the example in the 'ible and text the vehicles LAT, LONG, SPEED, HEADING and the URL once.

But texting "STOLEN" or "CONTINUOUS" would send the info every 5 mins (or other variable), until "STOP" is received, which would put the system back into standby state.

I know I have asked a lot of questions and it's a big ask, but these things come naturally to some! I would be REALLY grateful if someone could help me out, but I think some of these suggestions could be of use to others also and help make this amazing instructable even better!!

Dark_eye brenryan9 months ago

hi, did you manage to include google maps location to the message?

brenryan Dark_eye9 months ago
Hi, haven't got around to building it yet....

But from the tests I've done, if you output the lat&long in that format

(https://maps.google.com/q="LAT/1000000,7"+N+"LON/1000000,7"+W)

it will create a valid URL with a nice little arrow right on your location.

I changed the URL generation segment to;

[CODE]

SIM900.print("AT+CMGF=1\r"); // AT command to send SMS message
delay(100);
SIM900.println("AT + CMGS = \"+12345678\"") //The predefined phone number
delay(100);
Sim900Serial.println("SAT fix received;"); // The content of the message.
Sim900Serial.print("LAT: ");
Sim900Serial.print(LAT/1000000,7);
Sim900Serial.println("° N");
Sim900Serial.print("LON : ");
Sim900Serial.print(LON/1000000,7);
Sim900Serial.println("° W");
Sim900Serial.println("");
Sim900Serial.println("Google Maps URL:");
Sim900Serial.print("https://maps.google.com/q=");
Sim900Serial.print(LAT/1000000,7);
Sim900Serial.print("+N+");
Sim900Serial.print(LON/1000000,7);
Sim900Serial.println("+W");
delay(100);
Sim900Serial.println((char)26); //the ASCII code of the ctrl z is 26

[CODE]

Seems to work better.

Let me know how you get on or if you have any suggestions/tips, as I said it's been bumped down my list a bit, but will be building it at some point...

Good Luck!
Seaha brenryan9 months ago

hey guy can u send me your full sketch pls

brenryan Seaha9 months ago

Send you a PM so we're not spamming the page, good luck!

Jayvis Vineet Gonsalves (author)  brenryan9 months ago

The problem is that every time I upload the code to this webpage a few + operators are automatically removed out from the code, hence you'll might be experiencing an error when trying to use it in your project.

My computer in which I have saved the program is currently down, but I could pm you'll the code once my PC is up and running.

HI Jayvis!

I have completed buying and testing my arduino and shield and I am now ready to put the code in so can you please email the correct code as soon as possible. It would be greatly appreciated. My email address is happy_2_work@yahoo.com. Thanks!

Thanks man that would be great if you can remember, thanks!

Dark_eye brenryan9 months ago

okay, nice. is the original code working for you, mine can get the reply sms?

brenryan Dark_eye9 months ago

Nope, can't get nothing working, not sure if there's a problem with my shield.

Can't get it to connect to the network without hitting the power button : /

I can't even get it to send SMS in the SMS test sketch.

Struggling with AT commands.

Did you just use the commands in the Instructable?

muhammad abduh11 months ago

i'm using new Arduino GSM Shield integrated antenna (telefonica/bluevia) to built this tracking device and encountered some problem. my tracking device is able to receive sms and get the coordinates. but it cannot reply the sms to the predefined number. the image is my current output.

and this is my coding program. Can someone help me figure out what seem to be the problem and how to solve it. Thanks

#include <SoftwareSerial.h>

#include <string.h>

#include <TinyGPS.h>

SoftwareSerial Sim900Serial(2,3);

byte buffer[128]; // buffer array for data recieve over serial port

int count=0; // counter for buffer array

SoftwareSerial GPS(4,5);

TinyGPS gps;

unsigned long fix_age;

long lat, lon;

float LAT, LON;

void gpsdump(TinyGPS &gps);

bool feedgps();

void getGPS();

void SIM900power() // software equivalent of pressing the GSM shield "power" button

{

digitalWrite(9, HIGH);

delay(1000);

Sim900_Inti();

}

void setup()

{

Sim900Serial.begin(19200); // the SIM900 baud rate

GPS.begin(9600); // GPS module baud rate

Serial.begin(19200); // the Serial port of Arduino baud rate.

delay(500);

Sim900_Inti();

}

void loop()

{

Sim900Serial.listen();

if (Sim900Serial.available()) // If date is comming from from GSM shield)

{

while(Sim900Serial.available()) // reading data into char array

{

buffer[count++]=Sim900Serial.read(); // writing data into array

if(count == 64)break;

}

Serial.write(buffer,count); // if no data transmission ends, write buffer to hardware serial port

Cmd_Read_Act(); //Read the 'COMMAND' sent to SIM900 through SMS

clearBufferArray(); // call clearBufferArray function to clear the storaged data from the array

count = 0; // set counter of while loop to zero

}

if (Serial.available()) // if data is available on hardwareserial port ==> data is comming from PC or notebook

Sim900Serial.println(Serial.read()); // write it to the GPRS shield

}

void clearBufferArray() // function to clear buffer array

{

for (int i=0; i<count;i++)

{ buffer[i]=NULL;} // clear all index of array with command NULL

}

void Sim900_Inti(void)

{

Sim900Serial.println("AT+CMGF=1"); // Set GSM shield to sms mode

Serial.println("AT+CMGF=1");

delay(500);

Sim900Serial.println("AT+CNMI=2,2");

Serial.println("AT CMGF=1");

delay(500);

}

void Cmd_Read_Act(void) //Function reads the SMS sent to SIM900 shield.

{

char buffer2[64];

for (int i=0; i<count;i++)

{ buffer2[i]=char(buffer[i]);}

if (strstr(buffer2,"TRACK")) //Comparing password entered with password stored in program

{

Serial.println("Password Authenticated.");

Serial.println("Sending reply SMS. ");

SendTextMessage();

}

}

void SendTextMessage()

{

Sim900Serial.print("AT+CMGF=1\r"); //Sending the SMS in text mode

delay(100);

Sim900Serial.println("AT + CMGS = \"+60103843894\"");//The predefined phone number

//Sim900Serial.print("AT+CMGS=");

//Sim900Serial.println("+60174432599");

delay(100);

Sim900Serial.println("Please wait while Module calculates position");//the content of the message

delay(100);

Sim900Serial.println((char)26);//the ASCII code of the ctrl z is 26

delay(100);

Sim900Serial.println();

delay(5000);

int counter=0;

GPS.listen();

for (;;)

{

long lat, lon;

unsigned long fix_age, time, date, speed, course;

unsigned long chars;

unsigned short sentences, failed_checksum;

long Latitude, Longitude;

// retrieves /- lat/long in 100000ths of a degree

gps.get_position(&lat, &lon, &fix_age);

getGPS();

Serial.print("Latitude : ");

Serial.print(LAT/1000000,7);

Serial.print(" :: Longitude : ");

Serial.println(LON/1000000,7);

/*if (LAT == 0 && LON == 0)

{

continue;

}

counter ;

if (counter<30)

{

continue;

}

*/

Sim900Serial.print("AT+CMGF=1\r"); //Sending the SMS in text mode

delay(100);

Sim900Serial.println("AT + CMGS = \"+60103843894\"");//The predefined phone number

delay(100);

Sim900Serial.print("Latitude : ");

Sim900Serial.print(LAT/1000000,7);

Sim900Serial.print(" :: Longitude : ");

Sim900Serial.println(LON/1000000,7);//the content of the message

delay(100);

Sim900Serial.println((char)26);//the ASCII code of the ctrl z is 26

delay(5000);

Sim900Serial.println();

counter=0;

break;

}

}

void getGPS()

{

bool newdata = false;

unsigned long start = millis();

while (millis() - start < 1000)

{

if (feedgps ())

{

newdata = true;

}

}

if (newdata)

{

gpsdump(gps);

}

}

bool feedgps()

{

while (GPS.available())

{

if (gps.encode(GPS.read()))

return true;

}return 0;

}

void gpsdump(TinyGPS &gps)

{

gps.get_position(&lat, &lon);

LAT = lat;

LON = lon;

{

feedgps();

}

}

2nd result.jpg

Hi I was wondering if you ever got this to work. for some reason I am having the same exact issue as you.

i found the solution. if you want my sketch coding, just provide your email.

@ MUHAMMAD ABDUH I would love your sketch coding because I am working on building this now and I looking over this coding and I don't understand some of it. I would like to know that once I am done putting the code and phone number in and am finally ready to test the GPS, where am I sending my password to? Is there a certain code I put in my phone to actually text my car if so what is it? My email address is happy_2_work@yahoo.com. Any suggestions you have to help me would be greatly appreciated.

THANKS

can you please send me your coding "phalozeka@gmail.com"

salam, bro can you share your sketch coding with me, zaf_unknown_11@yahoo.com

Could you email your sketch to me? alvin.jin2000@gmail.com

1-40 of 186Next »