#include #include #include #include #include TinyGPSPlus GPS; LiquidCrystal_I2C lcd(0x27, 20, 4); // LCD address to 0x20 (20 chars on 4 line) SoftwareSerial ss(3, 4); //serial connection to GPS (Rxpin,Txpin) void setup() { ss.begin(9600); Serial.begin(9600); lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("GPS Neo 6M"); lcd.setCursor(0, 1); lcd.print("attente signal"); } void loop() { while (ss.available() > 0) { if (GPS.encode(ss.read())) { if (GPS.location.isUpdated() && GPS.altitude.isUpdated()) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("LT"); lcd.setCursor(3, 0); lcd.print(GPS.location.lat(), 3); lcd.setCursor(11, 0); lcd.print("LG"); lcd.setCursor(14, 0); lcd.print(GPS.location.lng(), 3); lcd.setCursor(0, 1); lcd.print("AL"); lcd.setCursor(3, 1); lcd.print(GPS.altitude.meters()); lcd.setCursor(11, 1); lcd.print("VI"); lcd.setCursor(14, 1); lcd.print(GPS.speed.kmph(), 2); lcd.setCursor(7, 2); lcd.print("SA"); lcd.setCursor(10, 2); lcd.print(GPS.satellites.value()); lcd.setCursor(0, 3); lcd.print(GPS.date.day()); lcd.setCursor(2, 3); lcd.print("/"); lcd.setCursor(3, 3); lcd.print(GPS.date.month()); lcd.setCursor(5, 3); lcd.print("/"); lcd.setCursor(6, 3); lcd.print(GPS.date.year()); lcd.setCursor(11, 3); lcd.print(GPS.time.hour()); lcd.setCursor(13, 3); lcd.print(":"); lcd.setCursor(14, 3); lcd.print(GPS.time.minute()); lcd.setCursor(16, 3); lcd.print(":"); lcd.setCursor(17, 3); lcd.print(GPS.time.second()); delay(2000); } } } }