#include #include //#include #include //#define CS 4 //Required Chip select for Eternet Shield #define CS 10 //Required Chip select for Interface Shield #define LED 13 //#define SW 5 //#define SS 10 SoftwareSerial gps( 6, 7 ); int i; char msg[256]; char flg; void setup() { pinMode(CS, OUTPUT); pinMode(LED, OUTPUT); //pinMode(SW, INPUT); gps.begin(9600); Serial.begin(9600); Serial.println("--- GPS Logger ---"); if(SD.begin(CS)==true) { Serial.println("SD Card Activate."); SD.remove("GPS_LOG.LOG"); } else { Serial.println("SD Card Not Active!!"); digitalWrite(LED, HIGH); } delay(3000); digitalWrite(LED, HIGH); delay(200); digitalWrite(LED, LOW); delay(200); digitalWrite(LED, HIGH); delay(200); digitalWrite(LED, LOW); delay(200); digitalWrite(LED, HIGH); delay(200); digitalWrite(LED, LOW); Serial.println("---> Logging Start!!..."); i=0; flg = 0; Serial.flush(); } void loop() { // if(flg == 1 ) { // return; // } do { if (gps.available()) { msg[i++]=gps.read(); } if (i > 254) break; } while(msg[i-1] != 0x0a); msg[i]=0x00; if ((strncmp("$GPGGA", msg, 6)==0) || (strncmp("$GPRMC", msg, 6)==0)) { Serial.print(msg); } digitalWrite(LED, HIGH); File sdFile=SD.open("gps_log.log",FILE_WRITE); sdFile.print(msg); sdFile.close(); digitalWrite(LED, LOW); i=0; // if (digitalRead(SW) == HIGH) { // flg = 1; // } }