Niveau cuve à eau et HC-SR04

Bonjour à tous,

J’habite dans le VAR et je viens de mettre en place une citerne d’eau en prévision de l’été. Afin de ne pas vérifier le niveau en permanence via la trappe d’accès peut accessible je me suis orienté vers l’ARDUINO pour réaliser un petit projet.

Le montage du module HC-SR04 fonctionne parfaitement et après vérification avec un mètre les valeurs sont plus que correctes.

Seulement l’Arduino me renvoi a juste titre la distance entre le module HC-SR04 et le niveau de l’eau.

Ce que je souhaiterai réaliser c’est que l’Arduino me donne la hauteur d’eau dans ma cuve en cm mais surtout en pourcentage et là je bloque.

Pour information ma cuve fait 115 cm entre le fond et le module HC-SR04

Si quelqu’un pourvait me donner un coup de pouce.

Ci dessous une extraction de mon code.

#include <Ultrasonic.h>

Ultrasonic monCapteur( 3 , 2 );

int maDistance = 0;

void setup()
{

Serial.begin( 9600 );
}

void loop()
{

maDistance = monCapteur.convert( monCapteur.timing(), 1 );

Serial.println(maDistance);

}

bonjour,
1- pas la bonne section, ici “réalisations ET projets finis” demande à un modo de déplacer le topic via report to moderator
2- code entre balise code </> à coté du B

pour ton “soucis”
si tu connais la hauteur de la cuve, tu peux en déduire la hauteur d’eau
c’est juste une question de math et non de code :wink:

hauteur maxi = 100cm
détection module = 50cm
donc hauteur = maxi - détection ===> 50cm

pourcentage, ben la règle de 3 ou produit en croix, enfin il y a tellement de noms pour cette formule
100 cm------100%
50cm---------? ? ?
donc
50*100/100 = 50%

Bonjour Infobarquee et merci de ton retour. J'ai fait le nécessaire auprès du modérateur cependant sur le papier je comprends mathématiquement le calcul et sais le résoudre mais comment et ou l'intégrer dans mon code ARDUINO, je ne suis pas un expert.

Merci.

Peut on écrire cela pour ma cuve de 115 cm ? serial.println(((maDistance)*100)/115);

Enfin, comment ajouter le symbole pourcentage à la fin ?

Merci.

c’est pas compliqué pourtant, sans être expert.
hauteur maxi est une variable, donc il faut la définir.

ca doit donner un truc comme ca

#include <Ultrasonic.h>
Ultrasonic monCapteur( 3 , 2 );   
int maDistance = 0;
int hauteur_maxi = 100;
int hauteur_restante;
float pourcentage;
void setup()
{
 
  Serial.begin( 9600 ); 
}

void loop()
{

 maDistance = monCapteur.convert( monCapteur.timing(), 1 );

 Serial.println(maDistance);

 hauteur_restante = hauteur_maxi - maDistance;

 Serial.print("hauteur restante : );
 Serial.println( hauteur_restante);

pourcentage = (hauteur_restante * 100) / hauteur_maxi;

Serial.print(pourcentage : );
Serial.print( pourcentage, 2);
Serial.pprintln(" %");

}

OK merci beaucoup.