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

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.


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Programme GPS prendre trame GPS


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support