Tinygps Hız Alma
  • Merhaba arkadaşlar tinygps ile konum alma başarılı fakat ne yaptıysam hızı bulamıyorum göstermiyor acaba konu ile ilgili bilgisi olan biri tinygps ile bir örnek yazabilir mi sadece hız lazım bana
  • gps ten gelen veriler içinde tarih saat,konum, yukseklik,gidiş açısı ve hız bilgisi knot olarak vardır. gps dokumanını tekrar bir inceleyin
  • Kod bu hocam eksik ya da hata nedir çözemedim.

    #include TinyGPS.h>
    #include String.h>
    float oncekienlem = 0.0;
    float oncekiboylam = 0.0;
    int hiz;
    TinyGPS shield;
    float latitude, longitude;
    void setup()
    {
    Serial.begin(115200);
    Serial2.begin(115200);///GPS
    Serial1.begin(19200);///GSM
    }
    // The getgps function will interpret data from GPS and display on serial monitor
    void getgps(TinyGPS &gps)
    {
    // Define the variables that will be used
    // Then call this function
    shield.f_get_position(&latitude, &longitude);
    Serial.println("--------------------------------------------------------------");
    Serial.print("ENLEM: ");
    Serial.print(latitude, 5);
    Serial.print(" BOYLAM: ");
    Serial.println(longitude, 5);
    delay(1000);
    if ((latitude != oncekienlem) || (longitude != oncekiboylam))
    {
    oncekienlem = latitude;
    oncekiboylam = longitude;
    SendSQL();
    }
    int year;
    byte month, day, hour, minute, second, hundredths;
    shield.crack_datetime(&year, &month, &day, &hour, &minute, &second, &hundredths);
    //Print data and time
    Serial.print("GMT(+3) SAAT- ");
    Serial.print((hour + 3), DEC);
    Serial.print(":");
    if (minute < 10)
    {
    Serial.print("0");
    Serial.print(minute, DEC);
    }
    else if (minute >= 10)
    {
    Serial.print(minute, DEC);
    }
    // Serial.print(":");
    if (second < 10)
    {
    Serial.print("0");
    Serial.print(second, DEC);
    }
    else if (second >= 10)
    {
    Serial.print(second, DEC);
    }
    Serial.print(" ");
    Serial.print(day, DEC);
    Serial.print("/");
    Serial.print(month, DEC);
    Serial.print("/");
    Serial.println(year, DEC);
    Serial.print("RAKIM-HIZ ");
    Serial.print(gps.f_altitude());
    Serial.print("m ");
    int hiz = gps.f_speed_kmph();
    Serial.print(hiz);
    Serial.println("km/h");
    }
    void loop()
    {
    byte a;
    if ( Serial2.available() > 0 ) // if there is data coming from the GPS shield
    {
    a = Serial2.read(); // get the byte of data
    if (shield.encode(a)) // if there is valid GPS data...
    {
    getgps(shield); // then grab the data and display it on the LCD
    }
    }
    //mesaj gonderme
    if (Serial.available()) // if there is incoming serial data
    switch (Serial.read()) // read the character
    {
    case 'P': // if the character is 't'
    SendTextMessage(); // send the text message
    break;
    case 'D': // if the character is 't'
    SendSQL(); // send the text message
    break;
    }
    }
    void SendTextMessage()
    {
    Serial.println("Sending Text...");
    Serial1.print("AT+CMGF=1\r"); // Set the shield to SMS mode
    delay(100);
    // send sms message, the phone number needs to include the country code e.g. if a U.S. phone number such as (540) 898-5543 then the string must be:
    // +15408985543
    Serial1.println("AT+CMGS = \"+905317981128\"");
    delay(100);
    Serial1.println("CIHAZ 1 KONUM BILGISI");
    delay(50);
    Serial1.print("ENLEM: ");
    delay(50);
    Serial1.print(latitude, 5);
    Serial1.print(" BOYLAM: ");
    Serial1.println(longitude, 5);
    delay(100);
    Serial1.print((char)26);//the ASCII code of the ctrl+z is 26 (required according to the datasheet)
    delay(100);
    Serial1.println();
    Serial.println("Text Sent.");
    }
    void SendSQL()
    {
    Serial1.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");
    delay(500);
    //Serial1.println("AT+SAPBR=3,1,\"APN\",\"CMNET\"");
    Serial1.println("AT+SAPBR=3,1,\"APN\",\"VODAFONE\"");
    delay(500);
    Serial1.println("AT+SAPBR=1,1");
    delay(500);
    Serial1.println("AT+SAPBR=2,1");
    delay(500);
    Serial1.println("AT+HTTPINIT");
    delay(500);
    Serial1.println("AT+HTTPPARA=\"CID\",1");
    delay(500);
    Serial1.print("AT+HTTPPARA=\"URL\",\"http://teknokilavuz.com/isle.php?");
    Serial1.print("enlem=");
    Serial1.print(latitude, 5);
    Serial1.print("&boylam=");
    Serial1.print(longitude, 5);
    Serial1.print("&kimlik=06RC459");
    Serial1.print("&hiz=");
    Serial1.print(hiz);
    Serial1.println("\"");
    delay(500);
    Serial1.println("AT+HTTPACTION=0");
    //delay(500);
    /*
    Serial1.println("AT+HTTPTERM");
    delay(500);
    Serial1.println("AT+SAPBR=0,1");
    delay(500);
    Serial.println("Databaseye Gonderildi");
    */
    }
  • Bende kendime kızıyordum neden yapamadım diye formda bunu çözecek kimse olmadığına göre sorun ciddi :)
  • tinygps kutuphanesinden
    hız için gps.f_speed_kmph()
    yukseklik gps.f_altitude()
    kuzeye göre gidiş açısı gps.f_course()

    örnek şurada https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/gps_arduino_1_0.ino

    bu bilgiye şöyle ulaştım "tinygps examples" diye arattım birinci örneği açtım ve aradığım bilgi fazlasıyla vardı. yani herşeyi bilmemize gerek yok akıllı bir şekilde ararsak da bilgiye ulaşabiliyoruz. bu cevabı yazmak için araması yazması toplam 15sn sürdü. günlerce beklemeseydin keşke...

    herşey kolay, yaşamak zor...


  • gps.f_speed_kmph() ; bu kodda mevcut aslında saat filanda var ama yinede olmadı hız hep 0 evet o şekilde arayınca birçok kaynak var ama hiçbiri çalışmadı benim kodda her şey faal çok lazımmış gibi rakım bile çalışıyor ama asıl lazım olan hız yok :) evet hayat kolay ama paylaştıkça daha kolay :)
  • bir araca koyup veri okumaya çalıştınızmı durduk yerde hız bilgisi 0 gelecek :P
  • Bunu düşünmemiş olma ihtimalini düşündüğünüz için sizi kınadım :)
  • Her denemede çıkıp dolaşıyorum araba ile :) Mazot fiyatları büktü belimi :)
  • Hocam Hortlatacağım konuyu ama sorununuzu halledebildiniz mi?

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.