Bonjour, je m'appelle Clément et suis actuellement en terminale STI2D SIN.

Je travaille actuellement sur mon projet de bac qui a pour but de connaitre l'état de santé d'une ruche grâce à des capteurs de poids, de température et d'humidité.

Ma partie consiste à envoyer ces valeurs par bluetooth à un shield ethernet et une arduino, pour ensuite les comparer avec des valeurs seuils entrées par l'apiculteur et les afficher sur un site.

Etant débutant en C j'ai réussi à envoyer une variable, la recevoir et l'afficher dans le moniteur série, mais je n'y arrive pas lorsque ma variable est un nombre à virgule, le moniteur ne m'affiche que la valeur entière.

Voici mon code d'envoi:

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
 
#include <SoftwareSerial.h>
 
SoftwareSerial bluetooth(2,3);
float e=21.25;
 
void setup()
{
  Serial.begin(9600);
 
  bluetooth.begin(9600);
}
 
 
void loop()
{
bluetooth.write(e);
delay(5000);
}
Et celui qui reçoit:

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
 
#include <SoftwareSerial.h>
 
SoftwareSerial bluetooth(2,3);
 
 
 
void setup()
{
  Serial.begin(9600);
 
  bluetooth.begin(9600);
}
 
 
void loop()
{
  float e;
 
  if(bluetooth.available())
  {
    e = bluetooth.read();
    Serial.println(e);
  }
}
De plus, je vais devoir envoyer les valeurs de chaque capteur, et à la réception les différencier et mettre chaque valeur dans une variable différente.

Et je ne sais absolument pas comment faire cela.

Si quelqu'un a des choses à me proposer

Merci par avance,

Clément.