#include <LiquidCrystal.
h>
// Définition des broches du LCD : RS, E, D4, D5, D6, D7
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
int sensorPin = A0; // Broche analogique du capteur Rain Sensor
int sensorValue = 0; // Valeur lue
int percent = 0; // Pourcentage du niveau d'eau
int LED1 = 8;
int LED2 = 9;
int LED3 = 10;
void setup() {
[Link](16, 2); // Initialisation du LCD
[Link](9600); // Initialisation du moniteur série
[Link]("Detecteur Eau"); // Message d'accueil
delay(2000);
[Link]();
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
}
void loop() {
// Lecture du capteur (0 à 1023)
sensorValue = analogRead(sensorPin);
// Conversion en pourcentage (0 à 100%)
percent = map(sensorValue, 0, 1023, 0, 100);
// Envoi au moniteur série
[Link]("Niveau eau : ");
[Link](percent);
[Link]("%");
// Affichage sur LCD
[Link](0, 0);
[Link]("Eau: ");
[Link](percent);
[Link]("% "); // espaces pour effacer les anciens chiffres
// Détermination du niveau
[Link](0, 1);
if (percent < 30) {
[Link]("Niveau: LED1 ");
digitalWrite(LED1,HIGH);
} else if (percent < 70) {
[Link]("Niveau: LED2 ");
digitalWrite(LED2,HIGH);
} else {
[Link]("Niveau: LED3 ");
digitalWrite(LED3,HIGH);
}
delay(1000); // Mise à jour chaque seconde
}