Problems in GPS Module ... Need Some Help

I have recently buyed a GPS Module named V.KEL VK16E .
I want to get the GPS coordinates (lat,long,date,time) etc ... I have actually tested the GPS module on Arduino Uno . I have removed the Micro controller off and then attached the wires of GPS to Arduino pins somehow. I have attached the datasheet of the GPS module in order to clearly get the concept about the wire's role .

When i run the Arduino software and gone to Serial monitor , i can see the NMEA sentences coming . I need to get the coordinates by using Software Serial and Tiny GPS Library. I am having a confusion about which wires of GPS module to attach with Arduino .. TX,RX where on which pin ??? So, i can see the NMEA sentences come on the Serial Monitor i have tried alot. But i failed in it .. can someone plz help me ..

http://www.hanssummers.com/ultimategps.html
here is a link of the module which i am using but getting confusion about the wires.

i have attached the pic , when i removed off the microcontroller and then tested it , then this output comed .. but it seems to me like the values are all in 0's .. which is not correct. i have posted about this topic like 2-3 times but neither got a reply. If someone can help me in this , i will be very thankful :slight_smile:

GPS Problem.png

vk16e.pdf (258 KB)

GPS module and Arduino Uno ..

You did take the GPS and Arduino outside, right?

i did take the GPS and arduino outside outdoors , but it does not show me correct result . i have attached a picture , as you can see the values are 0's . It worked , when i removed off the microcontroller .. but i want to do it with the software serial and tiny GPS library . but i m getting confusion about the wires of the GPS , which wires is TX and which is RX . which wire is going to be connected to which arduino pin .. :frowning:

You haven't got a satellite fix. Try leaving it for longer.

$GPGGA, the value after the 'E'. 0 is invalid.

i leave it for longer , but still it gives the same output .
just my main focus is on Software Serial and Tiny GPS library , now i have to attached the wires of GPS with arduino . but i m getting confusion about which wire is TX and which is RX .. which wires will be attached on the Arduino so i can see the NMEA sentences on serial monitor .

If you get output from the GPS via the Arduino to the serial monitor, as per your first post, then the connections must be correct?

yes you are right .. i did the connections right .. but it worked when i have taken off the microcontroller chip .
there is red wire which is for power (5V or 3.3V) , black wire for (GND) , blue wire which is RX .. i just wired the RX to Arduino Pin 1 which is (TX) . then i get this output .
when i plugged in the microcontroller chip , then used the Software Serial Library and Tiny GPS i didn't work for me .. i m getting problems . which wire to attach at which pin .. :frowning:

i dont understand about RX and TX .. and i tried to wire the RX to Pin 0 (RX) and TX wire to Pin 1 (TX) .. but it does not show me anything on the Serial Monitor . i have followed this code ..

#include <SoftwareSerial.h>
#include <TinyGPS.h>

long lat,lon; // create variable for latitude and longitude object

SoftwareSerial gpsSerial(0, 1); // create gps sensor connection
TinyGPS gps; // create gps object

void setup(){
Serial.begin(9600); // connect serial
gpsSerial.begin(4800); // connect gps sensor
}

void loop(){
while(gpsSerial.available()){ // check for gps data
if(gps.encode(gpsSerial.read())){ // encode gps data
gps.get_position(&lat,&lon); // get latitude and longitude
// display position
Serial.print("Position: ");
Serial.print("lat: ");Serial.print(lat);Serial.print(" ");// print latitude
Serial.print("lon: ");Serial.println(lon); // print longitude
}
}
}

You have ONE serial port on the Uno, on pins 0 & 1. This is used by Serial monitor so avoid using these pins for anything else unless you really, really have to.

You are trying to use SoftwareSerial on those pins too. Not necessary, and not a good idea. Try connecting it to pins 7 & 8 and use the following code to try it (untested). If you don't get anything on the serial monitor, swap the wires to pins 7 & 8 over.

#include <SoftwareSerial.h>

SoftwareSerial GPS(7, 8);

unsigned char buffer[64];  // buffer array for data receive over serial port
int count=0;               // counter for buffer array 

void setup()
{
  GPS.begin(4800);
  Serial.begin(19200);
}

void loop()
{
  if (GPS.available())
  {
    while(GPS.available())
    {
      buffer[count++]=GPS.read();
      if(count == 64)
		break;
    }
    Serial.write(buffer,count);
    clearBufferArray();
    count = 0;
  }
}

void clearBufferArray()
{
  for (int i=0; i<count;i++)
  {
    buffer[i]=NULL;
  }
}

I'm afraid I don't use TinyGPS so I can't help with that.

i run the code and attached the wires of tx and rx respectively .. but i m getting garbage values ...

You have set the baud rate in the serial monitor to 19200?

And if so, what is 'garbage'?

yes i have set the baud rate to 19200 .. sorry my bad .. some weird characters are coming on the serial monitor .. here is the pic ..

bug 2.png

So how did you have it connected in the first place, and what code were you using when you took the screen shot?

i have followed your code which u said me to try it .. then i wire the RX wire of GPS to pin 7 and TX wire to pin 8 ..
then i gone on the serial monitor and getting this output :slight_smile:

It looks as though you only need to connect the TxD data wire to the Arduino, try it in 8 first and then if nothing, in 7.

Over and above that I'm afraid I can't really offer any further assistance as I don't have that gps module!

i have wired the GPS RX wire to pin 7 of the arduino .. when i run your code , i can see the TX light blinking and now this output is coming . i have change the baud rate to 9600 .. here is the pic

bug 4.png

In that case I consider it working! As stated before, you don't have a satellite fix (yet) and your gps receiver needs a clear view of the sky for a few minutes to establish that.

what is satellite fix between ?
suppose it is fixed then what .. and why it is showing V in the NMEA string . i have seen that there is A as well in it ..

Google NMEA $GPGGA and that will explain.