Bonjour je post ce topic car j'ai un problème
En ce moment je travaille sur un module GPS GPRS sur Arduino. Mon but est de visualiser des trames gps et d'envoyer des messages. Hier encore tout fonctionnait bien je voyais mes commandes AT sur le moniteur série ( AT+GRMC? par exemple et le module me repondait.) Mais ce matin alors que je refais mes test je n'ai plus rien sur le moniteur série, je suis branché en USB et quand je test avec juste la carte arduino les commandes apparaissent sur le moniteur série et donc cela ne vient pas de ma carte donc je voulais savoir si vous aviez une idée ? Mes Rx et Tx sont bien mis, il n'y a pas de problème la dessus. Avez vous une idée du problème que j'ai?
bonjour,
sans code difficile de répondre.
Rien voir sur le moniteur série ne signifie pas que cela provienne du moniteur série .
Si tu ne met pas d'escence dans une voiture et qu'elle ne démare pas ce ne sera pas la faute du démareur.
Si le fonctionnement est correct sans la carte GPS GPRS et mauvais avec .........il faut peut-être regarder du coté du câblage et vérifier que le code n'aurait pas subit quelques modifications involontaires et donc je rejoins infobarquee : le code et j'ajoute entre balises code.
D'accord excusez moi je vais vous montrer le programme :
#include <SoftwareSerial.h>
SoftwareSerial MAX7(10,11);
void setup()
{
MAX7.begin(9600);//initialisation des communications series(baud)
Serial.begin(9600);//initialisation des communications series(baud)
PrintMAX7();
// problème sur les commandes où je dois recevoir et afficher une valeur : 1 ; 3 ; 4 ; 6 ; 8 ; 10 ; 11 ; 13 (2 error , 6 not available)
MAX7.println("GPS allume? (1=oui ; 0=non)");
Serial.println("AT+UGPS=1,0"); // Etat 1 pour allumer le GPS ; 0 indique le mode "non aide"
delay (2000);
PrintMAX7();
MAX7.println("TRAMES NMEA Activees? (0=non ; 1=oui)");
Serial.println("AT+UGGSV=1");
delay (2000);
PrintMAX7();
MAX7.println("lecture des trames NMEA (GSV)");
Serial.println("AT+UGGSV?"); // lit les trames reçues
delay (2000);
PrintMAX7();
MAX7.println("Fuseau Horaire ");
Serial.println("AT+UGTMR?"); // de -96 à 96
delay (2000);
PrintMAX7();
MAX7.println("Fuseau Horaire Donne ");
Serial.println("AT+UGTMR=1"); // de -12 à 12
delay (2000);
PrintMAX7();
MAX7.println("La date et l'heure du GPS ");
Serial.println("AT+UGZDA?"); // D/H
delay (2000);
PrintMAX7();
MAX7.println(" Activation des donnees GPS ");
Serial.println("AT+UGGGA=1"); // activer les données GPS
delay (2000);
PrintMAX7();
MAX7.println("Lecture des Trames NMEA GGA");
Serial.println("AT+UGGGA?");
delay (1000);
PrintMAX7();
MAX7.println("Stockage de la derniere valeur (1=actif, 0=non-actif) ");
Serial.println("AT+UGGLL=1"); //Active, désactive le stockage de la dernière valeur de messages NMEA $ GLL , et obtient l'état de messagerie actuel ( 1 - 0 Activer - Désactiver )
delay (2000);
PrintMAX7();
MAX7.println("Lecture des Trames NMEA (GLL) ");
Serial.println("AT+UGGLL?");
delay (2000);
PrintMAX7();
MAX7.println("Lecture des Trames NMEA (RMC) ");
Serial.println("AT+UGRMC?"); //Lire les données GNSS minimales actuelles (données RMC )
delay (2000);
PrintMAX7();
MAX7.println("Stockage valeur vitesse et localisation ");
Serial.println("AT+UGVTG=1"); //Active, désactive le stockage de la dernière valeur de cours sur les messages de masse et de la vitesse au sol et obtient connaître l'état de messagerie actuel .
delay (2000);
PrintMAX7();
MAX7.println("Lecture des Trames NMEA (GTG) ");
Serial.println("AT+UGVTG?");
delay (5000);
PrintMAX7();
}
void loop()
{
delay(20);
}
void PrintMAX7()
{
delay(1000);
if(Serial.available())
{
Serial.print("\n");
delay(1000);
while(Serial.available())
{
MAX7.print((char)Serial.read()); // Affichage des données du GPS reçu par l'antenne
}
MAX7.print("\n");
}
}
Si ce n'est pas serial.print c'est normal car sinon la communication n'est pas possible.Du fait je l'ai changé en MAX7.print
Après en soit j'ai quelques erreurs avec les commandes at pour ce gps mais normalement je peux au moins les voir sur le moniteur serie.
d'après ce que je vois, tu affiche les commentaires sur le port du gps et le envoies au gps sur le Serial.
ca serait pas l'inverse?
t'es certain que tu voyais quelque chose avant?
après
void loop()
{
delay(20);
}
c'est bien, mais tu renvoie sur rien dans le loop
ca serait pas ca?
void loop()
{
PrintMAX7();
delay(20);
}
Oui c'est normal si tu vois l'inverse car au lieu de passer directement par l'usb basique, je passe par les pins de mon shield vers l'usb de mon ordinateur car c'était le seul moyen de voir mes command at et qu'elles se réalisent et pour le void loop sa n'a pas de problème en soit ce programme est le basique, normalement je met une command at pour visualiser une trame dans le void loop mais du fait j'obtiens qu'un espace constant qui se repete et pareille pour mes command at dans le setup ...
Quelqu'un a une idée?
