Bonjour
J'ai un bug quand je veux brancher mon GPS (Vk2828U7G5LF) avec une carte Mini SD (CATAEX).
Si je supprime SD.begin(13); le GPS marche mais pas la carte SD (Je peux afficher les Longitude et Latitude).
Mais bien sûr la carte Sd ne marche plus...
Mais dès que j'ajoute cette ligne de code SD.begin(13);, le GPS ne marche plus????
Je veux pouvoir écrire une position dans ma carte SD...
De plus les coordonnées GPS affichées sur l'écran LCD ou dans la fenêtre de dialogue n'ont pas de . et elles sont proche de la position réelle mais il y a une erreur de 1 Km donc je suis quand même très loin.
Ça fait 3 jours que je tourne en rond. SOS.
Merci d'avance.
#include <TinyGPS.h>
#include <SoftwareSerial.h>
SoftwareSerial GPS(10,8);
TinyGPS shield;
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
#include <SPI.h>
#include <SD.h>
File myfile;
void setup()
{
Serial.begin(9600);
delay(50);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Debut");
GPS.begin(9600);
// cette ligne de code fait buger le GPS?????POUR QUOI???
SD.begin(13);
}
void getgps(TinyGPS &gps)
{
long latitude, longitude;
// Then call this function
lcd.clear();
shield.get_position(&latitude, &longitude);
lcd.setCursor(0,0);
lcd.print(longitude);
myfile = SD.open("GPS.txt", FILE_WRITE);
myfile.println(latitude);
myfile.println(longitude);
myfile.close();
Serial.println(latitude);
Serial.println(longitude);
delay(50);
}
void loop()
{
byte a;
if ( GPS.available() > 0 ) // if there is data coming from the GPS shield
{
a = GPS.read(); // get the byte of data
if(shield.encode(a)) // if there is valid GPS data...
{
getgps(shield); // then grab the data and display it on the LCD
}
}else{ }
}