Transmission de données GPS via xbee
Bonjour dans le cadre de ma formation je dois réaliser un programme permettant de transmettre les données d'un capteur GPS type Grove, via une liaison X-bee. J'ai réalisé un code, mais je ne réussi pas a transmettre les données du GPS a mon X-bee, pour que par la suite il puisse l'envoyer à un ordinateur pour les afficher.
Mon professeur ma conseiller de mettre un bouton poussoir (que je n'ai pas eu le temps de programmer complètement) pour pouvoir réussir à différencier les deux parti de mon programme, pour par la suite réussir a régler le problème. J'imagine que cela ne m'aidera pas trop, mais pour éviter tout problème j'en ai mis un :mouarf: .
merci par avance de vos conseils.
voici le code que j'ai créer pour pouvoir transmettre mes données:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| #include <TinyGPS++.h>
#include <SoftwareSerial.h>
//déclaration des différentes librairies utilisés pour le programme
static const int RXPin = 5, TXPin = 4;
static const uint32_t GPSBaud = 9600;
TinyGPSPlus gps; // initialisation de la librairie en gps
int pinBouton;
SoftwareSerial ss(RXPin, TXPin), xbee(2, 3); // ici on rentre les différents PIN des capteur
// pour le gps on se trouve en RXPin = 5 et TXPin = 4
// pour le xbee on se trouve en RXPin = 3 et TXPin = 2
void setup()
{
ss.begin(GPSBaud); //initialisation du module GPS en 9600
xbee.begin (9600); //initialisation du module Xbee en 9600
Serial.begin(9600);
pinBouton=10; // le buton est branché sur la broche 10
pinMode(pinBouton,INPUT);
}
void loop()
{
geoloc(); // void pour le gps
transmission(); // void pour le XBEE
boolean etatBouton=digitalRead(pinBouton); //initialisation du bouton
Serial.println(etatBouton);
delay(1000);
if (digitalRead(pinBouton) == 0)
{
transmission();
}
else
{
geoloc();
}
}
///////////////////////////////////////////////////////////
void transmission()
{
String trame = "@skate...";
Serial.println(trame);
xbee.println(trame);
// transmission du nom du projet
String trame1 = "Lattitude: ";
Serial.println(trame1);
xbee.println(gps.location.lat(), 6);
// transmission des lattitudes
String trame2 = "Longitude: ";
Serial.println(trame2);
xbee.println(gps.location.lng(), 6);
// transmission des logitudes
String trame3 = "Vitesse: ";
Serial.println(trame3);
xbee.println(gps.speed.kmph());
// transmission de la vitesse
}
////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
void geoloc()
{
if (gps.location.isValid())
{
Serial.println(gps.location.lat(), 6);
Serial.println(gps.location.lng(), 6);
}
else
{
Serial.println(F("Pas de donnees"));
}
Serial.println(gps.speed.kmph());
}
///////////////////////////////////////////////////////////// |