8 Eylül 2013 Pazar

Arduino UNO R3 - U Blox NEO-6M GPS Modül ile Konum Belirleme

Hamza Öztaş Share:
Image Hosted by ImageShack.us Image Hosted by ImageShack.us
Image Hosted by ImageShack.us Image Hosted by ImageShack.us

Image Hosted by ImageShack.us


GPS Terimleri

  • $GPGGA: Global Positioning System Fix Data
  • $GPGSV: GPS satellites in view
  • $GPGSA: GPS DOP and active satellites
  • $GPRMC: Recommended minimum specific GPS/Transit data


Önemli Noktalar;
  • Bu uygulamada Arduino UNO R3 ve U-Blox NEO-6M GPS Modül kullanılmıştır.
  • Bağlantı için U-Blox NEO-6M GPS Modül'ünün +5V, GND, TX ve RX pinleri kullanılmıştır.
    • GPS'in +5V, GND pinleri Arduino UNO'nun +5V, GND pini ile birleştirilmiştir.
    • GPS'in RX pini Arduino UNO'nun TX pinine
    • GPS'in TX pini Arduino UNO'nun RX pinine bağlanmalıdır
    • Dikkat ediniz TX-TX, RX, RX değil, TX-RX, RX-TX olmalıdır.
  • Konum belirleme işlemi  Arduino'nun Serial monitor kısmında görüntülenecektir.
    • Serial monitor'de aşağıdaki Örnek-1- ve Örnek -2- de gördüğünüz üzere kodlar görüntülenecektir, N  ve W harflerinin hemen önündeki sayısal ifadeler sizin konumunuzun enlem be boylam yani ( Latitude ve Longtitude) değerlerinizi vermektedir,
  • Daha sonra bu almış olduğunuz Enlem ve Boylam 'larınız Google map ve benzeri çeşitli siteler aracılığı kullandığınızda size bulunduğunuz yeri gösterecektir.
  • Latitude -90, +90 arasında olmak zorundadır
  • Serial monitor kısmında latitude ve longtitude degerlerini görüntülemekte sorun yaşıyorsanız Serial monitor baund rate degeriyle oynayın.
  • Bu uygulamayı yaparken açık bir alanda olmanız daha iyi olacaktır.

Image Hosted by ImageShack.us
Image Hosted by ImageShack.us

Arduino Kod;
#include <string.h> #include <ctype.h> int byteGPS=-1; char line[300] = ""; int cont=0; int a=0; int i=0; int GGA=0; void setup(){ Serial.begin(4800); } void loop(){ if (Serial.available() > 0){ byteGPS=Serial.read(); line[cont]=byteGPS; cont++; if(cont==300){ cont=0; } } if(cont>=5&& line[cont-1]=='C'&&line[cont-2]=='M'&&line[cont-3]=='R'&&line[cont-4]=='P'&&line[cont-5]=='G'){ while(line[cont-1]!='*'){ if (Serial.available() > 0){ byteGPS=Serial.read(); line[cont]=byteGPS; cont++; } } loc(line); GGA=0; cont=0; } } void loc(char* pch){ pch=strtok(line,","); while(pch!=NULL){ if(GGA==5){ GGA=-1; Serial.print("Direction (E/W): "); Serial.print(pch); Serial.println("\n"); } else if(GGA==4){ GGA=5; Serial.print("Longitude: "); Serial.print(pch); Serial.println("\n"); } else if(GGA==3){ GGA=4; Serial.print("Direction (N/S): "); Serial.print(pch); Serial.println("\n"); } else if(GGA==2){ GGA=3; Serial.print("Latitude: "); Serial.print(pch); Serial.println("\n"); } else if(GGA==1){ GGA=2; Serial.print("Time in UTC (HhMmSs): "); Serial.print(pch); Serial.println("\n"); } else if(GGA==0){ GGA=1; } pch=strtok(NULL,","); } delay(1000); }

Image Hosted by ImageShack.us Image Hosted by ImageShack.us



Image Hosted by ImageShack.us
Image Hosted by ImageShack.us
Image Hosted by ImageShack.us
Image Hosted by ImageShack.us
Image Hosted by ImageShack.us



Tarafından Yayınlandı >> Hamza Öztaş

Hamza Öztaş'ı google plus'ta takip etmek için Google'a tıklayın;
Google+.

1
replies
  1. merhaba ben gps ile ilgilenyorum. acil soru sormam gerekli yardımcı olabilir misiniz? e mail: f.firat.f@gmail.com

    YanıtlaSil

Get Updates in your Email
Complete the form below, and we'll send you our best of articles.

İletişim

© >> |
TOP