Pages: 1 [2]   Go Down
Author Topic: Arduino GPS Shield  (Read 21882 times)
0 Members and 1 Guest are viewing this topic.
Washington, DC
Offline Offline
Newbie
*
Karma: 0
Posts: 46
Changes are never trivial.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

We've been running it in this configuration for 2 years with no problems.  The levels may be 3.3V but they're certainly compatible with the Arduino digital pins.
Logged

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

Hello world smiley
Last week I buy dexter industries GPS shield. I tyied to run it with arduino mega adk. I can't read GPS data over serial communication. I read that on arduino mega I must change jumper from 3 to some high pin (10,11,12) but with no success. I also tryed all examples over internet but also with no result.
please help.

regards
Logged

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

Hello world again smiley
after one week testing I figure this out. I put the jumper on my dexter GPS shield to 10 and change in dGPS.cpp file ports like :

#define SoftrxPin 10
#define SofttxPin 4

and everything works fine smiley-grin
Logged

Washington, DC
Offline Offline
Newbie
*
Karma: 0
Posts: 46
Changes are never trivial.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Glad you found the change in the software.  Did you really spend a week, it looks like you just posted the first request for help an hour or two ago. 

What kind of project are you using this for?
Logged

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

Hi,
i make a quadcopter. I want to control the QC over the internet. On board I have arduino mega adk + GPS shield and android phone.
I write android program that control the motors over usb, send back gps data to the server and receive command from web.
I can see QC position on my laptop and can send commands like "goto <latitude, longtitude> etc. smiley-grin  (sorry for my bad english)
Logged

Washington, DC
Offline Offline
Newbie
*
Karma: 0
Posts: 46
Changes are never trivial.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Your English is fine, no worries.

Do you have a project page or something we could share?
Logged

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

Does anyone knows why am i getting always the same latitude and longitude?
Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 302
Posts: 26248
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Does anyone knows why am i getting always the same latitude and longitude?
Could it be that you're not providing enough detail for a sensible answer, or that you lead a sedentary lifestyle?
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

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

Sorry, i just got a Dexter Industries GPS Shield but when i run the sketch i get the same latitude and longitude at different places.
this is my script:

 
Code:
#include <string.h>
 #include <ctype.h>
 #include <SoftwareSerial.h>
 #define SoftrxPin 3
 #define SofttxPin 4
// Initiate the software serial connection
SoftwareSerial gpsSerial = SoftwareSerial(SoftrxPin, SofttxPin);
 int ledPin = 13;                  // LED test pin
 int rxPin = 0;                    // RX PIN
 int txPin = 1;                    // TX TX
 int byteGPS=-1;
 char linea[300] = "";
 char comandoGPR[7] = "$GPRMC";
 int cont=0;
 int bien=0;
 int conta=0;
 int indices[13];
 void setup() {
   pinMode(ledPin, OUTPUT);       // Initialize LED pin
   pinMode(rxPin, INPUT);
   pinMode(txPin, OUTPUT);
   Serial.begin(9600);
   gpsSerial.begin(9600);
   for (int i=0;i<300;i++){       // Initialize a buffer for received data
     linea[i]=' ';
   }  
 }
 void loop() {
   digitalWrite(ledPin, HIGH);
   byteGPS=gpsSerial.read();         // Read a byte of the serial port
   if (byteGPS == -1) {           // See if the port is empty yet
     delay(100);
   } else {
     // note: there is a potential buffer overflow here!
     linea[conta]=byteGPS;        // If there is serial port data, it is put in the buffer
     conta++;                      
     Serial.write(byteGPS);
     if (byteGPS==13){            // If the received byte is = to 13, end of transmission
       // note: the actual end of transmission is <CR><LF> (i.e. 0x13 0x10)
       digitalWrite(ledPin, LOW);
       cont=0;
       bien=0;
       // The following for loop starts at 1, because this code is clowny and the first byte is the <LF> (0x10) from the previous transmission.
       for (int i=1;i<7;i++){     // Verifies if the received command starts with $GPR
         if (linea[i]==comandoGPR[i-1]){
           bien++;
         }
       }
       if(bien==6){               // If yes, continue and process the data
         for (int i=0;i<300;i++){
           if (linea[i]==','){    // check for the position of the  "," separator
             // note: again, there is a potential buffer overflow here!
             indices[cont]=i;
             cont++;
           }
           if (linea[i]=='*'){    // ... and the "*"
             indices[12]=i;
             cont++;
           }
         }
         Serial.println("");      // ... and write to the serial port
         Serial.println("");
         Serial.println("---------------");
         for (int i=0;i<12;i++){
           switch(i){
             case 0 :Serial.print("Time in UTC (HhMmSs): ");break;
             case 1 :Serial.print("Status (A=OK,V=KO): ");break;
             case 2 :Serial.print("Latitude: ");break;
             case 3 :Serial.print("Direction (N/S): ");break;
             case 4 :Serial.print("Longitude: ");break;
             case 5 :Serial.print("Direction (E/W): ");break;
             case 6 :Serial.print("Velocity in knots: ");break;
             case 7 :Serial.print("Heading in degrees: ");break;
             case 8 :Serial.print("Date UTC (DdMmAa): ");break;
             case 9 :Serial.print("Magnetic degrees: ");break;
             case 10 :Serial.print("(E/W): ");break;
             case 11 :Serial.print("Mode: ");break;
             case 12 :Serial.print("Checksum: ");break;
           }
           for (int j=indices[i];j<(indices[i+1]-1);j++){
             Serial.print(linea[j+1]);
           }
           Serial.println("");
         }
         Serial.println("---------------");
    
       }
       conta=0;                    // Reset the buffer
       for (int i=0;i<300;i++){    //  
         linea[i]=' ';            
       }                
     }
   }
 }
« Last Edit: December 23, 2013, 10:29:52 am by meno » Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 302
Posts: 26248
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Now go back to your last post, click on "modify", highlight the code, then click on the # icon on the editor's toolbar.
Then click on "save".
Then we won't have any of the italics, and your code may make some sense.

You've got a lot of big buffers and strings there; maybe you're running short of RAM.
Move the constant strings into PROGMEM.
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

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

Thanks man, i moved the constant string and works just fine.
Logged

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

Hi everyone!

Here is another Arduino GPS Shield from ITEAD Studio: http://imall.iteadstudio.com/im120417017.html

Cheers,

Wendy

Yes I just buy your product last time.. The problem is .. default jumper on the products is on 1 (RX) and 0 (TX), when i compile sample code from tinyGPS and softwareserial set to RX 1 and TX 0.. I can't upload on Arduino.  I try to change jumper to pin 4 (RX) and pin 3 (TX) and i configure again softwareserial to (4,3). yessss.. I can upload the code !!! but.. I can't get Received anything data from GPS. I read guide from other and it should that the RX PIN 4 connect to TX ( pin 18 ) on arduino Mega 2560 and TX PIN 3 connected to RX (PIN 19) on arduino Mega 2560.  I reupload the code and I still can get Received Data.... something wrong with my PIN CONFIGURATION ??? . I will very appreciate if you could give me setup PIN ited connected to arduino Mega with PICT ..thanks
Logged

Share make it perfect !

Leeds, England
Offline Offline
God Member
*****
Karma: 14
Posts: 639
Quick, chuck it in the bin before the boss finds out...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Why don't you contact itead directly instead of hoping they'll see your post on here?

And if you get resolution, please follow up your post?
Logged

Beginners guide to using the Seeedstudio SIM900 GPRS/GSM Shield

Pages: 1 [2]   Go Up
Jump to: