GPS datum en tijd voor uw tijdzone aanpassen


Ik kan me vergissen volledig door het ophangen van deze Instructables, maar ik heb moeite te vinden een eenvoudige manier om GPS datum en tijd gegevens naar mijn tijdzone hier in Australië te corrigeren. Ik heb een paar Arduino projecten die een GPS-module met een vorm van data logging hebben opgenomen. Elke keer dat ik moeite UTC-tijd gevangen van de tekenreeks NMEA data omzetten in lokale tijd hebben gehad of hebben gewoon kreeg en gebruikt een RTC in mijn project.

Er zijn dat een paar oplossingen op het web bevatten een paar hier op Instructables, maar als een amateur coder ik heb moeite om te integreren van de code in mijn eigen schetsen.

Hopelijk zal dit bericht geven die even worstelen, een gemakkelijke oplossing. Ik heb geprobeerd te houden de code zo eenvoudig mogelijk met overvloed van opties om aan te passen uw setup, Uno of Mega, software en hardware seriële verbindingen. Ik heb ook de berekening van de tijdzone in een eenvoudige functie die kan worden gekopieerd en geplakt recht in uw eigen schets.

U moet de TinyGPS ++ bibliotheek en de AltSoftSerial bibliotheek voor de sketch om te compileren correct installeren. Ik heb betere compatibiliteit met het GPS-modules die ik heb met behulp van de TinyGPS ++-bibliotheek. De AltSoftSerial-bibliotheek maakt het gemakkelijker om meerdere serieel apparaat verbonden met uw Uno. Dit is niet een probleem bij het gebruik van een Mega maar als u koppelen uw seriële apparaten op verschillende digitale pinnen wilt, dit is de eenvoudigste bibliotheek die ik heb gevonden.

Hier is de schets hieronder:

 #include <Time.h> // Time Library #include <TinyGPS++.h> // GPS Library #include <AltSoftSerial.h> // Allows two Serial connections // Set GPS RX and TX pins if using software serial connections. // See below to use hardware serial connections //static const int RXPin = 4, TXPin = 3; // Example Uno static const int RXPin = 48, TXPin = 46; // Example Mega static const uint32_t GPSBaud = 4800; //static const uint32_t GPSBaud = 9600; // The TinyGPS++ object TinyGPSPlus gps; // Serial connection to the GPS device AltSoftSerial Serial_GPS; //#define Serial_GPS Serial1 // Uncomment this line & comment // above line to use a hardware // Serial Port // Change this value to suit your Time Zone const int UTC_offset = 10; // Eastern Australia Time time_t prevDisplay = 0; // Count for when time last displayed void setup() { Serial.begin(9600); Serial_GPS.begin(GPSBaud); // Start GPS Serial Connection Serial.println("Waiting for GPS time ... "); } void loop() { GPS_Timezone_Adjust(); // Call Time Adjust Function } void GPS_Timezone_Adjust(){ while (Serial_GPS.available()) { if (gps.encode(Serial_GPS.read())) { int Year = gps.date.year(); byte Month = gps.date.month(); byte Day = gps.date.day(); byte Hour = gps.time.hour(); byte Minute = gps.time.minute(); byte Second = gps.time.second(); // Set Time from GPS data string setTime(Hour, Minute, Second, Day, Month, Year); // Calc current Time Zone time by offset value adjustTime(UTC_offset * SECS_PER_HOUR); } } // -- Delete this section if not displaying time ------- // if (timeStatus()!= timeNotSet) { if (now() != prevDisplay) { prevDisplay = now(); SerialClockDisplay(); } } // -- Also delete the SerialClockDisplay()function ---- // } // Keep void SerialClockDisplay(){ // Serial Monitor display of new calculated time - // once adjusted GPS time stored in now() Time Library // calculations or displays can be made. if (hour() < 10) Serial.print(F("0")); Serial.print(hour()); Serial.print(F(":")); if (minute() < 10) Serial.print(F("0")); Serial.print(minute()); Serial.print(F(":")); if (second() < 10) Serial.print(F("0")); Serial.print(second()); Serial.print(" "); if (day() < 10) Serial.print(F("0")); Serial.print(day()); Serial.print(F("/")); if (month() < 10) Serial.print(F("0")); Serial.print(month()); Serial.print(F("/")); Serial.println(year()); } 

Ik hoop dat je vond dit nuttig en het maakt uw volgende GPS dataloggen project een stuk eenvoudiger.

Gerelateerde Artikelen

LinKit One: Datum en tijd

LinKit One: Datum en tijd

Nauwkeurige datums en tijden zijn een belangrijk kenmerk te veel programma's. De linkit een biedt is het eigen tijdregistratie hardware, in het tijdperk stijl Unix (keer sinds 1 januari 1970).Dit Instructable gaat over de linkit één implementatie van
Net op tijd voor de feestdagen - kappen jezelf een vrolijk kleine set LED Kerstverlichting

Net op tijd voor de feestdagen - kappen jezelf een vrolijk kleine set LED Kerstverlichting

