Pages: 1 ... 4 5 [6] 7 8 ... 11   Go Down
Author Topic: Arduino GPS Shield by iteadstudio.com  (Read 31834 times)
0 Members and 1 Guest are viewing this topic.
Macomb, MI
Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Lots of good information, I really appreciate the effort and the help.
I now understand why I need to be using software serial.

I've updated the hardware and the software. I will test these changes first thing in the morning and let you know how it goes.
Doing tests inside of my bedroom (out of line of sight), I can see that I am receiving a much more realistic number of characters each scan from the GPS processor.
This is giving me confidence.

Many, many thanks!
« Last Edit: September 18, 2013, 08:51:23 pm by flylikechris » Logged

Macomb, MI
Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

She works like a charm, thank you!
Logged

Québec
Offline Offline
God Member
*****
Karma: 16
Posts: 653
What ever! I'm gonna do what I want. Screw you guys! I'm going home. And other Cartman stuff. ;)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Héhé, I like to read that kind of comment.

Thank's for confirming Mister.
Logged

Words cannot express how much I hate you guys. As we fight our way northward into the great unknown, only that one thing remains certain...

Québec
Offline Offline
God Member
*****
Karma: 16
Posts: 653
What ever! I'm gonna do what I want. Screw you guys! I'm going home. And other Cartman stuff. ;)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I now understand why I need to be using software serial.

This is true for systems like Uno, mini pro, pro, and nano. Those systems have a single hardware serial port and need it to communicate with the computer.

But with systems like Mega, ADK,  Due and some other have more the one hardware serial port so you don't need the software serial library with those, Ironically most  of those systems has more memory and need less library to do the same job.

There is the Ethernet,  léonardo that use other ways to communicate with the computer so the single serial port stay free for other use.

Finally, the Yùn, I can't say much about it cause i'm waiting to get one by the post, but it also seem to use other way the the serial port to communicate with the computer.

But let's be honest, Yùn is at another level, it's some thing like a giant leap that the Arduino team made.
« Last Edit: September 22, 2013, 04:06:38 pm by Frédéric_Plante » Logged

Words cannot express how much I hate you guys. As we fight our way northward into the great unknown, only that one thing remains certain...

Offline Offline
Full Member
***
Karma: 2
Posts: 195
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok this is a software Serial case since you are on UNO

First go see the modify picture I send back for proper jumper setting. I deliberately did not use pin 2 and 3 to leave your external interrupt in case you need them for other use.

First of I would recommand to go see the official software serial library page here:

http://arduino.cc/en/Reference/SoftwareSerial

I'll be using the example so it will help you to get the basic output of your gps, then you will be able to adapte your program according to it.

So the basic Code:

Code:
#include <SoftwareSerial.h>

SoftwareSerial GPSSerial(4, 5); // RX, TX               <----This is where you GPS send the stuff

void setup() 
{
 
  Serial.begin(9600);    //              <------------This is the speed to put in the serial Console.
  while (!Serial) {
    ;
  }


  Serial.println("GPS test");

  GPSSerial.begin(4800);  //          <----------This is were you set you GPS speed
}

void loop() // run over and over
{
  if (GPSSerial.available())
    Serial.write(GPSSerial.read());   <------This should do the relay from your GPS serial to the console serial
  if (Serial.available())
    GPSSerial.write(Serial.read());   <------This should do the relay from your console serial to the GPS serial

}

If this work tel me about it we will go a step by step




Hi.. First of all, thank your for your help.

my gps( just like yours) didnt come with the 2 paralell jumpers located above the pin jumpers...

Is it mandatory to get the gos working?


Tksa lot
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello, I am using GPS Shield 1.1 ITEAD STUDIO and I am not getting my location just showing this message bellow.
What can I do?
Thanks

this result:
Code:
Simple TinyGPS library v. 13
by Mikal Hart

 
CHARS=152 SENTENCES=0 CSUM ERR=3
 
CHARS=456 SENTENCES=0 CSUM ERR=8
 
CHARS=608 SENTENCES=0 CSUM ERR=11
 
CHARS=871 SENTENCES=0 CSUM ERR=13
 
CHARS=1175 SENTENCES=0 CSUM ERR=21
 
CHARS=1326 SENTENCES=0 CSUM ERR=25
 
CHARS=1478 SENTENCES=0 CSUM ERR=29
 
CHARS=1892 SENTENCES=0 CSUM ERR=32
 
CHARS=2044 SENTENCES=0 CSUM ERR=35
 
CHARS=2348 SENTENCES=0 CSUM ERR=43
 
CHARS=2611 SENTENCES=0 CSUM ERR=46
 
CHARS=2772 SENTENCES=0 CSUM ERR=49
 
CHARS=3065 SENTENCES=0 CSUM ERR=57
 
CHARS=3216 SENTENCES=0 CSUM ERR=61
 
CHARS=3631 SENTENCES=0 CSUM ERR=66
 
CHARS=3783 SENTENCES=0 CSUM ERR=71
 
CHARS=3935 SENTENCES=0 CSUM ERR=74
 
CHARS=4320 SENTENCES=0 CSUM ERR=83
 
CHARS=4505 SENTENCES=0 CSUM ERR=86
 
CHARS=4657 SENTENCES=0 CSUM ERR=89
 
CHARS=4962 SENTENCES=0 CSUM ERR=96
 
CHARS=5229 SENTENCES=0 CSUM ERR=100
 
CHARS=5531 SENTENCES=0 CSUM ERR=106
 
CHARS=5683 SENTENCES=0 CSUM ERR=109
 
CHARS=5835 SENTENCES=0 CSUM ERR=112
 
CHARS=6251 SENTENCES=0 CSUM ERR=121
 
CHARS=6403 SENTENCES=0 CSUM ERR=124
 
CHARS=6561 SENTENCES=0 CSUM ERR=127
 
CHARS=6971 SENTENCES=0 CSUM ERR=135
 
CHARS=7122 SENTENCES=0 CSUM ERR=138
 
CHARS=7426 SENTENCES=0 CSUM ERR=146

this code:
Code:
#include <SoftwareSerial.h>

#include <TinyGPS.h>

/* This sample code demonstrates the normal use of a TinyGPS object.
   It requires the use of SoftwareSerial, and assumes that you have a
   4800-baud serial GPS device hooked up on pins 3(rx) and 4(tx).
*/

TinyGPS gps;
SoftwareSerial ss(4, 5);

void setup()
{
  Serial.begin(115200);
  ss.begin(4800);
 
  Serial.print("Simple TinyGPS library v. "); Serial.println(TinyGPS::library_version());
  Serial.println("by Mikal Hart");
  Serial.println();
}

void loop()
{
  bool newData = false;
  unsigned long chars;
  unsigned short sentences, failed;

  // For one second we parse GPS data and report some key values
  for (unsigned long start = millis(); millis() - start < 1000;)
  {
    while (ss.available())
    {
      char c = ss.read();
     // Serial.write(c); // uncomment this line if you want to see the GPS data flowing
      if (gps.encode(c)) // Did a new valid sentence come in?
        newData = true;
    }
   
  }

  if (newData)
  {
    float flat, flon;
    unsigned long age;
    gps.f_get_position(&flat, &flon, &age);
    Serial.print("LAT=");
    Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
    Serial.print(" LON=");
    Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
    Serial.print(" SAT=");
    Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites());
    Serial.print(" PREC=");
    Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());
  }
 
  gps.stats(&chars, &sentences, &failed);
  Serial.print(" \nCHARS=");
  Serial.print(chars);
  Serial.print(" SENTENCES=");
  Serial.print(sentences);
  Serial.print(" CSUM ERR=");
  Serial.println(failed);
}
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 195
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi.  I had the same problem.

This shield runs at 38.400 baud rate,  but the software  serial seema don't  handle this speed and doesn't work.


I have tried for more than a week and after that we found out the problem.


You have to use the hardware port.. Só put the jumpers on pin 0 and  1.

And don't use the software serial..


If you don't know how to do without soft serial let me know.  I have a full working code.


Just let me know.


BT.

RODRIGO
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I would be grateful if you show me the code.

Hi.  I had the same problem.

This shield runs at 38.400 baud rate,  but the software  serial seema don't  handle this speed and doesn't work.


I have tried for more than a week and after that we found out the problem.


You have to use the hardware port.. Só put the jumpers on pin 0 and  1.

And don't use the software serial..


If you don't know how to do without soft serial let me know.  I have a full working code.


Just let me know.


BT.

RODRIGO

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi everyone from Ecuador!
I bought a GPS SHIELD BY ITEAD STUDIO and i can't get it works yet
I'm using this code:
========================================================
#include <SoftwareSerial.h>

