Hallo Zusammen,
Ich bin noch neu im Arduino Thema und komme bei meinem Programm nicht weiter...
Mein Setup:
Arduino Uno R3
Ublox Neo 6m GPS
SH1106 OLED
Wie man die ganzen Daten com GPS zieht und Anzeigt ist ja recht eindeutig wenn man sich die Beispiele ansieht.
Nun möchte ich mit aber meinen Topspeed anzeigen lassen.
Nach langem rum suchen in anderen Themen und rum probieren komme ich einfach nicht weiter.
Er zeigt alle Daten im Serial Monitor richtig an, nur Vmax bleibt eben die null stehen....
Im Kopf setze ich unächst den Aktuellen- und Topspeed auf null.
Ganz am Ende dann die Errechnung des Topspeed. (zumindest Theoretisch).
Weiß von euch jemand wo hier der fehler liegt?
Ps. Wie hänge ich das Programm eigentlich "vernünftig" an und nicht als Text?
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
static const int RXPin = 4, TXPin = 3;// Here we make pin 4 as RX of arduino & pin 3 as TX of arduino
static const uint32_t GPSBaud = 9600;
TinyGPSPlus gps;
SoftwareSerial ss(RXPin, TXPin);
int maxspeed=0;
int currentspeed=0;
void setup()
{
Serial.begin(9600);
ss.begin(GPSBaud);
}
void loop()
{
while (ss.available() > 0)
if (gps.encode(ss.read()))
displayInfo();
}
void displayInfo()
{
//Print Location
Serial.print(F("Location: "));
Serial.print(gps.location.lat(), 6);
Serial.print(F(","));
Serial.print(gps.location.lng(), 6);
//Print Date
Serial.print(F(" Date "));
Serial.print(gps.date.day());
Serial.print(F("/"));
Serial.print(gps.date.month());
Serial.print(F("/"));
Serial.print(gps.date.year());
//Print Current Speed
Serial.print(F(" Speed: "));
Serial.print(gps.speed.kmph());
Serial.print(F("kmph "));
//Print Max Speed
Serial.print(F(" Vmax: "));
Serial.print(maxspeed);
Serial.print(F("kmph "));
Serial.println();
delay(500);
}
void vmax() {
currentspeed = (gps.speed.kmph());
if ( currentspeed > maxspeed)
{maxspeed = currentspeed;}
}