nu de feestdagen zijn snel nadert-- en een reeks van LED-lampjes gaat voor slechts vier of vijf dollar--het is hoog tijd om uw draad scharen en heat-shrink tubing, en maken een aantal flitsende lichten die u van je Arduino beheren kunt!In dit instruc
IOS 6 rode datum en tijd Bar Glitch

IOS 6 rode datum en tijd Bar Glitch

ik ga laten zien hoe u uw bar van de datum en tijd rood. DIT WERKT ALLEEN OP IOS 6.Stap 1: Zet hem op Ok, eerste je moet Passcode lock voor deze glitch inschakelen.Stap 2: Cijfers invoeren u al uw cijfers invoert in uw wachtwoord maar één. Vervolgens
Geweven hout Cross in de tijd voor Pasen

Geweven hout Cross in de tijd voor Pasen

Ik wilde dit Instructable opstaan in de tijd voor Pasen. Het is een eenvoudig en elegant project vereist minimale gereedschappen en benodigdheden.Dit project begon zoals zo velen doen - mijn vrouw een foto van iets ziet en me vraagt als ik het kan do
Toscaanse soep op tijd voor de Winter

Toscaanse soep op tijd voor de Winter

hier in Wisconsin waar ik woon, het begint te koud buiten (hoewel nog steeds lang niet zo koud als het deze tijd van het jaar zou moeten zijn). En er is niets beter dan het krijgen van thuis na een lange, koude dag in de mijnen van Wisconsin kaas (of
Arduino Charliplexed hart, net op tijd voor Valentijnsdag.

Arduino Charliplexed hart, net op tijd voor Valentijnsdag.

Hier is een Arduino gecontroleerd Charliplexed LED hart net op tijd voor Valentijnsdag. Het maakt gebruik van een totaal van 6 draden aan controle de 27 LEDs. Een PIC of AVR kan gemakkelijk worden gebruikt voor dit, maar ik heb Arduinos rondslingeren
Tekenen van een schedel net op tijd voor Halloween

Tekenen van een schedel net op tijd voor Halloween

Alles op één pagina en net op tijd voor uw Halloweenfeest! Hoe teken je een schedel in 6 eenvoudige stappen! U zult zich afvragen waarom je ooit dacht dat het was zo moeilijk! Ik heb de helft van een van deze op mijn deur, en het bleek prachtig! Het
GSM Proximity alarm met GPS locatie en tijd

GSM Proximity alarm met GPS locatie en tijd

Wat is het?Een batterij verkeer detector die rapporten van trigger events via SMS, samen met de tijd en locatie, afgeleid van GPS. Hier is een video van het in actie:Waar om het te gebruiken?Ik kan denken aan een paar van de gebruiksgevallen hiervoor
Hoe een persoon 's morgens, en hebben meer tijd voor jezelf!

Hoe een persoon 's morgens, en hebben meer tijd voor jezelf!

Wil je haat het opstaan in de ochtend?Het geluid van je wekker instellen u in paniek, droge zweet, en bijna brengen u naar tranen elke ochtend?Wil je haat mensen die gelukkig en chipper vroeg in de ochtend?Moet u ten minste twee kopjes koffie hebben
Koper bloemen net op tijd voor de feestdagen (geen lassen of uitrusting te smeden)

Koper bloemen net op tijd voor de feestdagen (geen lassen of uitrusting te smeden)

Dus ik deze bloemen gebaseerd op een aantal van de werkzaamheden van de meer getalenteerde mensen op deze site, maar de apparatuur ontbreekt of weten hoe maakte te gebruiken een smederij, maakte ik een manier dat iedereen ze kan maken met behulp van
Gerookte Turkije: Net op tijd voor Thanksgiving!

Gerookte Turkije: Net op tijd voor Thanksgiving!

Waardoor er Thanksgiving...  u bent op zoek naar een nieuw elan voor uw vogel vakantie maar je gewoon niet zeker weet hoe. Er is zeker de diepe frituren optie, maar u niet echt het gevoel dat het instellen van uw huis (of jezelf), in brand. Dus wat d
Directe draad GPS mount + EZPass houder voor Benz C240

Directe draad GPS mount + EZPass houder voor Benz C240

laatste voor de Toyota te gemakkelijk & niet genoeg foto's was. Ditmaal trekken ik inspiratie uit Apple!Benodigde materialen:-4 "x 12" ply balsahout-5/8" houten bal-1/2" houten deuvel-De zwarte verf-Cig lichte socket-5' dunne meten
Donkere tijd voor mijn fiets wordt licht voor mijn kantoor... Ontmoeten... de Upcycled fiets Lamp

Donkere tijd voor mijn fiets wordt licht voor mijn kantoor... Ontmoeten... de Upcycled fiets Lamp

na mijn fiets besloten om "vervroegde uittreding" heb ik besloten het verdiende een plaats in het huis. Helaas voor de fiets... moest het gaan door middel van een beetje "chirurgie" voordat het zou passen.Eigenlijk wat ik wil zeggen is
Tijd voor een klok

Tijd voor een klok

gewoon een combinatie van bicycleparts, een vrede van hout een boom brance en de beweging van een klok.Stap 1: Stukjes en beetjeseen vrede van hout, scorched is met een brander, cleand het en verzegeld het wit gemeenschappelijk vernis meerdere malenS