Cara mengakses Program GPS Dengan NodeMCU

11:57 AM

 

Pada pembahasan kali ini akan dijelaskan cara mengakses modul GPS dengan Node MCU, GPS bisa digunakan untuk mengendalikan drone secara otomatis untuk memantau lokasi. Pertama akan dibahas terlebih dahulu bagaimana cara mengakses modul gps dengan NodeMCU

Komponen yang disiapkan :

  • NodeMCU
  • Modul GPS

Untuk rangkaian dapat dilihat dibawah ini

Cara mengakses GPS dengan NodeMCU

Keterangan :

  • Pin VCC pada modul GPS hubungkan ke pin Vin pada NodeMCU
  • Pin GND pada modul GPS hubungkan ke pin GND pada NodeMCU
  • Pin RX modul GPS hubungkan ke pin D1 NodeMCU
  • Pin TX modul GPS hubungkan ke pin D2 NodeMCU

Setelah semua terhubung selanjutnya upload program ke board NodeMCU

  • Buka aplikasi Arduino IDE
  • Buka pada menu sketch > include library > manage libraries
Cara mengakses Program GPS Dengan NodeMCU
  • Selanjutnya akan muncul tampilan seperti dibawah ini dan cari TinyGPS dan install, tunggu samapi proses instalasi selesai dan close jika selesai di install
Cara mengakses Program GPS Dengan NodeMCU
  • Salin program dibawah ini ke project kalian
  • Pada Arduino IDE pilih menu tools > board > esp8266 > NodeMCU
  • Pilih lagi menu tools > port > COM yang aktif
  • Setelah itu upload program dan tunggu sampai selesai
  • Cek pada serial monitor, akan muncul sejumlah informasi koordinat dari GPS
#include <TinyGPS++.h>
#include <SoftwareSerial.h>

const int RXPin = D1, TXPin = D2;
const uint32_t GPSBaud = 9600; //Default baud of NEO-6M is 9600


TinyGPSPlus gps; // the TinyGPS++ object
SoftwareSerial gpsSerial(RXPin, TXPin); // the serial interface to the GPS device

void setup() {
  Serial.begin(9600);
  gpsSerial.begin(GPSBaud);

  Serial.println(F("Arduino - GPS module"));
}

void loop() {
  if (gpsSerial.available() > 0) {
    if (gps.encode(gpsSerial.read())) {
      if (gps.location.isValid()) {
        Serial.print(F("- latitude: "));
        Serial.println(gps.location.lat());

        Serial.print(F("- longitude: "));
        Serial.println(gps.location.lng());

        Serial.print(F("- altitude: "));
        if (gps.altitude.isValid())
          Serial.println(gps.altitude.meters());
        else
          Serial.println(F("INVALID"));
      } else {
        Serial.println(F("- location: INVALID"));
      }

      Serial.print(F("- speed: "));
      if (gps.speed.isValid()) {
        Serial.print(gps.speed.kmph());
        Serial.println(F(" km/h"));
      } else {
        Serial.println(F("INVALID"));
      }

      Serial.print(F("- GPS date&time: "));
      if (gps.date.isValid() && gps.time.isValid()) {
        Serial.print(gps.date.year());
        Serial.print(F("-"));
        Serial.print(gps.date.month());
        Serial.print(F("-"));
        Serial.print(gps.date.day());
        Serial.print(F(" "));
        Serial.print(gps.time.hour());
        Serial.print(F(":"));
        Serial.print(gps.time.minute());
        Serial.print(F(":"));
        Serial.println(gps.time.second());
      } else {
        Serial.println(F("INVALID"));
      }

      Serial.println();
    }
  }

  if (millis() > 5000 && gps.charsProcessed() < 10)
    Serial.println(F("No GPS data received: check wiring"));
}
Next Article
« Prev Post
Previous Article
Next Post »
Disqus
Tambahkan komentar Anda

No comments