Pemrograman GPS GY-NEO6MV2 menggunakan Arduino UNO R3
.
GPS (Global Positioning System) merupakan suatu modul untuk mendeteksi lokasi dengan menangkap dan memproses sinyal dari satelit navigasi. Dengan menggunakan modul ini kita dapat membuat sistem navigasi dan juga dapat digunakan sebagai tracking lokasi.
.
Antarmuka menggunakan serial TTL (RX/TX) yang dapat diakses dari mikrokontroler yang memiliki fungsi UART atau emulasi serial TTL (pada Arduino dapat menggunakan pustaka komunikasi serial / serial communication library yang sudah tersedia dalam paket Arduino IDE).
.
GPS GY-NEO6MV2 dapat menampilkan data koordinat longitude dan latitude, dari data tersebut dapat
diketahui posisi GPS di map, misalnya dengan bantuan google map.
.
Sebelum melanjutkan tutorial, part-part yang dibutuhkan adalah
1. Arduino UNO R3
2. GPS GY-NEO6MV2
3. Breadboard
4. Kabel Jumper
5. DC-DC Stepdown
6. Battery lipo (power supply)
.
Kenapa power GPS ga pakai dari arduino?
Karena dari percobaan kami, arus lebih stabil dengan menggunakan power dari luar daripada memakai power dari arduino.
.
Di bawah ini skematik untuk rangkaiannya
.
.
Alokasi PIN
RX GPS -> PIN 2 Arduino
TX GPS -> PIN 3 Arduino
.
Setelah selesai dirangkai, maka masukkan program arduino dibawah ini. Sebelumnya jangan lupa masukkan library SoftwareSerial.h dan TinyGPS.h terlebih dahulu.
.
#include <SoftwareSerial.h>
#include <TinyGPS.h>
TinyGPS gps;
SoftwareSerial ss(2, 3);
void setup()
{
Serial.begin(9600);
ss.begin(9600);
}
void loop()
{
bool newData = false;
unsigned long chars;
unsigned short sentences, failed;
for (unsigned long start = millis(); millis() - start < 1000;)
{
while (ss.available())
{
char c = ss.read();
// Serial.write(c); // uncomment jika ingin melihat data asli dari gps
if (gps.encode(c)) // Parsing semua data
newData = true;
}
}
if (newData)
{
float flat, flon;
unsigned long age;
gps.f_get_position(&flat, &flon, &age);
Serial.print("LAT=");
Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
Serial.print(" LON=");
Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
Serial.print(" SAT=");
Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites());
Serial.print(" PREC=");
Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());
}
gps.stats(&chars, &sentences, &failed);
Serial.print(" CHARS=");
Serial.print(chars);
Serial.print(" SENTENCES=");
Serial.print(sentences);
Serial.print(" CSUM ERR=");
Serial.println(failed);
if (chars == 0)
Serial.println("--NO DATA, Check Wiring--");
}
.
.
Setelah selesai memasukkan program, lanjutkan upload program ke arduino. Kemudian cek di serial monitor, apakah data dari GPS sudah masuk atau belum. Kalau sudah masuk, data longitude dan latitude dapat di copy dan paste kan di google map untuk melihat hasilnya yaitu lokasi gps tersebut.
.
Untuk panduan lebih lengkapnya silahkan tonton videonya.
--Beli paket modul kit ini disini--
.
Selamat mencoba. Salam Jogjarobotika :)
Comments
Leave your comment