Stap 10: Software Code uitleg - vervolg
//**********GPS LATITUDE DATA SEPERATION***********Serial.println("***************GPS DATA************"); Serial.println("LAT:"+ latitude); //To display the GPS format latitute in ddmm.mmmm String dd, mm1, mm2, mm3; int dotlocation = latitude.indexOf('.'); dd = latitude.substring(dotlocation-4, dotlocation-2); mm1 = latitude.substring(dotlocation-2, dotlocation); mm2 = latitude.substring(dotlocation+1, dotlocation+5); unsigned long D1 = dd.toInt(); //Convert the received string to int unsigned long MM1 = mm1.toInt(); //Convert the received string to int unsigned long MM2 = mm2.toInt(); //Convert the received string to int int setdot; //Used to set the precision if (D1 > 9) setdot = 2; else setdot = 1; Serial.print("DD= "); Serial.println(D1); //Store the dd Serial.print("mm1="); Serial.println(MM1); //Store two mm Serial.print("mm2="); Serial.println(MM2); //Store the remain .mmmm Serial.print("dotlocation = "); Serial.println(dotlocation);
Wanneer we een coördinaat van de GPS krijgen, ontvangen we het in de indeling ddmm.mmm. Ter vergemakkelijking van toekomstige berekeningen, wij de gegevens opsplitsen in dd, mm, mmmm. Dit gedeelte van de code zorgt voor dat. We gebruiken de functie "indexOf()" te vinden van de locatie van de stip en splitsen de gegevens dienovereenkomstig. Daarna omzetten wij in elk onderdeel unsigned long int waarden.