GPS Code

Hallo Zusammen,

ich habe ein Code für GPS-Module und es funktioniert sehr gut, ich habe einige Änderungen drin vorgenommen und versuchte eine Dialognachricht einzufügen aber leider nicht geklappt.

Wer kann mir dabei helfen und mir zeigen wie füge das hin zu. Die gewünsche Nachricht sollte mir zeigen, wenn kein gps Signal :" No GPS Signal, Please wait… "

Das Code ist als Anhang.

MfG

Mustech

speed_lcd_dev.ino (4.18 KB)

Poste den Sketch bitte direkt im Forum in Code-Tags, dann kann man den auch auf Mobilen Geraten lesen.

if (empfang) {}
else
{
Serial.print("kein Empfang");
}

Vieleicht so?

Viele Dank fürdie rasche Antwort, sorry ich bin neu hier und der Admin hat es hier zu der deutschen Community verschoben dann war ich durcheinander :wink:

Sketch :

//LCD verbinden :
1 zu 3  



#include <SoftwareSerial.h>
#include <TinyGPS.h>
#include <LiquidCrystal.h>

#include <string.h>
#include <ctype.h>

SoftwareSerial serial1(8, 9); // RX, TX
TinyGPS gps1;
LiquidCrystal lcd(12, 11, 2, 3, 4, 5);

void setup() 

{
  serial1.begin(9600);
  Serial.begin(9600);
  lcd.begin(16, 2);
  Serial.println("GPS DATEN");
  lcd.print("--- MUSTECH ---");
  delay(1500);
  lcd.setCursor(0,1);
  lcd.print("----  GPS  ----");
  delay(1500);
  lcd.clear();
}

void loop() 

{
 bool empfang = false;

 while (serial1.available()) 
     {
    char cIn = serial1.read();
    empfang = gps1.encode(cIn);
     }
          
 if (empfang) 
    {
    Serial.println("----------------------------------------");
    
    //Latitude und Longitude
    long latitude, longitude;
    unsigned long ZeitInfo;
    gps1.get_position(&latitude, &longitude, &ZeitInfo);     

        
           if (latitude != TinyGPS::GPS_INVALID_F_ANGLE) 
             {
                Serial.print("Latitude: ");
                Serial.println(float(latitude) / 100000, 6);
             }

           if (longitude != TinyGPS::GPS_INVALID_F_ANGLE) 
             {
                Serial.print("Longitude: ");
                Serial.println(float(longitude) / 100000, 6);
             }

           if (ZeitInfo != TinyGPS::GPS_INVALID_AGE) 
             {
               Serial.print("ZeitInfo (ms): ");
               Serial.println(ZeitInfo);
             }


    //Tag und Uhrzeit
    int Jahr;
    byte Monat, Tag, Uhrzeit, Minute, Sekunde, Percent;
    gps1.crack_datetime(&Jahr, &Monat, &Tag, &Uhrzeit, &Minute, &Sekunde, &Percent, &ZeitInfo);

    Serial.print("Data (GMT): ");
    Serial.print(Tag);
    Serial.print("/");
    Serial.print(Monat);
    Serial.print("/");
    Serial.println(Jahr);

    Serial.print("Uhrzeit (GMT): ");
    Serial.print(Uhrzeit);
    Serial.print(":");
    Serial.print(Minute);
    Serial.print(":");
    Serial.print(Sekunde);
    Serial.print(":");
    Serial.println(Percent);


    //altitude
    float altitudeGPS;
    altitudeGPS = gps1.f_altitude();

    if ((altitudeGPS != TinyGPS::GPS_INVALID_ALTITUDE) && (altitudeGPS != 1000000)) {
       Serial.print("Altitude (cm): ");
       Serial.println(altitudeGPS);
    }


    //Tempo
    float Tempo;
    //Tempo = gps1.speed();       
    Tempo = gps1.f_speed_kmph();   //km/h
    //Tempo = gps1.f_speed_mph();  //mil/h
    //Tempo = gps1.f_speed_mps();  //mil/Sekunde

    Serial.print("Tempo (km/h): ");
    Serial.println(Tempo, 2);



    
    unsigned long Kurs;
    Kurs = gps1.course();

    Serial.print("Kurs (grau): ");
    Serial.println(float(Kurs) / 100, 2);


    //Satelliten und Präzision
    unsigned short SAT;
    unsigned long Praezision;
    SAT = gps1.satellites();
    Praezision =  gps1.hdop();

    if (SAT != TinyGPS::GPS_INVALID_SATELLITES) {
       Serial.print("SAT: ");
       Serial.println(SAT);
    }

    if (Praezision != TinyGPS::GPS_INVALID_HDOP) {
       Serial.print("Praezision): ");
       Serial.println(Praezision);

   
    }

    //#####  SET LCD  #####// 
       
     //Datum
      //lcd.setCursor(7, 0);
      //lcd.print("");
      //lcd.print(Tag);
      //lcd.print("/");
      //lcd.print(Monat);
      //lcd.print("/");
      //lcd.print(Jahr);

    //Uhrzeit
      //lcd.setCursor(0, 0);
      //lcd.print("");
      //lcd.print(Uhrzeit);
      //lcd.print(":");
      //lcd.print(Minute);
      
                     
    //Latitude
      lcd.setCursor(0, 0);
      lcd.print("LAT:");
      lcd.print(latitude);   

    //Longitude
      lcd.setCursor(0, 1);
      lcd.print("LON:");
      lcd.print(longitude);

    //SAT
      //lcd.setCursor(0, 0);
      //lcd.print("GPS-SAT:");
      //lcd.print(satelites);

    //Tempo     
      //lcd.setCursor(0, 1);       
      //lcd.print("TEMPO:" );
      //lcd.print(Tempo);
      //lcd.setCursor(12,1);
      //lcd.print("km/h");
    }


    }

