LinkIt One Tutorials - #6 GPS Device

About: Focussing currently on supplying open source software to the masses. I supply linux CDs and DVDs across Europe, as well as mirror various open source projects. Currently I mirror openoffice.org http://rsyn...

Intro: LinkIt One Tutorials - #6 GPS Device

In my previous tutorial I showed how to install an external library, connect to a Grove Connector header and use a Grove LCD RGB Backlight display.
In this tutorial I will be connecting the LCD display, GPS antenna and battery to the LinkIt One board and making a GPS device that will give your exact position in the world.

Step 1: Materials Required

LinkIt One board

Micro USB cable

Li-Ion rechargeable battery
This will be in the box that contained the LinkIt One. It has one red and one black wire going to a white connector.

GPS antenna
This will be in the box that contained the LinkIt One. It is a 2.5 cm square antenna.

Grove LCD RGB Backlight

Arduino IDE

Grove LCD RGB Backlight Arduino libraries
Refer to tutorial 5 if you have not installed the libraries

Step 2: Install the GPS Antenna, Grove LCD and Battery

If the LinkIt One board is connected to the computer via USB, disconnect it now.

Gently connect the GPS antenna to the LinkIt One board on the connector marked "GPS ANT". This connector is at the top of the board if the antenna connectors are to the left of the board.
if you are unsure how to connect the antenna, follow tutorial #4, remembering to plug the antenna into "GSM ANT" rather than "WIFI/BT ANT".

Connect the Grove LCD RGB Backlight board to the Grove header with "SCL SDA 5V GND"as described in tutorial #5.

There is a large switch on the LinkIt One board marked PWR_SW with one side that reads "BAT" and the other side that reads "USB" (conveniently this is the side next to the micro USB port). Ensure that this is switched to "USB".

Take the battery connector (2 wires - red and black) and ensure that the black wire of the connector is near the edge of the board and the red one is towards the centre of the board.
Gently push it into the cream coloured socket at the edge of the board. It is snap fit so you will feel it click into place.
Ensure the battery is connected properly by gently trying to remove the connector. It should give a lot of resistance. If it comes out push it in again a little more firmly.

Connect the micro USB cable.

Step 3: Write the GPS Program and Output to LCD

Start the Arduino IDE.

Open the document above called LCD_GPS.ino.txt and copy/paste the contents into your Arduino IDE, overwriting the previous contents.

Upload the code to your LinkIt One board.

When it is uploaded the LCD will display "GPS on, waiting" and will begin scanning for GPS (Global Positioning Satellites).

The display will change and display 2 lines of information
Line 1 displays "LAT", your latitude, N or S depending on above or below the equator and "ST"
Line 2 displays "LON", your longitude, E or W depending on your position relative to Greenwich, UK and a number. This number is how many GPS satellites are being used to geolocate your position. More is better.

A nice feature is that the backlight changes colour depending on the number of satellites visible at that time.

Switch the BAT/USB switch to BAT and disconnect the USB cable.

Take the board and attachments outside to an area with an unobstructed view of the sky (don't stand under a tree!).

After a short period of time the LCD should change colour as it locks on to satellites and your position should change as accuracy increases.

Do you want to know where you are? Google Maps can show your position if you

Step 4: Where Next

Every tutorial you follow will expand the capabilities of the LinkIt One.

I bet you can think of something you could do with the knowledge you already have.

Part of learning is experimenting so go ahead. See what you can come up with and let me know your ideas in the comments section.

Share

    Recommendations

    • Tiny Home Contest

      Tiny Home Contest
    • Fix It! Contest

      Fix It! Contest
    • Audio Contest 2018

      Audio Contest 2018

    16 Discussions

    0
    None
    faizank8

    2 years ago

    Hey Greg, I want to print only Latitude and Longitude value from GPGGA data at serial monitor. ...can plz help me..

    1 reply
    0
    None
    faizank8

    2 years ago

    Hey Greg, I want to print only Latitude and Longitude value from GPGGA data at serial monitor. ...can plz help me..

    0
    None
    faizank8

    2 years ago

    I want to to create Google map app for lcd display and microcontroller. .....

    0
    None
    gregoryfentonAditya Tripathi

    Reply 2 years ago

    In void setup() add
    Serial.begin(9600);


    After the section containing latitude = convertDMStoD(tmpPos);
    tmp = getComma(4, GPGGAstr);
    tmpPos = getDoubleNumber(&GPGGAstr[tmp]);
    longitude = convertDMStoD(tmpPos);
    sprintf(buff, "LAT%10.6f%cST", latitude, GPGGAstr[getComma(3, GPGGAstr)]);
    lcd.setCursor(0, 0);
    lcd.print(buff);

    Add
    Serial.print(buff);

    After the section containing
    sprintf(buff, "LON%10.6f%c ", longitude, GPGGAstr[getComma(5, GPGGAstr)]);
    lcd.setCursor(0, 1);
    lcd.print(buff)

    Add Serial.println(buff);

    I will double check this as I an not in front of my computer at the moment.

    Thanks for following my tutorial

    Greg

    0
    None
    SaiyamAditya Tripathi

    Reply 2 years ago

    Hey there Aditya!

    Just wanted to ask you when will you post your much awaited instructable?

    0
    None
    Saiyam

    2 years ago

    I just wanted a tutorial like this. Thanks for sharing all your informative linkit one tutorials :)

    4 replies
    0
    None
    gregoryfentonSaiyam

    Reply 2 years ago

    You are more than welcome.
    Do you have anything else you want me to cover in a future tutorial?

    0
    None
    Saiyamgregoryfenton

    Reply 2 years ago

    How about giving a missed call with linkit one?

    0
    None
    gregoryfentonSaiyam

    Reply 2 years ago

    As in get the LinkIt One to make a telephone call?