Programme GPS prendre trame GPS
bonjour,
alors voila j'aimerai prendre la trame gps que je reçois sur ??le port de série et le mettre sur le programme pour que je puisse l'envoyer par sms
pouvez vous m'aider ?
merci
alors voila j'aimerai prendre la trame gps que je reçois sur ??le port de série et le mettre sur le programme pour que je puisse l'envoyer par sms
pouvez vous m'aider ?
merci
code: [select]
/* $id: gps.pde 131 2013-09-17 07:31:13z et $ */
/*
* 23/04/2013
* ba
* (c) erm automatismes industriels
*/
// matériel nécessaire :
// - platine arduino uno
// - platine gps
// bibliothèques nécessaires :
// - newsoftserial.zip
// - adafruitgps.zip
// à décompresser dans le dossier c:\<arduino_ide>\libraries
// occupation des broches de la carte uno :
// - d7 -> tx : c'est la broche de transmission, données qui proviennent du module gps avec les données de localisation
// - d8 -> rx : c'est la broche de réception, données qui vont vers le module gps pour le configurer
/*
application gps
module gps utilisé : globaltop fgpmmopa6h
*/
// gestion des bibliothèque en fonction de la version du logiciel arduino
#include <adafruit_gps.h>
#if arduino >= 100
#include <softwareserial.h>
#else
#include <newsoftserial.h>
#endif
// configuration des pins rx et tx pour chacune des bibliothèques pouvant être utiulisées suivant la version du logiciel arduino
#if arduino >= 100
softwareserial myserial(8, 7);
#else
newsoftserial myserial(8, 7);
#endif
adafruit_gps gps(&myserial);
// activé gpsecho permet de visualiser les trames gps brutes
#define gpsecho true
// ceci permet de vérifier si l'interruption est utilisée
boolean usinginterrupt = false; //interruption désactivée par défaut
void useinterrupt(boolean); // prototype de la fonction de configuration de l'interruption
void setup()
{
serial.begin(115200); // vitesse de communication entre la carte microcontrôleur et le pc
serial.println("analyseur gps"); // ecrire le titre avec saut de ligne à la fin
gps.begin(9600); // configuration de la vitesse de transmisiion du module gps
// choix des trames gps à consulter : gga, gsa, gsv et rmc
gps.sendcommand(pmtk_set_nmea_output_rmconly);
// consulter les données gps à une fréquence de 1hz
gps.sendcommand(pmtk_set_nmea_update_1hz);
// permet de connaitre le statut de l'antenne (pgtop 11,x; x=3 antenne externe ; x=2 antenne interne; x=1 antenne en defaut)
gps.sendcommand(pgcmd_noantenna);
useinterrupt(true);
delay(1000);
}
// l'interruption est appelée toutes les millisecondes, cherche de nouvelles données gps, puis les envoie sur la liaison uart usb
signal(timer0_compa_vect) {
char c = gps.read();
if (gpsecho)
if (c) udr0 = c;
//l'écriture directe dans udr0 est beaucoup plus rapide que serial.print mais seulement un caractère peut être écrit à la fois.
}
void useinterrupt(boolean v) {
if (v) {
// configure timer0 pour avoir une interruption toutes les millisecondes
ocr0a = 0xaf;
timsk0 |= _bv(ocie0a);
usinginterrupt = true;
} else {
timsk0 &= ~_bv(ocie0a);
usinginterrupt = false;
}
}
void loop()
{}
bonjour,
un seul post suffit, non?
enfin là, tu traite que la partie gps.
un seul post suffit, non?
enfin là, tu traite que la partie gps.
Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Programme GPS prendre trame GPS
arduino
Comments
Post a Comment