HELP! - Arduino Duemilanove, GPS e xBee

Hello to all, I'm new to this forum and also for applications on circuit ... :P

That said, I'd like to ask a question.

I bought this kit:http://www.libelium.com/tienda/catalog/product_info.php?cPath=23&products_id=63

my goal is to forward GPS position via xbee to another xbee, each connected to an Arduino module.

I followed the instructions of many forums, but the GPS signal does not want to come out from the receiver (or I wrong any configuration for the transmitter or the receiver).

In summary: - (Transmitter) Arduino module with GPS module and xbee module ; - (Receiver) Arduino module with xbee module;

Please Help me !! :'( :'( TNKS to all!

but the GPS signal does not want to come out from the receiver (or I wrong any configuration for the transmitter or the receiver).

Two things - GPS most likely won't work indoors, so make sure your antenna has a clear view of the sky, and second a cold-start first fix could take up to fifteen minutes for some receivers. Are there any self-test or ID messages you can send the Rx to check your comms are correct?

TNKS Groove for your quick response,
Now I’m at work, and I don’t have with me any module, but :

  • I’ve tried with an Arduino module with only a gps module and the signal goes out on Arduino environment (my release is “Arduino 0015”).

When I connect the xbee module, I don’t know how I transmit that signal on the xbee.

I’ve tried with that code below, but nothing happens.
(http://slab.concordia.ca/2008/arduino/gps/)

Transmitter :

/*
 * SoftwareSerial Library provides Arduino an additional
 * "Software" Serial Port
*/
#include <SoftwareSerial.h>

// SoftwareSerial TX & RX Pins
#define SoftrxPin 3
#define SofttxPin 2

/* Declare and Initialise SoftwareSerial Object
 * - Setup the Software Serial Port
*/
SoftwareSerial mySerial = SoftwareSerial(SoftrxPin, SofttxPin);

// GPRMC byte variable from the GPS
byte GPRMC = 0;

// MessageLine - The Entire GPS Message Received
byte messageLine[128];

void setup()
{
  // Set the XBee BAUD RATE
  Serial.begin(9600);

  // Set the GPS BAUD RATE
  mySerial.begin(4800); 

  // Receive GPS Serial Data on Digital Pin 2
  pinMode(SoftrxPin, INPUT);
}

void loop()
{
  GPRMC = mySerial.read();

  if(GPRMC == '

Receiver :

byte mLength = 0;
byte GPSRMC = 0;

void setup()
{
  // Set the XBee BAUD RATE
  Serial.begin(9600);
}

void loop()
{
    GPSRMC = Serial.read();

    if (GPSRMC == '!')
    {
     // Get Length of NMEA Sentence
      mLength = Serial.read();
     // Initialise Array
      byte messageIn[mLength];
      int cnt = 0;

     // Get NMEA Sentence
      while ((GPSRMC != 10) && (cnt <= (mLength - 2)))
      {
        GPSRMC = Serial.read();
        messageIn[cnt] = GPSRMC;
      // Display NMEA Sentence
        Serial.print(messageIn[cnt]);
        cnt++;
      }
  }
  delay(100);
}

TNKS!)
 {
   // Clear out the previous GPS Message
   for(int i =0; i< 128; i++) { messageLine[i] = ‘1’; }

// Message Length Counter
   int index = 2;

while(GPRMC != ‘\n’)
   {
     /*
     * Insert ’


Receiver : 

§DISCOURSE_HOISTED_CODE_1§


TNKS! at position 1 in MessageLine, as position 0 is reserved
      * for the total number of chars contained in GPS Message.
      */
      messageLine[index] = GPRMC;
      index++;
      GPRMC = mySerial.read();
    }

    // Insert the GPS Message Length at position 0 in messageLine Array
    messageLine[0] = '!';
    // Insert total length of Message
    messageLine[1] = index;
    // Add '\n'
    messageLine[index] = 10;
    index++;

    // Send the GPS Data to a Wireless Client
    for(int i = 0; i < index; i++) { Serial.print(messageLine[i]); }
   delay(100);
  }
}

Receiver :

§_DISCOURSE_HOISTED_CODE_1_§

TNKS!

I also tried with this code, but displays the answer on the screen instead of sending it through xbee:
(http://www.libelium.com/squidbee/index.php?title=GPS_module)

 /*
  *  Copyright (C) 2008 Libelium Comunicaciones Distribuidas S.L.
  *  http://www.libelium.com
  *
  *  This program is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation, either version 3 of the License, or
  *  (at your option) any later version.
  * 
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  * 
  *  You should have received a copy of the GNU General Public License
  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  *  Version 0.1
  *  Author: Marcos Yarza <m.yarza [at] libelium [dot] com>
  */

// include the SoftwareSerial library
#include <SoftwareSerial.h>

// Constants
#define rxPin 9
#define txPin 8

// set up the serial port

SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);

// variables
byte byteGPS = 0;
int i = 0;
int indices[13];
int cont = 0;
int conta = 0;

char inBuffer[300] = "";

int k = 0;

void setup(){

  //setup for mySerial port
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);
  mySerial.begin(4800);
  
  //setup for Serial port
  Serial.begin(19200);

  // setup the GPS module
  Serial.println("Configurando GPS...");
  delay(1000);
  mySerial.println("$PSTMNMEACONFIG,0,4800,1,1");        // configure NMEA sentences to show only GGA                                                                                                                                                                                                                                 
                                                                                           sentence
  delay(100);
  
  // command for setting time and position
  mySerial.println("$PSTMINITGPS,4140.000,N,00053.000,W,0197,22,10,2007,11,40,00");    

  // "4140.000,N" means: Latitude 41º40'00.0" North
  // "00053.000,W" means: Longitude 0º53'00.0" West
  // "0197" means 197 m elevation
  // "22,10,2007,11,40,00" means date and time (October 22, 2.007 - 11h 40min 00sec UTC time)
}

void loop(){
 
  byteGPS = 0;
  i = 0;
  while(byteGPS != 42){                   // read the GGA sentence
    byteGPS = mySerial.read();         
    inBuffer[i]=byteGPS;               
    i++;                      
  }
   
  k = 1;
  while(inBuffer[k] != 42){
    Serial.print(inBuffer[k]);            // write the GGA sentence
     k++;
  }
  Serial.println();
  delay(3000);
}

TNKS!