Vielen Dank

Du hast keine Code-Tags verwendet, warum nicht ?

Sorry ich bin ziemlich Anfaenger und kenne mich noch nicht aus in solchen mega guten Foren.

Mustech: Sorry ich bin ziemlich Anfaenger und kenne mich noch nicht aus in solchen mega guten Foren.

Genau dafür gibt es das "How to use this Forum".

HotSystems: Genau dafür gibt es das "How to use this Forum".

Fragt sich nur, ob jemand mit dem Englischen zurecht kommt, der offenbar schon mit dem Deutschen Schwierigkeiten hat.

Gruß

Gregor

gregorss: Fragt sich nur, ob jemand mit dem Englischen zurecht kommt, der offenbar schon mit dem Deutschen Schwierigkeiten hat. Gruß Gregor

Ich seh das mal so, heute wird einfach keine Anleitung mehr gelesen. Einfach drauf lospfriemeln und wenn's nicht geht, wird gemeckert, aber nicht gelesen.

Leider bestätigt sich das auch hier im Forum immer aufs neue. OT: Wer liest den schon unsere Antworten genau durch ?

HotSystems: OT: Wer liest den schon unsere Antworten genau durch ?

Wenn Combies Oberlehrergetexte nicht gelesen wird, kann ich das verstehen. Aber wenn eine Antwort „gut“ ist, wird sie meinen Beobachtungen zufolge auch gelesen.

Gruß

Gregor

gregorss: Wenn Combies Oberlehrergetexte nicht gelesen wird, kann ich das verstehen.

Auch "Oberlehrertexte" sind oft hilfreich und sollten gelesen werden.

Aber wenn eine Antwort „gut“ ist, wird sie meinen Beobachtungen zufolge auch gelesen.

Reicht nicht, muss auch angewendet werden. Und das fehlt leider oft.

HotSystems: Ich seh das mal so, heute wird einfach keine Anleitung mehr gelesen. Einfach drauf lospfriemeln und wenn's nicht geht, wird gemeckert, aber nicht gelesen. Leider bestätigt sich das auch hier im Forum immer aufs neue. OT: Wer liest den schon unsere Antworten genau durch ?

Hallo, das sehe ich genau so... Wenn da keine funktionierende C&P-Antwort kommt, dann wird einfach nicht drauf eingegangen. Und von dem, was geschrieben steht- wird sich das rausgesucht, was am besten paßt. Ob das nun richtig oder falsch ist, spielt überhaupt keine Rolle. Gruß und Spaß Andreas

Also Leute, ihr wart sehr gut beim Angreifen, ob ich englisch kann oder nicht ist rein meine Sache, Eure Hilfe möchte ich nicht mehr.

Danke.

Mustech: ...ob ich englisch kann oder nicht ist rein meine Sache...

Das soll auch gerne deine Sache bleiben. Allerdings ohne englisch wird das mit dem Programmieren schon sehr schwer, erst Recht wenn du unsere Hilfe ablehnst.

Aber das musst du wissen, weiterhin viel Erfolg.