//created by GHOZIIZG
//library GPS by mikalhart
//library oled by evaherrada
#include <TinyGPS++.h> //https://github.com/mikalhart/TinyGPSPlus/blob/master/src/TinyGPS%2B%2B.h
#include <SoftwareSerial.h>
#include<Wire.h>
#include<Adafruit_GFX.h> //https://github.com/adafruit/Adafruit-GFX-Library
#include<Adafruit_SSD1306.h> //https://github.com/adafruit/Adafruit_SSD1306
int RXPin = 2;
int TXPin = 3;
int GPSBaud = 9600;
const int lebar=128;
const int tinggi=64;
const int reset=4;
Adafruit_SSD1306 GHOZIIZG(lebar,tinggi,&Wire,reset);
TinyGPSPlus gps;
SoftwareSerial gpsSerial(RXPin, TXPin);
void setup()
{
GHOZIIZG.begin(SSD1306_SWITCHCAPVCC, 0x3c);
GHOZIIZG.clearDisplay();
gpsSerial.begin(GPSBaud);
}
void loop(){
while (gpsSerial.available() > 0)
if (gps.encode(gpsSerial.read()))
GHOZIIZG.clearDisplay();
GHOZIIZG.setTextSize(1);
GHOZIIZG.setTextColor(WHITE);
GHOZIIZG.setCursor(0,1);
GHOZIIZG.print(F("latitude: "));
GHOZIIZG.print(gps.location.lat(), 6);
GHOZIIZG.setCursor(0,13);
GHOZIIZG.print(F("longitude: "));
GHOZIIZG.print(gps.location.lng(), 6);
GHOZIIZG.setCursor(0,23);
GHOZIIZG.print(F("time: "));
GHOZIIZG.setCursor(30,23);
GHOZIIZG.print(gps.time.hour());
GHOZIIZG.setCursor(50,23);
GHOZIIZG.print(gps.time.minute());
GHOZIIZG.setCursor(70,23);
GHOZIIZG.print(gps.time.second());
GHOZIIZG.setCursor(0,53);
GHOZIIZG.setCursor(0,33);
GHOZIIZG.print(F("date: "));
GHOZIIZG.setCursor(30,33);
GHOZIIZG.print(gps.date.day());
GHOZIIZG.setCursor(50,33);
GHOZIIZG.print(gps.date.month());
GHOZIIZG.setCursor(70,33);
GHOZIIZG.print(gps.date.year());
GHOZIIZG.setCursor(0,53);
GHOZIIZG.print(F("created by GHOZIIZG"));
GHOZIIZG.display();
delay(10);
if (millis() > 5000 && gps.charsProcessed() < 10)
{
GHOZIIZG.clearDisplay();
GHOZIIZG.setTextSize(1);
GHOZIIZG.setTextColor(WHITE);
GHOZIIZG.setCursor(0,13);
GHOZIIZG.print(F("No GPS detected"));
GHOZIIZG.setCursor(0,23);
GHOZIIZG.print(F("check the cable and restart the arduino"));
GHOZIIZG.display();
while(true);
}
}
Comments
Please log in or sign up to comment.