-
-
Save maifeeulasad/b02a6784f7e0db721637193d07211d1c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
#include <SoftwareSerial.h> | |
#include <TinyGPS.h> | |
float lat_ = 28.5458, lon_ = 77.1703; | |
SoftwareSerial gpsSerial(3, 4); //rx,tx | |
TinyGPS gps; // create gps object | |
void setup() { | |
Serial.begin(9600); // connect serial | |
//Serial.println("The GPS Received Signal:"); | |
gpsSerial.begin(9600); // connect gps sensor | |
} | |
void loop() { | |
while (gpsSerial.available()) { // check for gps data | |
Serial.println(); | |
if (gps.encode(gpsSerial.read())) // encode gps data | |
{ | |
gps.f_get_position(&lat_, &lon_); // get latitude and longitude | |
// display position | |
Serial.println(lat_); | |
Serial.println(lon_); | |
} | |
} | |
} | |
*/ | |
/* | |
#include <SoftwareSerial.h> | |
static const int RXPin = 4, TXPin = 3; | |
static const uint32_t GPSBaud = 9600; | |
// The serial connection to the GPS device | |
SoftwareSerial ss(RXPin, TXPin); | |
void setup() | |
{ | |
Serial.begin(115200); | |
ss.begin(GPSBaud); | |
} | |
void loop() | |
{ | |
// Output raw GPS data to the serial monitor | |
while (ss.available() > 0){ | |
Serial.println(ss.read()); | |
} | |
} | |
*/ | |
#include <TinyGPS++.h> | |
#include <SoftwareSerial.h> | |
/* | |
This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object. | |
It requires the use of SoftwareSerial, and assumes that you have a | |
4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx). | |
*/ | |
static const int RXPin = 4, TXPin = 3; | |
static const uint32_t GPSBaud = 4800; | |
// The TinyGPS++ object | |
TinyGPSPlus gps; | |
// The serial connection to the GPS device | |
SoftwareSerial ss(RXPin, TXPin); | |
void setup() | |
{ | |
Serial.begin(115200); | |
ss.begin(GPSBaud); | |
Serial.println(F("DeviceExample.ino")); | |
Serial.println(F("A simple demonstration of TinyGPS++ with an attached GPS module")); | |
Serial.print(F("Testing TinyGPS++ library v. ")); Serial.println(TinyGPSPlus::libraryVersion()); | |
Serial.println(F("by Mikal Hart")); | |
Serial.println(); | |
} | |
void loop() | |
{ | |
// This sketch displays information every time a new sentence is correctly encoded. | |
while (ss.available() > 0) | |
if (gps.encode(ss.read())) | |
{ | |
displayInfo(); | |
Serial.println(gps.satellites.value()); | |
} | |
if (millis() > 5000 && gps.charsProcessed() < 10) | |
{ | |
Serial.println(F("No GPS detected: check wiring.")); | |
while (true); | |
} | |
} | |
void displayInfo() | |
{ | |
Serial.print(F("Location: ")); | |
if (gps.location.isValid()) | |
{ | |
Serial.print(gps.location.lat(), 6); | |
Serial.print(F(",")); | |
Serial.print(gps.location.lng(), 6); | |
} | |
else | |
{ | |
Serial.print(F("INVALID")); | |
} | |
Serial.print(F(" Date/Time: ")); | |
if (gps.date.isValid()) | |
{ | |
Serial.print(gps.date.month()); | |
Serial.print(F("/")); | |
Serial.print(gps.date.day()); | |
Serial.print(F("/")); | |
Serial.print(gps.date.year()); | |
} | |
else | |
{ | |
Serial.print(F("INVALID")); | |
} | |
Serial.print(F(" ")); | |
if (gps.time.isValid()) | |
{ | |
if (gps.time.hour() < 10) Serial.print(F("0")); | |
Serial.print(gps.time.hour()); | |
Serial.print(F(":")); | |
if (gps.time.minute() < 10) Serial.print(F("0")); | |
Serial.print(gps.time.minute()); | |
Serial.print(F(":")); | |
if (gps.time.second() < 10) Serial.print(F("0")); | |
Serial.print(gps.time.second()); | |
Serial.print(F(".")); | |
if (gps.time.centisecond() < 10) Serial.print(F("0")); | |
Serial.print(gps.time.centisecond()); | |
} | |
else | |
{ | |
Serial.print(F("INVALID")); | |
} | |
Serial.println(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment