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 .

merci par avance de vos conseils.

voici le code que j'ai créer pour pouvoir transmettre mes données:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()); 
}
/////////////////////////////////////////////////////////////