#include <TinyGPS.h>

/* This sample code demonstrates the normal use of a TinyGPS object.
   It requires the use of SoftwareSerial, and assumes that you have a
   4800-baud serial GPS device hooked up on pins 3(rx) and 4(tx).
*/

TinyGPS gps;
SoftwareSerial ss(3, 4);

void setup()
{
  Serial.begin(115200);
  ss.begin(4800);
 
  Serial.print("Simple TinyGPS library v. "); Serial.println(TinyGPS::library_version());
  Serial.println("by Mikal Hart");
  Serial.println();
}

void loop()
{
  bool newData = false;
  unsigned long chars;
  unsigned short sentences, failed;

  // For one second we parse GPS data and report some key values
  for (unsigned long start = millis(); millis() - start < 1000;)
  {
    while (ss.available())
    {
      char c = ss.read();
      // Serial.write(c); // uncomment this line if you want to see the GPS data flowing
      if (gps.encode(c)) // Did a new valid sentence come in?
        newData = true;
    }
  }

  if (newData)
  {
    float flat, flon;
    unsigned long age;
    gps.f_get_position(&flat, &flon, &age);
    Serial.print("LAT=");
    Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
    Serial.print(" LON=");
    Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
    Serial.print(" SAT=");
    Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites());
    Serial.print(" PREC=");
    Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());
  }
 
  gps.stats(&chars, &sentences, &failed);
  Serial.print(" CHARS=");
  Serial.print(chars);
  Serial.print(" SENTENCES=");
  Serial.print(sentences);
  Serial.print(" CSUM ERR=");
  Serial.println(failed);
}
============================================================
AND GET THIS:
Simple TinyGPS library v. 13
by Mikal Hart

 CHARS=47 SENTENCES=0 CSUM ERR=0
 CHARS=81 SENTENCES=0 CSUM ERR=0
 CHARS=115 SENTENCES=0 CSUM ERR=0
 CHARS=150 SENTENCES=0 CSUM ERR=0
 CHARS=185 SENTENCES=0 CSUM ERR=0
 CHARS=220 SENTENCES=0 CSUM ERR=0
 CHARS=255 SENTENCES=0 CSUM ERR=0
 CHARS=290 SENTENCES=0 CSUM ERR=0
 CHARS=325 SENTENCES=0 CSUM ERR=0
 CHARS=360 SENTENCES=0 CSUM ERR=0
...

thanks for any help...
The jumper setting i'm using:


* gpsnj.jpg (91.51 KB, 570x546 - viewed 82 times.)
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 601
Posts: 48543
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Are you doing this in your closet, or out in an open field? How long have you waited for results? It can take 10 minutes or more for a GPS to locate satellites and begin to collect valid data. When out in the open. It can take a bit longer in a closet.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes PaulS I've waiting for a long time (30 min) out (no trees, no build, open sky) and waiting 3 hours inside house, but i don't get valid data  smiley-confuse

...
....
 CHARS=25861 SENTENCES=0 CSUM ERR=0
 CHARS=25898 SENTENCES=0 CSUM ERR=0
 CHARS=25935 SENTENCES=0 CSUM ERR=0
 CHARS=25972 SENTENCES=0 CSUM ERR=0
 CHARS=26009 SENTENCES=0 CSUM ERR=0
 CHARS=26046 SENTENCES=0 CSUM ERR=0

PaulS is correct the code and wire configurations?  smiley-slim
thanks for any help.
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 601
Posts: 48543
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
// Serial.write(c); // uncomment this line if you want to see the GPS data flowing
So, why don't you?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I did it! but I got this:
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ....
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 601
Posts: 48543
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You appear to be connecting the RX pin twice. There should only be two jumpers - one for RX and one for TX.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, I set only 2 jumpers (rt 3, tr 4) and I got this:
 CHARS=0 SENTENCES=0 CSUM ERR=0
 CHARS=0 SENTENCES=0 CSUM ERR=0
 CHARS=0 SENTENCES=0 CSUM ERR=0
 CHARS=0 SENTENCES=0 CSUM ERR=0
 (i am in a open field and i've waiting for 20 min...)
PaulS any other idea?
« Last Edit: November 18, 2013, 03:06:09 pm by juanmisak » Logged

Pages: 1 ... 4 5 [6] 7 8 ... 11   Go Up
Jump to: