bonjour, je n'arrive pas a faire fonctionner mon arduino mkr Gps.Je l'utilise avec une arduino mkr zero officielle. voici mon code : `#include <Arduino_MKRGPS.h>
#include <SPI.h>
#include <SD.h>
void setup() {
pinMode(4,OUTPUT);
Serial.begin(115200);
if (!GPS.begin(GPS_MODE_SHIELD)) {
Serial.println("Failed to initialize GPS!");
while (1) {
digitalWrite(4,HIGH);
delay(1000);
digitalWrite(4,LOW);
delay(1000);
};
}
if (!SD.begin()) {
Serial.println("Card failed, or not present");
while (1) {
digitalWrite(4,HIGH);
delay(500);
digitalWrite(4,LOW);
delay(500);
};
}
digitalWrite(4,HIGH);
delay(1000);
digitalWrite(4,LOW);
}
void loop() {
String dataString = "";
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// wait for new GPS data to become available
// read GPS values
float latitude = GPS.latitude();
float longitude = GPS.longitude();
float altitude = GPS.altitude();
int satellites = GPS.satellites();
// print GPS values
Serial.println();
Serial.print("Location: ");
Serial.print(latitude, 7);
Serial.print(", ");
Serial.println(longitude, 7);
Serial.print("Altitude: ");
Serial.print(altitude);
Serial.println("m");
digitalWrite(4,HIGH);
dataFile.print(latitude, 7);
dataFile.print(",");
dataFile.println(longitude, 7);
dataFile.print(altitude);
dataFile.print("m");
dataFile.close();
Serial.print("Number of satellites: ");
Serial.println(satellites);
Serial.println();
Serial.print("a suivre");
delay(1000);
}`
Je ne comprends pas, si le if (GPS.available()) { englobe du debut a la fin de la loop, comme tu l'as dit, tu devrais avoir aussi les autres messages et en particulier le nombre de satellites accrochés.
Si le nombre de satellites est 0 c'est normal que tu n'aies aucun résultat.
virez la carte SD, virez tout le reste du montage, ne conservez que le câble I2C (il me semble long mais si c'est celui d'origine...) et testez avec le code ci dessus.