Arduino GPS Speedo project

Hello im starting a project to make a GPS speedo with a TFT LCD module Display similar to this:
http://www.ebay.co.uk/itm/281158525793?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

This GPS module:
http://www.ebay.co.uk/itm/280890908793?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

And an arduino

My first question is what arduino do you think would be most suitable?

So far from my research i have this for the LCD

and still a bit confused about the GPS wiring. But have found this

My first question is what Arduino do you think would be most suitable?

Any Arduino is suitable, it all depends on how much space you have to work with and the amount power your able to supply.

That LCD look like it needs an LCD shield, that is if you want it to be stacked on an Arduino like a UNO or MEGA. However if you run your own wires, then you can use smaller Arduinos like the Nano, Mini or Micro. What are you planing on using as a power supply? A regular 9V battery will not last more than half and hour before its dead, so your better off using rechargeable battery packs.

I am thinking of using a 12v power supply from my cars accessory port. And was looking at the arduino UNO, would like to connect the screen up the high speed connection way if possible.

...with a TFT LCD module Display similar to this:

So what LCD are you actually using?

it is the same one as in the link just cant remeber what size i got, just trying to find a bit more info on it now

Your LCD should come with a library and some example sketches. They should also tell you how you need to wire it to the Arduino, it might be fast, it might not. That you need to research too.

TFT LCD are noisy. You'll need to keep GPS antenna away to get good GPS performance; i.e. no spurious erroneous speed. If you like to keep all electronics neatly in some box, better option is to choose a GPS module with antenna connector, so you can have active GPS antenna placed away from screen and with all the electronics in one place.

Right got a few bits through in the post and managed to get my hands on a arduino mega

Heres a pic of the pins on the GPS unit (Left) and screen (Right)

Heres the pins on the Mega

now just got to start working out what goes where..... may need some help on this lol

Did you download the libraries for the GPS module and your LCD ? This library might work for you LCD adafruitLCD or you can try the UTFT and UTouch libraries.

I am unfamiliar with your GPS module so you may need to find the library on your own, if one even exists.

Right been mucking around with some code and think im getting there have kinda have a mix match of code atm as for the TFT screen it thinks the data is coming in from an analog signal when its coming in the tx or rx and also need to declare some char variables? all of this i am still learning on and need some help i have a copy of the code and where everything is pluged in her:

GPS
TX - 1 (TX)
RX - 0 (RX)

Screen
CS - 10
Reset - 8
D/C - 9
MOSI - pin 13
SCK - pin 11

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


#define RXPIN 0
#define TXPIN 1
#define GPSBAUD 115200
#define cs   10
#define dc   9
#define rst  8 

TFT TFTscreen = TFT(cs, dc, rst);

char sensorPrintout[4];

TinyGPS gps;
SoftwareSerial uart_gps(RXPIN, TXPIN);
void getgps(TinyGPS &gps);

void setup()
{
  
  Serial.begin(115200);
  //Sets baud rate of your GPS
  uart_gps.begin(GPSBAUD);
  
  Serial.println("");
  Serial.println("GPS Shield QuickStart Example Sketch v12");
  Serial.println("       ...waiting for lock...           ");
  Serial.println("");
  
TFTscreen.begin();

  TFTscreen.background(0, 0, 0);

  TFTscreen.stroke(255,255,255);
  TFTscreen.setTextSize(2);
  TFTscreen.text("Sensor Value : ",0,0);
  TFTscreen.setTextSize(5);
}

void loop()
{
  
 //TFT
 
  // Read the value of the sensor on A0
  String sensorVal = String(analogRead(A0));
 
  // convert the reading to a char array
  sensorVal.toCharArray(sensorPrintout, 4);

  // set the font color
  TFTscreen.stroke(255,255,255);
  // print the sensor value
  TFTscreen.text(sensorPrintout, 0, 20);
  // wait for a moment
  delay(250);
  // erase the text you just wrote
  TFTscreen.stroke(0,0,0);
  TFTscreen.text(sensorPrintout, 0, 20);
  
  //GPS
  
  while(uart_gps.available())     // While there is data on the RX pin...
  {
      int c = uart_gps.read();    // load the data into a variable...
      if(gps.encode(c))      // if there is a new valid sentence...
      {
        getgps(gps);         // then grab the data.
      }
  }
}

void getgps(TinyGPS &gps)
{
  
   // To get all of the data into varialbes that you can use in your code, 
  // all you need to do is define variables and query the object for the 
  // data. To see the complete list of functions see keywords.txt file in 
  // the TinyGPS and NewSoftSerial libs.
  
  // Define the variables that will be used
  float latitude, longitude;
  // Then call this function
  gps.f_get_position(&latitude, &longitude);
  // You can now print variables latitude and longitude
  Serial.print("Lat/Long: "); 
  Serial.print(latitude,5); 
  Serial.print(", "); 
  Serial.println(longitude,5);
  
  // Same goes for date and time
  int year;
  byte month, day, hour, minute, second, hundredths;
  gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);
  // Print data and time
  Serial.print("Date: "); Serial.print(month, DEC); Serial.print("/"); 
  Serial.print(day, DEC); Serial.print("/"); Serial.print(year);
  Serial.print("  Time: "); Serial.print(hour, DEC); Serial.print(":"); 
  Serial.print(minute, DEC); Serial.print(":"); Serial.print(second, DEC); 
  Serial.print("."); Serial.println(hundredths, DEC);
  //Since month, day, hour, minute, second, and hundr
  
  // Here you can print the altitude and course values directly since 
  // there is only one value for the function
  Serial.print("Altitude (meters): "); Serial.println(gps.f_altitude());  
  // Same goes for course
  Serial.print("Course (degrees): "); Serial.println(gps.f_course()); 
  // And same goes for speed
  Serial.print("Speed(kmph): "); Serial.println(gps.f_speed_kmph());
  Serial.println();
  
  // Here you can print statistics on the sentences.
  unsigned long chars;
  unsigned short sentences, failed_checksum;
  gps.stats(&chars, &sentences, &failed_checksum);
  //Serial.print("Failed Checksums: ");Serial.print(failed_checksum);
  //Serial.println(); Serial.println();
}

Please put your code inside code tags [ code] code here [ /code] or look for the # symbol above the smiley faces.

Does your LCD even work with that library?

Sorry about that and I don't know if that works yet been trying to get the code on to the arduino, it compiles it all fine but when I go to load it onto the arduino it keeps timing out. Not sure why this is atm?

Can you post pictures or perhaps a video?

Here is a pic of the problem:

The "on" LED is on and the "L" LED is flashing all the time
Have been having a look online says it may be the driver?

Just tried the blink test and getting the same results

The both softwareSerial and regular Serial both use pins 0 and 1, this is the cause of your error. Since you can't change the normal serial pins, you need to change the software serial pins.

Ok been trying to figure out how i would fix this but having i bit of trouble, a bit of a noob haha

Also have tried the blink test file with out anything in the tx and rx pins and the same error is coming up

Just the blink test file, with nothing connected to the arduino and you still the the error? Show me a picture.

Try opening your PC device manager and checking which comm port your Arduino is connected to, then set that in the Arduino IDE under tools/ serial. This should also be displayed in the lower right of your PC screen, unfortunately your screen shot does not show that.