Home / Wiki / Platform / Shield
GPS Shield

Introduction

GPS Shield is a shield based on the NEO-6M, it communicates with Arduino via pins (RX, TX) with GPS data for the compatible of the Arduino.



Technical Data

TTFF

Recapture: <0.1s

heat start: <1s

warm start: <3s

cold start: <32s

sensitivity

tracking: -160dBm

catch: -147dBm

GPS antenna

Supply voltage: 3.0VDC

Current:15mA @ 3.0VDC


Features

With standard Shield’ interface ,Œit is compatible to all arduino main board.

3.3v and 5v logical voltage compatible

Active antenna design with high receive sensitivity, compatible normal antenna

Operation temperature: -40℃ to +85℃

Supply voltage: 3.0V to 5.2V

Low consumption


Interface


Usage


Let’s use GPS shield to set your location.

Connect wire jumper like the below

Remember to connect a GPS antenna

 

1.Burn Program to Arduino/Catduino,

2.Open u-center software find respond serial port

 

 

Remember to set antenna outside, waiting for about 30 seconds, location massage will appear, when there’s some green and blue bar-type like below, it means GPS shield dose work, TP lamp twinkle, wire jumper doesn’t need to be get off, just keep it on the shield.  

 

 

[code]

#include <SoftwareSerial.h>

SoftwareSerial SoftSerial(2, 3);

unsigned char buffer[64];                   // buffer array for data receive over serial port

int count=0;                                // counter for buffer array

void clearBufferArray();  

void setup()

{

    SoftSerial.begin(9600);                 // the SoftSerial baud rate

    Serial.begin(9600);                     // the Serial port of Arduino baud rate.

}

 

void loop()

{

    if (SoftSerial.available())                     // if date is coming from software serial port ==> data is coming from SoftSerial shield

    {

        while(SoftSerial.available())               // reading data into char array

        {

            buffer[count++]=SoftSerial.read();      // writing data into array

            if(count == 64)break;

        }

        Serial.write(buffer,count);                 // if no data transmission ends, write buffer to hardware serial port

        clearBufferArray();                         // call clearBufferArray function to clear the stored data from the array

        count = 0;                                  // set counter of while loop to zero

 

 

    }

    if (Serial.available())                 // if data is available on hardware serial port ==> data is coming from PC or notebook

    SoftSerial.write(Serial.read());        // write it to the SoftSerial shield

}

 

void clearBufferArray()                     // function to clear buffer array

{

    for (int i=0; i<count;i++)

    { buffer[i]=NULL;}                      // clear all index of array with command NULL

}

[/code] [code]

#include <SoftwareSerial.h>

 

SoftwareSerial SoftSerial(2, 3);

unsigned char buffer[64];                   // buffer array for data receive over serial port

int count=0;                                // counter for buffer array

void clearBufferArray();  

void setup()

{

    SoftSerial.begin(9600);                 // the SoftSerial baud rate

    Serial.begin(9600);                     // the Serial port of Arduino baud rate.

}

 

void loop()

{

    if (SoftSerial.available())                     // if date is coming from software serial port ==> data is coming from SoftSerial shield

    {

        while(SoftSerial.available())               // reading data into char array

        {

            buffer[count++]=SoftSerial.read();      // writing data into array

            if(count == 64)break;

        }

        Serial.write(buffer,count);                 // if no data transmission ends, write buffer to hardware serial port

        clearBufferArray();                         // call clearBufferArray function to clear the stored data from the array

        count = 0;                                  // set counter of while loop to zero

 

 

    }

    if (Serial.available())                 // if data is available on hardware serial port ==> data is coming from PC or notebook

    SoftSerial.write(Serial.read());        // write it to the SoftSerial shield

}

 

void clearBufferArray()                     // function to clear buffer array

{

    for (int i=0; i<count;i++)

    { buffer[i]=NULL;}                      // clear all index of array with command NULL

}

[/code]


Resource

Program

Schematic

Hardware