Bonjour,
Je veux récupérer la valeur d'un poids dans la variable float LecturePoids afin par la suite réaliser un calcul
-
void LectureDuPoids()
-
{
-
Serial.println(scale.get_units(10), 0) ;
-
LecturePoids = (scale.read_average(10), 0) ;
-
Serial.println(LecturePoids );
-
LecturePoids =float( (scale.read_average(10), 0) );
-
Serial.println(LecturePoids );
-
}
La ligne 3. m'imprime bien le poids
La ligne 5 et 7 m'imprime 0.00
Comment puis-je transformer la valeur" scale.get_units(10), 0" en nombre avec 2 décimales ?
Je vous remercie d'avance pour votre réponse
Bonne soirée confinée
Pierre
Bonsoir,
Tout d'abord, mets ton code entre balises (la première icône à gauche). Ce sera plus clair.
Ensuite quand tu écris :
print(LecturePoids, 0);
Ça signifie que la valeur poids n'aura pas de décimales.
Pour avoir deux décimales tu écris :
print(LecturePoids, 2);
Donc je ne comprends pas ta syntaxe :
LecturePoids = scale_read_average(10), 0);
Pour avoir le poids écris simplement :
LecturePoids =scale_get_units();
Puis pour avoir deux décimales :
print(LecturePoids, 2);
En supposant que la bibliothèque utilisée est la HX711 de Bodge, on voit que :
- scale.read_average renvoie un long
- scale.get_units renvoie un float
Pour afficher un float, print permet de choisir le nombre de décimales :
Serial.print(monFloat, 3) donnera 3 décimales. Mais, ça ne marche pas pour un entier (ou un long) puisque ... il n'y a pas de décimales.
Tu peux faire quelque chose comme ça :
void LectureDuPoids() {
float units = scale.get_units(10);
long LecturePoids = scale.read_average(10);
Serial.println(LecturePoids);
Serial.println(units, 2);
}
LecturePoids sera affiché comme un entier, qu'il est.
units avec 2 chiffres après la virgule.
Attention :
- read_average renvoie la moyenne du nombre de mesures spécifié en argument. Ce sont les mesures brutes.
- get_units renvoie cette moyenne, diminuée d'un offset (la tare a priori), et ensuite divisée par un facteur d'échelle.
Donc pour se servir de get_units, il faut définir auparavant l'offset et le facteur d'échelle, via les fonctions set_offset et set_scale