GY-NEO6MV2 GPS Modülü ve Arduino Uno ile Konum Tespiti

Konu, 'Arduino' kısmında Rukiye Gümüş tarafından paylaşıldı.

Etiketler:
  1. Rukiye Gümüş

    Rukiye Gümüş MB Üyesi

    Kayıt:
    11 Ekim 2015
    Mesajlar:
    16
    Beğeniler:
    6
    En İyi Cevap:
    0
    Değerlendiriler:
    +7 / 0 / -0
    Üniversite:
    BİLECİK ŞEYH EDEBALİ ÜNİ.
    Proje Resmi

    GY-NEO6MV2 GPS Modülü ve Arduino Uno ile Konum Tespiti.png

    Projeye ait gerekli kodlar


    PHP:
    // Nisan 2015
    /*
    Proje Adı: GPS MODÜL İLE KONUM TESPİTİ
    Proje Yürütücüsü: R.G.
    Proje Danışman Hocası: -
    Üniversite: -
    Bölüm: Bilgisayar Mühendisliği
    Proje Kapsamında Kullanılan Bileşenler :
    -- 1.6.2 Sürümlü Arduino IDE
    -- Arduino Uno R3 Geliştirme Platformu
    -- GY-GPS6MV2 GPS Modülü
    -- HC05 Bluetooth Modül
    */

    // SoftwareSerial kütüphanesini ekliyoruz.
    #include <SoftwareSerial.h>

    // Sabitler ->

    #define rx1Pin 3       // GPS bağlantısındaki rx pini. GPS.TX <-> ARDUİNO.RX
    #define tx1Pin 4       // GPS bağlantısındaki tx pini. GPS.RX <-> ARDUİNO.TX
    #define rx2Pin 6       // BLUETOOTH bağlantısındaki rx pini. BLUETOOTH.TX <->ARDUİNO.RX
    #define tx2Pin 7       // BLUETOOTH bağlantısındaki tx pini. BLUETOOTH.RX <-> ARDUİNO.TX
    #define sLed 11        // Sarı LED 11. pine bağlanacak.
    #define kLed 12        // Kırmızı LED 12. pine bağlanacak.
    #define yLed 13        // Yeşil LED 13. pine bağlanacak.

    // GPS modül için kullanılacak seri haberleşme pinleri tanımlanıyor:
    SoftwareSerial gps(rx1Pintx1Pin);

    // BLUETOOTH modül için kullanılacak seri haberleşme pinleri tanımlanıyor:
    SoftwareSerial bt(rx2Pintx2Pin);

    // Değişkenler ->

    byte byteGPS 0;       // byte veri türü 0-255 arasındaki işaretsiz(pozitif) sayıları sakar.
    int i 0;              // int veri türü 2 byte'lık tam sayıları saklar.
    int durum 0;
    int uydu 0;
    char dataGPS[100] = "";
    char *parca;
    char *GGA[15];

    int key 9;              // Bluetooth modülün key pini
    void string();
    void cikti(char **GGAPrintchar *veri);





    void setup() {         // Kurulum kodları buraya yazılır, sadece bir kere çalıştırılır.

    // Seri iletişim başlatılıyor..
    Serial.begin(9600);    // Seri portla iletişimin 9600 baud hızında olacağı belirtiliyor.

    // GPS seri port için kurulum.

    pinMode(rx1PinINPUT);
    pinMode(tx1PinOUTPUT);
    gps.begin(9600);
    // BLUETOOTH seri port için kurulum.

    pinMode(rx2PinINPUT);
    pinMode(tx2PinOUTPUT);
    bt.begin(9600);
    pinMode(keyOUTPUT);
    digitalWrite(keyLOW);   //  BLUETOOTH modül için AT komutları kullanmadığım için KEY  pinini LOW //konumunda tutuyorum...


    // Uydu sinyalleri kurulumu.

    pinMode(kLedOUTPUT);    // pinMode() fonksiyonu iki parametre alır.İlk parametre pini, ikinci parametre giriş mi //çıkış mı olacağını ifade eder.
    pinMode(yLedOUTPUT);
    pinMode(sLedOUTPUT);
    digitalWrite(kLedHIGH);  // kLed değişkeninin değerini HIGH yapar. Yani LED yanar.
    digitalWrite(yLedLOW);   // yLed değişkenin değerini LOW yapar. Yani LED sönük durumda.
    digitalWrite(sLedLOW);
    // Bir uydu sinyali yokken kırmızı yansın, uydudan sinyal alınınca yeşil yansın.
    }


    void loop() {  // Ana kod buraya yazılır. Durmadan tekrarlayarak çalışır.
    if(bt.available()){
    bt.println("GPS Verileri Bekleniyor...");
    }
    Serial.println("GPS Verileri Bekleniyor...");
    // GPS seri porttan gelen verileri okumak için yapılan hazırlıklar.
    while(gps.available())
    {
    memset(dataGPS0sizeof(dataGPS));     // Önceki okumaları kaldırır. dataGPS=0 olacak.
    //memset(p1,p2,p3) : Bu fonksiyon üç tane parametre alır. p3 boyutunda p1 verisine p2 yi //atar.

    byteGPS 0;  // Verileri kaldırır.
    byteGPS gps.read();                    // GPS seri porttan gelen verileri okur.
    delay(1000);                             // 1 saniyelik gecikme.

    // İstenilen Stringi(Karakter Dizisi) bul.
    while(byteGPS != '$')
    {

        
    byteGPS gps.read();
    }
    //Stringi bir diziye kaydet.
    1;
    dataGPS[0] = '$';
    while(
    byteGPS != '*')   // * işaretinin olduğu yer sağlama verilerinin başladığı yerdir //byte GPS * İşertine eşit olmadığı sürece dataGPS dizisine veriler kaydedililir.
    {

        
    byteGPS gps.read();
        
    dataGPS[i] = byteGPS;
        
    i++;
    }
    dataGPS[i] = '/0';
    string();                // string() olarak tanımladığımız fonksiyonu çağırıyoruz.
    }  // GELEN VERİLERİN SONU
    }  // LOOP SONU
    /*
    Bu Fonksiyon( İşlev )  enlem ve boylam almak için ihtiyacımız olan verileri tanımlamamıza olanak sağlar ...
    */
    void string()
    {
    i=0;
    memset(GGA,sizeof(GGA));  // Önceki okumaları kaldırır.
    parca strtok(dataGPS",");  // strtok(): (String Tokenizer): Karakter dizisini parçalamak için kullanılır.
    if (strcmp(parca"$GPGGA") == 0)
    //strcmp(p1,p2): p1 ve p2'yi karşılaştırır. Eşitse 0, p1 büyükse 0'dan büyük küçükse 0'dan küçük bir değer gönderir.
    {
       while (
    parca != NULL)
       {
         
    parca strtok (NULL",");
         
    GGA[i] = parca;
         
    i++;
       }

       
    cikti(GGA"$GPGGA");      // Verileri görüntülemek için bu fonksiyonu çağırırız.

    }

    }
    /*
    Bu fonksiyon GPS'den alınan verilerin seri monitörde yazılmasını düzenler.
    */
    void cikti(char **GGAPrintchar *veri)
    {
       
    durum atoi(GGAPrint[5]); // atoi içindeki strig olan parametresini int türüne çevirir.
       
    uydu atoi(GGAPrint[6]);

       if(
    veri == "$GPGGA&& durum == 1)
       {

        
    digitalWrite(yLedHIGH);        // Uydu sinyali alındı, yeşil LED yansın.
        
    digitalWrite(kLedLOW);         // Kırmızı LED sönsün.


        
    Serial.println("");
        
    Serial.println("---------------------------------------");    // Verileri satır satır //gönderir. Yani imleci bir alt satıra geçirir.
        
    Serial.print("UTC Saat -> ");    // Veriyi aynı satıra yazar.
        
    Serial.println(GGAPrint[0]);
        
    Serial.print("Enlem -> ");
        
    Serial.print(GGAPrint[1]);
        
    Serial.println(GGAPrint[2]);
        
    Serial.print("Boylam -> ");
        
    Serial.print(GGAPrint[3]);
        
    Serial.println(GGAPrint[4]);
        
    Serial.print("GPS Kalitesi : 0=null; 1= GPS sabit -> ");
        
    Serial.println(durum);
        
    Serial.print("Uydu Sayısı -> ");
        
    Serial.println(uydu);
        
    Serial.print("Yatay Hassasiyet Kaybı -> ");
        
    Serial.println(GGAPrint[7]);
        
    Serial.print("Anten Yüksekliği -> ");
        
    Serial.print(GGAPrint[8]);
        
    Serial.println(GGAPrint[9]);
        
    Serial.print("Geoid Ayırma -> ");
        
    Serial.print(GGAPrint[10]);
        
    Serial.println(GGAPrint[11]);
        
    Serial.println("---------------------------------------");
        
    Serial.println("");
        if(
    bt.available())
       {
           
    digitalWrite(sLedHIGH);         // Sarı LED yansın.
           
    bt.println("ENLEM VE BOYLAM DEGERLERI");
           
    bt.print("ENLEM:");
           
    bt.print(GGAPrint[1]);
           
    bt.println(GGAPrint[2]);
           
    bt.print("BOYLAM:");
           
    bt.print(GGAPrint[3]);
           
    bt.println(GGAPrint[4]);
     
          }
      }
    else          
    // Eğer uydu bağlantısı yoksa
    {
       
    digitalWrite(kLedHIGH);    // Kırmızı LED yansın.
       
    digitalWrite(yLedLOW);     // Yeşil LED sönsün.
       
    Serial.println("");
       
    Serial.println("------------------------------");
       
    Serial.println("|---------BEKLEME KONUMU-----|");
       
    Serial.println("------------------------------");
       
    Serial.println("");

       if(
    bt.available())
       {
         
    digitalWrite(sLedHIGH);         // Sarı LED yansın.
         
    bt.print("BEKLEME DURUMU");
         
    bt.print("KONUM BILGILERI ALINAMIYOR...");

       }


    }
    }

    /*
    GGA - essential fix data which provide 3D location and accuracy data.

    $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

    Where:
         GGA          Global Positioning System Fix Data
         123519       Fix taken at 12:35:19 UTC
         4807.038,N   Latitude 48 deg 07.038' N
         01131.000,E  Longitude 11 deg 31.000' E
         1            Fix quality: 0 = invalid
                                   1 = GPS fix (SPS)
                                   2 = DGPS fix
                                   3 = PPS fix
                       4 = Real Time Kinematic
                       5 = Float RTK
                                   6 = estimated (dead reckoning) (2.3 feature)
                       7 = Manual input mode
                       8 = Simulation mode
         08           Number of satellites being tracked
         0.9          Horizontal dilution of position
         545.4,M      Altitude, Meters, above mean sea level
         46.9,M       Height of geoid (mean sea level) above WGS84
                          ellipsoid
         (empty field) time in seconds since last DGPS update
         (empty field) DGPS station ID number
         *47          the checksum data, always begins with *

    */
    Projede GPS Modülü ile alınan verilerin ayıklanarak, enlem ve boylam bilgilerine ulaşılması ve bunların BLUETOOTH Modül ile android işletim sistemine sahip bir telefona gönderilmesi sağlanmıştır.

    BLUETOOTH Modülün etki alanı kısa mesafelerle sınırlı. Bu yüzden projenin ikinci aşamasında GSM Modülü kullanarak verilerin telefona sms olarak gönderilmesiyle ilgili çalışıyorum.

    Görülüyor ki tarayıcınız PDF görüntelemeyi desteklemiyor. Adobe flash eklentilerini kurmanızı öneririz. Endişelenmeyin. Buraya tıklayarak dosyayı indirebilirsiniz.

     

    Ekli Dosyalar:

    • Beğen Beğen x 5
  2. Gookhan

    Gookhan MB Üyesi

    Kayıt:
    8 Kasım 2015
    Mesajlar:
    15
    Beğeniler:
    1
    En İyi Cevap:
    1
    Değerlendiriler:
    +3 / 0 / -0
    Üniversite:
    Atatürk Üniversitesi
    Tebrikler, başarılar
     
  3. Rukiye Gümüş

    Rukiye Gümüş MB Üyesi

    Kayıt:
    11 Ekim 2015
    Mesajlar:
    16
    Beğeniler:
    6
    En İyi Cevap:
    0
    Değerlendiriler:
    +7 / 0 / -0
    Üniversite:
    BİLECİK ŞEYH EDEBALİ ÜNİ.
    Teşekkür ederim.
     
  4. Merve Seyyid

    Merve Seyyid MB Üyesi

    Kayıt:
    10 Mayıs 2016
    Mesajlar:
    1
    Beğeniler:
    1
    En İyi Cevap:
    0
    Değerlendiriler:
    +2 / 0 / -0
    Üniversite:
    Anadolu Üniversitesi
    bende aynı bu projeyi yapıyorum bana da hocam ilk bluetooth modülüyle dene sonra gsm'e geç dedi ama ben android'e aktarma kısmını yapamadım hiç bir kaynakta bulamadım projenin tamamını yayınlayabilirmisiniz android telefona gps verilerini nasıl gönderdiniz,şuan konum alıyorum ama onu atamadım yardım edebilir misiniz?
     
    • Beğen Beğen x 1
    • Katılıyorum Katılıyorum x 1
  5. okanjan33

    okanjan33 MB Üyesi

    Kayıt:
    10 Mayıs 2016
    Mesajlar:
    1
    Beğeniler:
    1
    En İyi Cevap:
    0
    Değerlendiriler:
    +1 / 0 / -0
    Üniversite:
    Hayat üniverstesi
    Buda deney amaçlıl1 l2 sinyal bazlı gps sinyal üreteci.

    P_20160510_122644.jpg
     
    • Beğen Beğen x 1
  6. Arman Amak

    Arman Amak Özel Üye

    Kayıt:
    5 Mayıs 2016
    Mesajlar:
    54
    Beğeniler:
    13
    Meslek:
    Ziraat mühendisi
    En İyi Cevap:
    1
    Değerlendiriler:
    +21 / 0 / -0
    Üniversite:
    Harran üniversitesi
    Tebrikler, başarılar.
     
    • Beğen Beğen x 1
  7. mehmettyuksell

    mehmettyuksell MB Üyesi

    Kayıt:
    21 Ekim 2016
    Mesajlar:
    3
    Beğeniler:
    0
    En İyi Cevap:
    0
    Değerlendiriler:
    +0 / 0 / -0
    Üniversite:
    Dokuz Eylül Üniversitesi
    Rukiye proje ile ilgili ayrıntılı dökümanları paylaşma şansın varsa çok yardımcı olursun bana.
     
  8. Deduska

    Deduska MB Üyesi

    Kayıt:
    29 Temmuz 2016
    Mesajlar:
    191
    Beğeniler:
    123
    Meslek:
    Developer
    En İyi Cevap:
    9
    Değerlendiriler:
    +151 / 1 / -0
    Merhaba, tebrik ederim güzel bir proje olmuş. İyi bir fikir ile süslenirse tadından yenmez. RF ile de bir proje yapabilirsin.
    Başarılar.
     
    • Beğen Beğen x 1
  9. Rukiye Gümüş

    Rukiye Gümüş MB Üyesi

    Kayıt:
    11 Ekim 2015
    Mesajlar:
    16
    Beğeniler:
    6
    En İyi Cevap:
    0
    Değerlendiriler:
    +7 / 0 / -0
    Üniversite:
    BİLECİK ŞEYH EDEBALİ ÜNİ.
    Projeye ait detaylı rapora buradan ulaşabilirsiniz. ilk mesaja eklendi.
    Yorumlar ve öneriler için teşekkür ederim.
     
    Son düzenleme yönetici tarafından yapıldı: 22 Ekim 2016
    • Bilgilendirici Bilgilendirici x 1
  10. Rukiye Gümüş

    Rukiye Gümüş MB Üyesi

    Kayıt:
    11 Ekim 2015
    Mesajlar:
    16
    Beğeniler:
    6
    En İyi Cevap:
    0
    Değerlendiriler:
    +7 / 0 / -0
    Üniversite:
    BİLECİK ŞEYH EDEBALİ ÜNİ.
    Ayrıca @Merve Seyyid çok geçmiş üstünden ama mesajını gözden kaçırmışım, gerçekten elimden geldiğince yardımcı olmak isterdim kusura bakma lütfen.
     
  11. mehmettyuksell

    mehmettyuksell MB Üyesi

    Kayıt:
    21 Ekim 2016
    Mesajlar:
    3
    Beğeniler:
    0
    En İyi Cevap:
    0
    Değerlendiriler:
    +0 / 0 / -0
    Üniversite:
    Dokuz Eylül Üniversitesi
    detaylar için teşekkür ederim Rukiye.
     
  12. Rukiye Gümüş

    Rukiye Gümüş MB Üyesi

    Kayıt:
    11 Ekim 2015
    Mesajlar:
    16
    Beğeniler:
    6
    En İyi Cevap:
    0
    Değerlendiriler:
    +7 / 0 / -0
    Üniversite:
    BİLECİK ŞEYH EDEBALİ ÜNİ.
    Rica ederim @mehmettyuksell , projenin son haline ait raporu paylaştım yani gsm modülü eklenmiş hali. Bluetooth ile ilgili kısım da işinize yararsa onunla ilgili raporu da atabilirim. Faydalandığım kaynakları da son kısımda bulabilirsiniz.
     
  13. mehmettyuksell

    mehmettyuksell MB Üyesi

    Kayıt:
    21 Ekim 2016
    Mesajlar:
    3
    Beğeniler:
    0
    En İyi Cevap:
    0
    Değerlendiriler:
    +0 / 0 / -0
    Üniversite:
    Dokuz Eylül Üniversitesi
    mevcutsa yararlanmak isterim. verilerin nasıl okunacağına karar vermedim henüz (bilgisayar lcd vs.)ama bluetooth modülünün İos ta çalışmayacağı yorumlarını gördüm bazı kaynaklarda acaba bilgin varmı bu konuda?
     
  14. Rukiye Gümüş

    Rukiye Gümüş MB Üyesi

    Kayıt:
    11 Ekim 2015
    Mesajlar:
    16
    Beğeniler:
    6
    En İyi Cevap:
    0
    Değerlendiriler:
    +7 / 0 / -0
    Üniversite:
    BİLECİK ŞEYH EDEBALİ ÜNİ.
    HC05 Bluetooth modülünü kullandığım zaman hazırlamış olduğum rapor bu: 0BMproje.pdf

    Benim bilgim de bluetooth modülü ile ios cihazlara veri gönderilemeyeceği yönünde. Bluetooth yerine wifi modülü veya gsm modülü kullanabilirsiniz. Ben bluetooth' u denedikten sonra gsm modülü kullandım mesafeye bağlı kalmaksızın sms olarak veri gönderilebiliyor ayrıca GPRS özelliği sayesinde internet üzerinden de haberleşme sağlamak mümkün.
     
  15. kupince

    kupince MB Üyesi

    Kayıt:
    27 Ekim 2016
    Mesajlar:
    1
    Beğeniler:
    0
    Meslek:
    Harita müh.
    En İyi Cevap:
    0
    Değerlendiriler:
    +0 / 0 / -0
    Üniversite:
    YTU
  16. Rukiye Gümüş

    Rukiye Gümüş MB Üyesi

    Kayıt:
    11 Ekim 2015
    Mesajlar:
    16
    Beğeniler:
    6
    En İyi Cevap:
    0
    Değerlendiriler:
    +7 / 0 / -0
    Üniversite:
    BİLECİK ŞEYH EDEBALİ ÜNİ.
    @kupince;

    İkisinde de aynı version gps modül kullanılmış fakat ilkinde açıklama kısmında görmüşsünüzdür çip eskidir yazıyor. Ayrıca dediğiniz gibi antenlerin farklı tip ve büyüklükte olması da fiyat artışında etkili büyük ihtimalle.
     
  17. Rukiye Gümüş

    Rukiye Gümüş MB Üyesi

    Kayıt:
    11 Ekim 2015
    Mesajlar:
    16
    Beğeniler:
    6
    En İyi Cevap:
    0
    Değerlendiriler:
    +7 / 0 / -0
    Üniversite:
    BİLECİK ŞEYH EDEBALİ ÜNİ.
    @Oğuzhan Mallı; projeye ait raporu kaldırıp güncel halini ekleyebilir misiniz?
     
    • Beğen Beğen x 1
  18. alasko

    alasko MB Üyesi

    Kayıt:
    17 Aralık 2016
    Mesajlar:
    3
    Beğeniler:
    1
    En İyi Cevap:
    0
    Değerlendiriler:
    +1 / 0 / -0
    Tebrik ederim, bir sorum olucak gsm anteni bulmakta zorlaniyorum nasıl temin edebilirim , yardımcı olursaniz çok sevinirim
     
    • Beğen Beğen x 1
  19. SpyCod3

    SpyCod3 #./646e63 MB Üyesi

    Kayıt:
    16 Aralık 2016
    Mesajlar:
    6
    Beğeniler:
    3
    Meslek:
    Back-End Developer
    En İyi Cevap:
    0
    Değerlendiriler:
    +5 / 0 / -0
    Güzel bir proje olmuş tebrik ederim, ayrıca kaynak kodlarını bizlere paylaştığın için teşekkürler.
     
    • Beğen Beğen x 1
  20. Rukiye Gümüş

    Rukiye Gümüş MB Üyesi

    Kayıt:
    11 Ekim 2015
    Mesajlar:
    16
    Beğeniler:
    6
    En İyi Cevap:
    0
    Değerlendiriler:
    +7 / 0 / -0
    Üniversite:
    BİLECİK ŞEYH EDEBALİ ÜNİ.
    @alasko ; teşekkür ederim. Benim gsm modemimdeki gsm anteni şuna benziyor Gsm Anten 90 Derece , bir inceleyin isterseniz, belki işinize yarar. Ben GSM Kontrol adresindeki gsm modemi almıştım anteniyle birlikte gönderdiler ve satıcı sonradan oluşan problemler konusunda da yardımcı olmuştu. Bu konu hakkında bilgisi olan bir arkadaş, eğer hiçbiri içinize sinmezse mail atıp iletişime geçin belki benden daha çok yardımcı olur.

    @SpyCod3 ; ben teşekkür ederim, umarım birilerinin üzerine daha iyi fikirler ekleyerek çok daha güzel ve işe yarar projeler oluşturmasına vesile olur.