You Are Here: Home » AVR ATmega Projects » GPS Based Projects » GPS Tracking Device for Cornell Engineering Quad Using Atmega644

GPS Tracking Device for Cornell Engineering Quad Using Atmega644




Introduction

“A GPS tracking devices capable of telling the user his/her approximate distance to buildings and attractions on a map downloaded from a remote station”

-Project Soundbyte

For our final project in ECE4760, we designed an GPS tracking device that has a capability of downloading maps from a remote server, and then calculating distances from buildings and attractions on that map. For our project, we mapped out the Cornell Engineering quad. Using a pushbutton, a user will choose which building/attraction to travel to. An LCD will indicate how far in what direction he/she is from each building and attraction on the quad. If there are multiple attractions of the same type (i.e., computer labs), the device will direct the user to the closest attraction.

GPS Tracking Device for Cornell Engineering Quad Using Atmega644

High-Level Design    top

The goal of our project was to design and fabricate an accurate positioning system using low cost, off-the-shelf measurement devices. Readings were made from one central device: a GPS unit that interfaced with our microcontroller. Using coordinates given by the GPS satellite, a position will be synthesized to present a real-time picture of the location of the target. Although the intended target of our positioning system is a human, the same system could be deployed on virtually any type of mobile object that does not experience significant yaw, e.g. a fixed-wing aircraft or a car.

Commercial GPS units are relatively straightforward devices; the complicated signal processing involved is handled by their integrated circuitry, and the user is sent position data over serial in a human-readable or binary format. Our task involves parsing this data for use in our algorithm. Our device is potentially useful especially for those unfamiliar with the engineering quad. Navigating to a building of choice is very easy do to the fact that we also display the target’s relative direction to the desired building. The distance from the building is also calculated and displayed in real time, so a user can walk in any arbitrary direction, notice the trend, and quickly correct him/herself. Aside from buildings, our device also tracks two major attractions on a college campus: computer labs and food vendors. As they are distributed throughout the quad, our GPS tracking device is capable of locating the attraction that is currently closest to the target.

The discrete points on the map are translated into something that the microcontroller can understand. Each building/attraction has its own distinct character. In convention with increasing longtitude and latitude, the map starts from the bottom right corner, traverses to the left, and returns to the next row on the the rightmost side and repeats. The first 40 lines are the actual map, the 41st line contains the boundaries of the map (maximum and minimum longitude and latitudes formatted by East, West, North South), and the subsequent lines indicate the key and label for the points on the map. The corresponding digital map for the microcontroller is shown below (note that only the entrances and exits are labeled for the builings:

0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0008880000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000999000000000000000000000000
7700000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
000000000000000000000000000000000000000:
000000000000000000000000000000000000000:
00000000000000;0000000000000000000000000
00;00000000111;0000000000000000000000000
00;0000000000000000000===000000000000000
0000004000000000<<0000000000>00000000000
0000004000000000000000000000000000000000
0000000204000000000000000000000000?00000
0000000204000000000000000000000000?00000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000010000000000000000000000000000000000
0000010000000000000000000501111100000000
0000010000000000000000000501111100000000
0000000000000400000000000005550000000000
0000004440000400000000000000000000000000
0000330000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000660000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
19787340,19788222,11049265,10980892,0000
none000000000000000000000000000000000000
Computer Lab0000000000000000000000000000
Food vendor00000000000000000000000000000
Phillips Hall000000000000000000000000000
Duffield Hall000000000000000000000000000
Carpenter Hall00000000000000000000000000
Olin Hall0000000000000000000000000000000
Rhodes Hall00000000000000000000000000000
Grumann Hall0000000000000000000000000000
Ward Hall0000000000000000000000000000000
Snee Hall0000000000000000000000000000000
Upson Hall000000000000000000000000000000
Kimball Hall0000000000000000000000000000
Thurston Hall000000000000000000000000000
Bard Hall0000000000000000000000000000000
Hollister Hall00000000000000000000000000
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

What is useful about our implementation is the ease and flexibility to create and send maps to our microcontroller. Virtually anything on the world can be mapped, and anyone can create a map, given the knowledge of the location of attractions relative to the latitude and longitude boundaries. This can be useful not only for students lost on a college campus, but for outdoor conventions, carnivals, festivals, and etc.

Logical Structure

The project consists of two modules. The remote module is composed of a microcontroller, a wireless unit, the onboard eeprom, a button, an LCD, and a GPS. The LCD provides updates to the user about nearby attractions, and the button serves to allow the user to select different attractions. The user�s position from the selected attraction is calculated on the microcontroller, and position data is relayed to the base station using the wireless unit. From the base station, the wireless unit receives maps containing annotated GPS coordinates. This data is stored in the EEPROM so we are limited to the size of the maps we can store. As shown above, our map of the engineering quad is broken down into 1600 discrete points, allowing sufficient resolution for each building and attraction on the quad.

Mathematical Background

[Insert Mathematical Background Here]

Hardware/Software Tradeoffs

GPS units return a position measurement uniformly distributed around the actual position. This will cause the GPS to appear to appear to �jump� when standing in one place or moving at slow speeds. But because we update our position on the LCD in real time, a user can compensate for these unpredictable jumps by noticing the trends in increasing or decreasing distance. Also, because each of our discrete points are separated by a certain distance, we are inherently allowed a certain “jump radius” in which small deviations in the GPS signal would not greatly affect our calculated position on our device. Each point on our map is seperated by approximately 23 feet, specifically because this is the resolution that equally split our map into discrete 40×40 points. Because we are only using the onboard EEPROM, relatively large maps cannot be stored, because the resolution would be too large. Use of this EEPROM, however, allows us to save maps through power cycles, so that when the user enters a recognized position, the corresponding map can be used.

Standards Discussion

GPS Tracking Device for Cornell Engineering Quad Using Atmega644 Schemetic

The GPS and wireless unit will communicate with our microcontroller via the USART interface, which uses EIA communication standards such as RS-232, RS-422, and RS-485. Specifically, this will be implemented on two RX pins and two TX pins, where the standard defines the data format and speed of communication between the pins. In order to interface with the GPS receiver, we will be using the NMEA 0183 standard, which uses an ASCII, serial communications protocol that defines how the GPS receiver will format and send messages to our microcontroller. Moreover, the operation of the GPS receiver is governed by the IS-GPS-200D specification. This interface specification defines the requirements, operations, and limitations of the use of the global positioning system. Since our GPS receiver will inherently follow this specification, the fulfillment of its requirements is already done for us.

Parts List:

ITEMQUANTITYFULL NAMETOTAL PRICESOURCE
38.3
LCD SCREEN1LCD8Lab
AA Batteries8AA Batteries0Project Team
Battery Holder2Battery Holder0Lab
Microcontroller Board1Custom PC Board4Lab
Max233CP1Max233CP7Lab
RS232 Connector1RS232 Connector1Lab
Microcontroller1ATMEGA644P8Project Team
Wireless Module2Wi.232DTS-EVM-R0Project Team
Header Sockets70/td>Header Sockets3.5Lab
Button1Button0Project Team
Wire (feet)2Wire0Lab
DIP Socket2DIP Socket1Lab
Power Supply1Power Supply5Project Team
RS232 Dongle1RS232 Dongle0Lab
6DOF IMU1IMU Digital Combo0Project Team
GPS1LS200310Project Team
3V Linear Regulator13V Linear Regulator0Project Team
Resistors4Resistors0Lab
NAND gate1PK41AA0Lab
Mosfets2DMN26DO0.8Digikey

 

For more detail: GPS Tracking Device for Cornell Engineering Quad Using Atmega644

Leave a Comment

You must be logged in to post a comment.

Read previous post:
A social-network illusion that makes things appear more popular than they are

A trio of researchers at the University of Southern California has uncovered a social-network illusion that might explain why some...

Close
Scroll to top