Bonjour,
Je m'intéresse au capteur ST045, mesurant le niveau d'eau. Pour l'instant, je le teste uniquement en le branchant à une carte Uno (+ sur 5V, - sur GND, S sur A1).
J'ai lu beaucoup de documentation à son sujet et théoriquement, il est sensé lire une valeur de tension comprise en 0 et 1023 - proportionnelle à la hauteur d'eau. Je précise que le capteur est neuf, donc pas d'oxydation pouvant fausser les résultats.
En pratique... j'obtiens une valeur de 370 lorsque les pistes sont entièrement immergées ( donc au maximum du niveau d'eau possible...)
Initialement, j'ai utilisé le code suivant :
#define pinSortie A1
int analogWater;
int water;
const int minWater = 0;
const int maxWater = 1023;
void setup() {
pinMode(pinSortie, INPUT);
Serial.begin(9600);
}
void loop() {
analogWater = analogRead(pinSortie);
Serial.print(analogWater);
water = map(analogWater,minWater,maxWater,0,100);
Serial.print(" - Récipient rempli à ");
Serial.print(water);
Serial.println(" %.");
delay(2000);
}
Or, lorsque le capteur est complètement immergé, j'obtiens "370 - Récipient rempli à 36%"
Donc, j'ai modifié ma valeur maximale obtenue pour le calcul du pourcentage. Sauf, que cette fois, en immergeant le capteur à moitié, j'obtiens 70%. En ne mettant que le bas du capteur, j'obtiens 30%...
Bref, ça n'a aucune logique, bien loin de la théorie annoncée ou des vidéos que j'ai pu visionner sur le sujet.
Ma question est la suivante : est-ce un défaut de mon capteur ? (ça serait pas de bol...)
ou les mesures de ce capteurs sont elles un peu fantaisistes et ne permettent pas une mesure fiable d'un niveau d'eau dans un récipient ?
En vous remerciant de votre aide,
Lili
