Hi everyone, I'm making a little project with my Arduino Mega 2560 and a Sparkfun's Venus GPS. The objective is making a compass on a LCD display with the coordenates recorded by the GPS.

The GPS is working right and it gives coordenates like these, for example:
Lat: 2400.0000N ddmm.mmmm
Long: 12100.0000E ddmm.mmmm

The compass' design is this one:

A circle that goes from 0º to 359º, where North is at 0º, East at 90º, South at 180º and West at 270º.

My doubt is the next, ¿how can I process these two data (latitude and longitude) to convert them in only one (a degree between 0 and 359º)?

You can't. Lat an Long give a position NOT a direction!.

The gps will give you the direction you are moving in but only if you are moving.


There is heading information in the RMC message. Heading is less accuracy if you try to determine heading from two positions. GPS doesn’t generate correct heading unless you are moving; and less accurate if you are moving slowing. If you care about correct heading when standing or moving slowly, you’ll need to a magnetometer.

You probably will be moving quite fast if you use it in a plane XD

Any way, you could use a cheap module like this to get a compass heading when you're not moving.

If your project is... to be used in a plane you may also want to consider a 10DOF-module like this
With a gyro, accelerometer, compass and altitude meter in one they may be interesting.