element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Personal Blogs
  • Members
  • More
Personal Blogs
Legacy Personal Blogs Arduino GPS Tracking System
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: benmatrix
  • Date Created: 23 Apr 2015 3:47 PM Date Created
  • Views 404 views
  • Likes 2 likes
  • Comments 3 comments
  • fat
  • logger
  • tracker
  • gps
  • card
  • data
  • arduino
  • sd
Related
Recommended

Arduino GPS Tracking System

benmatrix
benmatrix
23 Apr 2015

When your out and about it can sometimes be handy to create a log of where you’ve been, what speeds you have been doing and how long you have been travelling. For example monitoring your workforce while they are out and about in their company vehicles, or preserving a record of that bike ride of Olympic proportions for posterity.

 

The MatrixTSL EB056 GPS E-block allows for a very flexible approach to adding GPS functionality to your embedded device. It comes with a highly sensitive UP500 GPS receiver module, which is capable of tracking the location of up to 30 satellites, logging altitudes of –300m to 18,000m and also velocities of up to 515m/s. The module even works perfectly well in most indoor environments, which is something that the last generation of GPS receivers were never very good at doing.

 

20150423_162844-1024x525.jpg

To demonstrate the functionality of the GPS E-block we have created a simple logging program that combines the functionality of the GPS along with the storage of the SD/MMC card reader E-block. The program is fairly simple and just involves sampling the GPS coordinates and then storing to the memory card. As we do not need to sample very fast, the slow but easy card writing method is being used in the program.

 

Parts List

  • Arduino Uno
  • EB093 E-blocks Arduino Shield
  • EB056 GPS Board
  • EB005 LCD Board
  • EB037 SD Board
  • SD Card

 

The GPS sends a message string to the microcontroller every second, which contains all the details relative to position, velocity, course over ground etc. The GPS component uses a UART based receive interrupt to allow the GPS data to be automatically fed through into a set of global variables that can be accessed by using the GPS component macro function calls. Any details that are not needed in your program can be turned off by editing the defines section of the component using the custom code feature. This allows you to squeeze as much functionality into your program as possible without using code for unwanted GPS records.

 

Using the GPS and Card E-blocks together allows for journeys to be logged including speed and height above sea level. The journey coordinates can also be plotted using software such as excel and combined with a map image to show the exact route of the journey. The example initialises the card and then creates a file called ‘log.csv’. If this file already exists on the card then the data will be appended to the end of the file. A string is then created on the microcontroller which is made up of the values passed from the GPS component. Once the string is created it is written to the end of the file on the card. This whole process then repeats every ten seconds. If an error is detected then the program will loop back to the start and try again.

 

Of course the E-blocks circuit is quite large so once you have the system up and running it is then possible to use the E-blocks data sheets to collect the circuit schematics and create your own custom condensed board. The Arduino hardware can be powered via the USB connection or using a 6-12V battery via the 2.1mm DC socket.

 

Here is an example output from the program.

GPS_Log.jpg

Using Logged GPS Data to Plot on Google Maps

One application for the data you log is to plot the journey you made on Google maps. Google have a facility called fusion tables which you can use to upload .csv files to their database and then plot the data on Google maps for easy viewing.

 

To do this you require a Google account. Navigate to the Google fusion tables website at http://tables.googlelabs.com/Home , from here you can log in to your Google account.

 

Select to upload a new table at the left hand side, just under the ‘Google fusion tables’ logo. Navigate to the file located on the SD card and select to upload it. Once you have named and uploaded the file you will be able to access it via the fusion tables menu. Once into the spreadsheet there will be an “Edit” menu which you should navigate to, and access the “Modify Columns” selection. The first column that will be selected to be modified will be the longitude column, on the right hand side will be a drop down called “Type”, it should be changed from Normal -> Location. After this has happened an extra couple of boxes should appear underneath, make sure the box labelled “Two column location” is ticked and that latitude and longitude are the columns selected.

 

Navigate to the “Visualize” menu and select the option labelled “Map”. This will now plot your coordinates on a Google Map. On the next page is a map we did here at Matrix using this method, it shows a short drive around our home town.

GPS_Map.jpg

Flowcode GPS Tracker Source Code

  • Sign in to reply

Top Comments

  • benmatrix
    benmatrix over 8 years ago in reply to DAB +1
    Hi DAB, Using E-blocks to rapid prototype the system and get it up and running fast would likely cost around £150. Using your own components and custom PCB this cost could likely be brought down to less…
  • truckmen
    truckmen 9 months ago

    Is there a chance this setup could have a refresh rate of 1/10 sec instead of 1 sec?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • benmatrix
    benmatrix over 8 years ago in reply to DAB

    Hi DAB,

     

    Using E-blocks to rapid prototype the system and get it up and running fast would likely cost around £150. Using your own components and custom PCB this cost could likely be brought down to less than £50.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 8 years ago

    Hi Ben,

     

    What is your estimate of total cost to put your logger together?

     

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube