Arduino gps2 060314

29
GLOBAL POSITIONING & DATA LOGGING Arduino 101 // Further Techniques // Ben Freeth // 080314

Transcript of Arduino gps2 060314

Page 1: Arduino gps2 060314

GLOBAL POSITIONING

& DATA LOGGING

Arduino 101 // Further Techniques

// Ben Freeth

// 080314

Page 2: Arduino gps2 060314

THE WATCH

Page 3: Arduino gps2 060314

20 WAYS TO FIND YOUR LOCATION?

What are these?

Page 4: Arduino gps2 060314

20 WAYS TO FIND YOUR LOCATION?What are these?• Assume: the Earth. Or, smaller domain, but assume that’s the largest space you have to

look in• Use the time• Ask someone• Association: who or what are you near?• Proximity to phone boxes, public transport stops and utility markings• Use a map• Which cell/public phone operators are available?• Phone number syntax• Newspapers available• Languages being spoken• Street names• Street corners / intersections• Street numbers• Business names• Mobile phone location (triangulation / triliteration)• Triangulation / Triliteration on other radio infrastructures e.g. TV, Radio, Public Wi-Fi• GPS, assisted GPS, WAAS, and other GPS enhancements• Landmarks and “littlemarks”• Dead reckoning

Page 5: Arduino gps2 060314

ARTHUR C CLARKE

August 1956: GPS prognostication // A network of geosynchronous satellites circling the globe

Page 6: Arduino gps2 060314
Page 7: Arduino gps2 060314

THE MULTIPATH EFFECTPhantom Beacons

Page 8: Arduino gps2 060314

TRILATERATION VS TRIANGULATION

Determining Position – distance is only part of this (1D)

Page 9: Arduino gps2 060314

GPS

What?

What?

Page 10: Arduino gps2 060314

GPS - RXReceivers

Page 11: Arduino gps2 060314

GPS – SERIAL PROTOCOLNMEA 0183 protocol

Serial Protocol

4800 bits per second (Baud Rate)

8 data bits

No parity

1 stop bit

Send via RS-232 or TTL serial levels

Page 12: Arduino gps2 060314

GPS - LOGSData in the NMEA protocol

Page 13: Arduino gps2 060314

GPS - LOGSData in the NMEA protocol

Page 14: Arduino gps2 060314

GPS - LOGS$GPRMC,15525.000,A,4043.8432,N,07359.7654,W,0.10,11.88,200407, , *20

Message Identifier

Time (GMT)

Status of data (valid = A, not valid = V) (Active, Void)

Latitude

North South Indicator

Longitude

East/West Indicator

Speed Over Ground

Course Over Ground

Date

Magnetic Variation

Mode

Checksum

Page 15: Arduino gps2 060314

ADDRESS 2007Mouna Andraos & Sonali Sridhar

Page 16: Arduino gps2 060314

REVERSE GEOCACHEhttp://arduiniana.org/2009/10/the-reverse-geocache-puzzle/

Page 17: Arduino gps2 060314

Blast Theory (2004)UNCLE ROY ALL AROUND YOU

Page 18: Arduino gps2 060314

PLAN B

10 Year Map Of Berlin Soul gpx track on openstreetmap background showing 3-day trip to UK and path of soul

Soul Walker

Page 19: Arduino gps2 060314

PSYCHOGEOGRAPHY

"the study of the precise laws and specific effects of the geographical environment, consciously organized or not, on the emotions and behavior of individuals.”

"a whole toy box full of playful, inventive strategies for exploring cities... just about anything that takes pedestrians off their predictable paths and jolts them into a new awareness of the urban landscape."

Page 20: Arduino gps2 060314

OPEN POSITIONING SYSTEMPhilipp Ronnenberg

Maps as power….

http://www.openps.info

Page 21: Arduino gps2 060314

ADAFRUIT GPS-165 dBm sensitivity, 10 Hz updates, 66 channels

Low power module - only 20mA current draw, half of most GPS's

Assembled & tested shield for Arduino Uno/Duemilanove/Diecimila/Leonardo MicroSD card slot for datalogging onto a removable card

RTC battery included, for up to 7 years backup

Built-in datalogging to flash

PPS output on fix

>25Km altitude

Internal patch antenna + u.FL connector for external active antenna

Power, Pin #13 and Fix status LED

Big prototyping area

Page 22: Arduino gps2 060314

ADAFRUIT GPSDirect Connect- Soft Serial selected- Bare Minimum Sketch

- Use the serial monitor to look at the raw strings- 9600 baud

Page 23: Arduino gps2 060314

ADAFRUIT GPS

Need – Adafruit_GPS library

https://github.com/adafruit/Adafruit-GPS-Library

Leo Echo (test this sketch)

SoftwareSerial mySerial(8, 7); // Make sure these are set in the code

Find the line about the Uno – uncomment the line recommended

Look at SoftwareSerial on Arduino.cc to understand what it does:

http://arduino.cc/en/Reference/SoftwareSerial?action=sourceblock&num=1

All data? Or just some of the NMEA sentences?

Logging – need SD library (give them yours) // they have this

shield_sdlog (arduino ino file to use to log data)

Page 24: Arduino gps2 060314

GPS DATA ACQUISITIONGo and collect some data

Page 25: Arduino gps2 060314

PLOTTING GPS DATAhttp://www.gpsvisualizer.com

Page 26: Arduino gps2 060314

CONCLUSION

In summary:

You should now have

a good understanding of

creating interactive projects

that utilise GPS for locating where someone or

something is

Page 27: Arduino gps2 060314

HOME WORK• Pick a location• Write code to determine how far you

are away from this location using GPS• Display this data on an lcd screen

• Try out the TinyGPS++ library• Specifically the courseTo() function

(should enable autonomous route finding)

• Teach yourself to write functions in Arduino IDE – there are many online resources for this

Page 28: Arduino gps2 060314

Parsing Data Processing Open Office Excel

.kml files Google Maps // Hamster Map

Page 29: Arduino gps2 060314

Extending this Drone UAV // unmanned flight Waymarkers // missions

Gps in wearables… context location aware… - papers about this??