Merci beaucoup, c'est un peu plus clair pour moi.
Voici le résultat :
/*
* Rui Santos
* Complete Project Details https://randomnerdtutorials.com
*/
/*
L'Arduino MEGA 2560 est équipé en plus de 3 ports série matériels.
Désactiver SoftwareSerial.
Dans la suite du programme, ramplacer ss par Serial1, 2 ou 3
correspondant aux ports série matériels 14 à 19 du MEGA 2560.
Faire correspondre RXD du module à TX1 18 de l'Arduino MEGA 2560.
faire correspondre TXD du module à RX1 19 de l'Arduino MEGA 2560.
*/
// #include <SoftwareSerial.h>
// The serial connection to the GPS module
// SoftwareSerial ss(4, 3);
void setup(){
Serial.begin(9600);
Serial1.begin(9600);
}
void loop(){
while (Serial1.available() > 0){
// get the byte data from the GPS
byte gpsData = Serial1.read();
Serial.write(gpsData);
}
}
10:32:37.849 -> $GPRMC,083252.00,V,,,,,,,020424,,,N*73
10:32:37.882 -> $GPVTG,,,,,,,,,N*30
10:32:37.915 -> $GPGGA,083252.00,,,,,0,00,99.99,,,,,,*68
10:32:37.948 -> $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
10:32:38.013 -> $GPGSV,3,1,10,03,00,347,,06,21,048,,11,28,088,,12,64,061,*7C
10:32:38.079 -> $GPGSV,3,2,10,24,27,142,,25,75,305,18,28,30,308,,29,37,202,*7A
10:32:38.144 -> $GPGSV,3,3,10,31,03,309,,32,38,264,26*7D
10:32:38.177 -> $GPGLL,,,,,083252.00,V,N*44
10:32:38.873 -> $GPRMC,083253.00,V,,,,,,,020424,,,N*72
10:32:38.906 -> $GPVTG,,,,,,,,,N*30
10:32:38.906 -> $GPGGA,083253.00,,,,,0,00,99.99,,,,,,*69
10:32:38.971 -> $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
10:32:39.004 -> $GPGSV,3,1,10,03,00,347,,06,21,048,,11,28,088,,12,64,061,*7C
TX clignote sur l'Arduino.
Je ne crois pas que mes coordonnées GPS apparaissent.
Si j'utilise le code de TinyGPS++, j’obtiens ça, ça semble fonctionner mais rien n'apparait dans le moniteur série, sais-tu pourquoi ?
TX ne clignote pas sur l'Arduino.
/*
* Rui Santos
* Complete Project Details https://randomnerdtutorials.com
*
* Based on the example TinyGPS++ from arduiniana.org
*
*/
#include <TinyGPS++.h>
// #include <SoftwareSerial.h>
//static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;
// The TinyGPS++ object
TinyGPSPlus gps;
// The serial connection to the GPS device
// SoftwareSerial ss(RXPin, TXPin);
void setup(){
Serial.begin(9600);
Serial1.begin(GPSBaud);
}
void loop(){
// This sketch displays information every time a new sentence is correctly encoded.
while (Serial1.available() > 0){
gps.encode(Serial1.read());
if (gps.location.isUpdated()){
// Latitude in degrees (double)
Serial.print("Latitude= ");
Serial.print(gps.location.lat(), 6);
// Longitude in degrees (double)
Serial.print(" Longitude= ");
Serial.println(gps.location.lng(), 6);
// Raw latitude in whole degrees
Serial.print("Raw latitude = ");
Serial.print(gps.location.rawLat().negative ? "-" : "+");
Serial.println(gps.location.rawLat().deg);
// ... and billionths (u16/u32)
Serial.println(gps.location.rawLat().billionths);
// Raw longitude in whole degrees
Serial.print("Raw longitude = ");
Serial.print(gps.location.rawLng().negative ? "-" : "+");
Serial.println(gps.location.rawLng().deg);
// ... and billionths (u16/u32)
Serial.println(gps.location.rawLng().billionths);
// Raw date in DDMMYY format (u32)
Serial.print("Raw date DDMMYY = ");
Serial.println(gps.date.value());
// Year (2000+) (u16)
Serial.print("Year = ");
Serial.println(gps.date.year());
// Month (1-12) (u8)
Serial.print("Month = ");
Serial.println(gps.date.month());
// Day (1-31) (u8)
Serial.print("Day = ");
Serial.println(gps.date.day());
// Raw time in HHMMSSCC format (u32)
Serial.print("Raw time in HHMMSSCC = ");
Serial.println(gps.time.value());
// Hour (0-23) (u8)
Serial.print("Hour = ");
Serial.println(gps.time.hour());
// Minute (0-59) (u8)
Serial.print("Minute = ");
Serial.println(gps.time.minute());
// Second (0-59) (u8)
Serial.print("Second = ");
Serial.println(gps.time.second());
// 100ths of a second (0-99) (u8)
Serial.print("Centisecond = ");
Serial.println(gps.time.centisecond());
// Raw speed in 100ths of a knot (i32)
Serial.print("Raw speed in 100ths/knot = ");
Serial.println(gps.speed.value());
// Speed in knots (double)
Serial.print("Speed in knots/h = ");
Serial.println(gps.speed.knots());
// Speed in miles per hour (double)
Serial.print("Speed in miles/h = ");
Serial.println(gps.speed.mph());
// Speed in meters per second (double)
Serial.print("Speed in m/s = ");
Serial.println(gps.speed.mps());
// Speed in kilometers per hour (double)
Serial.print("Speed in km/h = ");
Serial.println(gps.speed.kmph());
// Raw course in 100ths of a degree (i32)
Serial.print("Raw course in degrees = ");
Serial.println(gps.course.value());
// Course in degrees (double)
Serial.print("Course in degrees = ");
Serial.println(gps.course.deg());
// Raw altitude in centimeters (i32)
Serial.print("Raw altitude in centimeters = ");
Serial.println(gps.altitude.value());
// Altitude in meters (double)
Serial.print("Altitude in meters = ");
Serial.println(gps.altitude.meters());
// Altitude in miles (double)
Serial.print("Altitude in miles = ");
Serial.println(gps.altitude.miles());
// Altitude in kilometers (double)
Serial.print("Altitude in kilometers = ");
Serial.println(gps.altitude.kilometers());
// Altitude in feet (double)
Serial.print("Altitude in feet = ");
Serial.println(gps.altitude.feet());
// Number of satellites in use (u32)
Serial.print("Number os satellites in use = ");
Serial.println(gps.satellites.value());
// Horizontal Dim. of Precision (100ths-i32)
Serial.print("HDOP = ");
Serial.println(gps.hdop.value());
}
}
}
Le chapitre des messages d'erreur n'est pas clair pour moi.