ghoziizg
Published © GPL3+

Display GPS NEO 6M Data to OLED

Display latitude longitude time and date to oled

BeginnerProtip3,292
Display GPS NEO 6M Data to OLED

Things used in this project

Hardware components

Arduino Nano R3
Arduino Nano R3
×1
Graphic OLED, 128 x 64
Graphic OLED, 128 x 64
×1
GY-NEO6MV2
×1

Story

Read more

Schematics

circuit

Code

code

Arduino
//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);
  }
}

Credits

ghoziizg
1 project • 0 followers
Contact

Comments

Please log in or sign up to comment.