Arduino UNO, Gps MAX-7Q

Bonjour
Je poste ce sujet car en ce moment je travaille sur un projet de localisation d’un pompier
Je voudrais obtenir les informations (Trames) du pompier afin de visualiser ceci sur une tablette.
J’ai l’intention d’utiliser une carte Arduino UNO avec un shield GPS/GPRS/GSM u blox : (http://www.lextronic.fr/P34213-platine-shield-25ggsmgprs--gps.html)
Malheureusement je suis bloqué en ce moment car je n’arrive pas à visualiser les trames avec mon programme ci dessous

#include <SoftwareSerial.h>

SoftwareSerial PortSerie(8,9);

int bouton = 3;
int Ledrouge = 13;
int Ledverte = 12;
int etat;

void setup()

{
Serial.begin(2400);
PortSerie.begin(2400);
Serial.println(“Affichage des trames NMEA du GPS”);
Serial.println();

pinMode(bouton, INPUT);
pinMode(Ledrouge, OUTPUT);
pinMode(Ledverte, OUTPUT);

}

void loop()
{

etat = digitalRead(bouton);

if ( etat == HIGH && PortSerie.available() > 0 )

{
Serial.println(“Debut d’affichage”);
char Tramelue = PortSerie.read();
Serial.write(Tramelue);
digitalWrite(Ledverte, LOW);
digitalWrite(Ledrouge, HIGH);
}

else
{
Serial.println(“Fin d’affichage”);
digitalWrite(Ledverte, HIGH);
digitalWrite(Ledrouge, LOW);
}
}

En ce qui concerne les LED c’est un petit montage à côté

D’après les informations du fournisseur, les trames de l’antenne ce trouve sur les PIN 14 et 15 mais je les ai changé en 8 et 9 (cablage particulier)
(http://developer.mbed.org/components/Embedded-Artist-Cellular-and-Positioning/)

Malgrès ce programme je n’obtiens que “Fin d’affichage”.
Je suis bloqué depuis plusieurs jours…
Avez vous une solution pour moi ?

Dwayne8562:
D'après les informations du fournisseur, les trames de l'antenne ce trouve sur les PIN 14 et 15 mais je les ai changé en 8 et 9 (cablage particulier)

bonsoir
oui mais les pin 14 et 15 (qui correspondent à A4 et A5 d'un arduino UNO) sont les pins dediés à la gestion hard de l'I²C du recepteur GPS

Merci de m'avoir répondu
Excuse moi je me suis trompé, c'est les PIN 16 et 17 et non 14 et 15.
Du fait j'ai fait un cablage entre mon arduino et mon module, PIN 8 vers le PIN 16 du module et PIN 9 vers le PIN 17 du module. Mais au final je ne reçois rien...

Dwayne8562:
Merci de m'avoir répondu
Excuse moi je me suis trompé, c'est les PIN 16 et 17 et non 14 et 15.
Du fait j'ai fait un cablage entre mon arduino et mon module, PIN 8 vers le PIN 16 du module et PIN 9 vers le PIN 17 du module. Mais au final je ne reçois rien...

bonsoir
je ne comprend pas bien ton cablage, mais il faut impérativement pour que ton gps fonctionne avec un UNO qu'il soit raccordé sur les pins dediés à l'I²C , c'est à dire A4 et A5 de l'arduino UNO, et npin 0,1 et pour le serial et le ON/OFF

voir

Bon j’ai fait des modifications avec un ami et j’ai en ce moment un programme avec des Command AT mais mes commandes bugs à partir du deuxième. Voici 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();

MAX7.println(“configuration par defaut”);
Serial.println(“ATZ”); // remettre les configurations par defaut
delay (5000);
PrintMAX7();

MAX7.println(“GPS allumé? (1=oui ; 0=non)”);
Serial.println(“AT+UGPS=1,0”); // changer de 1 à 0 et inversement ; 0 indique le mode “non aide”
delay (5000);
PrintMAX7();

MAX7.println(“TRAMES NMEA Activées? (0=non ; 1=oui)”);
Serial.println(“AT+UGGSV=1”);
delay (5000);
PrintMAX7();

MAX7.println(“lecture des trames NMEA”);
Serial.println(“AT+UGGSV?”); // lit les trames reçues
delay (5000);
PrintMAX7();

MAX7.println("fuseau horaire ");
Serial.println(“AT+UGTMR?”); // de -96 à 96
delay (5000);
PrintMAX7();

MAX7.println("fuseau horaire donné ");
Serial.println(“AT+UGTMR= -1”); // de -96 à 96
delay (5000);
PrintMAX7();

MAX7.println("La date et l’heure du GPS ");
Serial.println(“AT+UGZDA?”); // D/H
delay (5000);
PrintMAX7();

MAX7.println("données GPS ");
Serial.println(“AT+UGGGA=1”); // activer les données GPS
delay (5000);
PrintMAX7();

MAX7.println("lecture des données GPS actuelles ");
Serial.println(“AT+UGGGA?”);
delay (5000);
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 (5000);
PrintMAX7();

MAX7.println("lecture de la position actuelle ");
Serial.println(“AT+UGGLL?”);
delay (5000);
PrintMAX7();

MAX7.println("lecture des données GNSS actuelles ");
Serial.println(“AT+UGRMC?”); //Lire les données GNSS minimales actuelles (données RMC )
delay (5000);
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 (5000);
PrintMAX7();

MAX7.println("affichage de valeur vitesse et localisation ");
Serial.println(“AT+UGVTG?”);
delay (15000);
PrintMAX7();

}
void loop()
{
delay(20);
}
void PrintMAX7()

{
delay(2000);

if(Serial.available())
{
Serial.print("\n");
delay(3000);
while(Serial.available())
{
MAX7.print((char)Serial.read()); // Affichage des données du GPS reçu par l’antenne
}
MAX7.print("\n");
}
}

A partir du passage ou je demande si mon GPS est allumé, on m’affiche “ERROR” dans le moniteur série.
Est ce que quelqu’un s’y connait en command At GPS ?

Hi,
I was interested to know if you received any more information.
My understanding was that the GPS module was not accessible via the modem unless 2 resistors are added. see paragraph 5.2 of the attached document. I’ve tried unsuccessfully to do that so the AT commands still tell me that there no GPS module available.
Best regards,
Pete

Connecting GPS to GSM.pdf (254 KB)

Bonjour,
J’avoue que je n’ai pas très bien compris la démarche de ton programme. Un peu bizarre. Je vais regarder plus en détail si j’ai un peu de temps.
Mais je pense que la première chose à faire c’est de vérifier si ton GPS fonctionne avec Arduino.
Je te livre un programme simple qui doit fonctionner sans problèmes. Le MAX-7Q doit bien avoir une sortie TX et RX non ? Avec ça tout fonctionne.
Tu as bien aussi une antenne extérieure ? Sinon !!!
Alors le + au + 5 volts de l’Arduino, le - au moins bien sûr, la broche TX du module GPS enfichée dans la broche 2 (qui est en fait la troisième) Il y a 0 RX - 1 TX - 2 - 3 - etc
On branche, upload le sketch, vérification que “Outils” type de carte et port sont les bons et cliquer sur “Moniteur série” et c’est ça doit rouler …
Tu verras les trames défilées. Si ça marche OK sinon il y a un PB qui coince. Faudra chercher. Ensuite je peux t’envoyer du plus complet comme programme. Tu me le diras.

#include <SoftwareSerial.h>

SoftwareSerial SoftSerial(2, 3);
unsigned char buffer[64];
int count = 0;

void setup()
{
SoftSerial.begin(9600);
Serial.begin(9600);
}

void loop()
{
String dataString = “”;

if (SoftSerial.available())
{
while (SoftSerial.available())
{
buffer[count++] = SoftSerial.read();
if (count == 64)break;
}
Serial.write(buffer, count);
clearBufferArray();
count = 0;
}
if (Serial.available())
SoftSerial.write(Serial.read());

}
void clearBufferArray()
{
for (int i = 0; i < count; i++)
{
buffer = NULL;

  • }*
    }