|
|
#include <SoftwareSerial.h>
#include <TinyGPS.h>
#define RXPIN 6
#define TXPIN 5
#define GPSBAUD 9600
TinyGPS gps;SoftwareSerial uart_gps(RXPIN, TXPIN);
void getgps(TinyGPS &gps);int value = 0;char arr_o[] = { '*', '*', '*', 'o', '!' }, arr_x[] = { '*', '*', '*', 'x', '!' };
//setup
void setup() { Serial.begin(9600); uart_gps.begin(GPSBAUD); Serial.println(""); Serial.println("GPS Shield QuickStart Example Sketch v12"); Serial.println(" ...waiting for lock... "); Serial.println("");}
void loop() { //FSRsensor
value = analogRead(A0); if(value >= 300){ for(int i = 0; i < 5; i++){ Serial.write(arr_o[i]); } } else{ for(int i = 0; i < 5; i++){ Serial.write(arr_x[i]); } }
//gps
while(uart_gps.available()) { int c = uart_gps.read(); if(gps.encode(c)) { getgps(gps); } } delay(3000);}
//parshing code
void getgps(TinyGPS &gps){ char floatArr[10], buff[15]; float latitude, longitude; int len; gps.f_get_position(&latitude, &longitude);
//latitude
dtostrf(latitude, 10, 5, floatArr); sprintf(buff, "***%s!", floatArr); len = strlen(buff);
for(int i = len; i >= 0; i--){ if(buff[i] != ' '){ Serial.write(buff[i]); } }
//longitude
dtostrf(longitude, 10, 5, floatArr); sprintf(buff, "***%s!", floatArr); len = strlen(buff);
for(int i = len; i >= 0; i--){ if(buff[i] != ' '){ Serial.write(buff[i]); } }
Serial.println(); unsigned long chars; unsigned short sentences, failed_checksum; gps.stats(&chars, &sentences, &failed_checksum);}
|