Bonjour,
j'ai un problème sur lequel j'ai passé ce WE (pluvieux ).
je n'arrive pas a afficher les valeurs du GPS sur l'écran nextion.
lorsque la partie affichage nextion est retirée les valeurs s'affiche sur le moniteur série.
lorsque je mets un seule affichage ça marche
mais deux ou plus il n'y a plus rien vers le Nextion , n'y vers le moniteur série.
bibliothèque TinyGPS++ ou AdafruitGPS c'est le même problème.
j'ai déjà posté un sujet la dessus mais le code était un peut long pour être facilement étudier. Alors j'ai fait plus simple.
GPS : Beitian BN-880
arduino : méga 2560 mini
écran : Nextion Enhanced NX8048K070
#include <Adafruit_GPS.h>
#define GPSSerial Serial1
Adafruit_GPS GPS(&GPSSerial);
#define GPSECHO false
int Altitude=0;
int Speed=0;
int Satellites=0;
int Angle=0;
void setup()
{
Serial.begin(115200);
GPS.begin(9600);
}
void loop()
{
/************** affichage Nextion ************/
Serial.print("altim.val=");
Serial.print(Altitude);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
Serial.print("sat.val=");
Serial.print(Satellites);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
Serial.print("vsol.val=");
Serial.print(Speed);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
Serial.print("compas.val=");
Serial.print(Angle);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
*/
char c = GPS.read();
if (GPSECHO)
if (c) Serial.print(c);
if (GPS.newNMEAreceived()) {
Speed = (GPS.speed);
Serial.print("Speed (knots): ");
Serial.println(Speed);
Angle = (GPS.angle);
Serial.print("Angle: ");
Serial.println(Angle);
Altitude = (GPS.altitude);
Serial.print("Altitude: ");
Serial.println(Altitude);
Satellites = (GPS.satellites);
Serial.print("Satellites: ");
Serial.println(Satellites);
if (!GPS.parse(GPS.lastNMEA())) // this also sets the newNMEAreceived() flag to false
return;
}
}